iac-scan
Terraform / OpenTofu / Nix / k8sマニフェストの設定ミス検出 — オープンセキュリティグループ、暗号化なし、公開S3/GCS、IAMワイルドカード、平文シークレット、タグ不足などを検出します。IaC PRのレビュー時、`terraform apply` / `tofu apply`のゲート、既存状態のドリフト監査、クラウド設定のコンプライアンスレポート作成時に活用できます。
description の原文を見る
Terraform / OpenTofu / Nix / k8s manifest misconfiguration detection — open security groups, missing encryption, public S3/GCS, IAM wildcards, plaintext secrets, missing tags. Use when reviewing an IaC PR, gating `terraform apply` / `tofu apply`, auditing existing state for drift, or building a compliance report for cloud configuration.
SKILL.md 本文
Vulnetix IaC Scan スキル
使用する場合
- 事前適用:
*.tf/*.tofuの設定ミスをスキャンします。 - PR レビュー: セキュリティグループの開放、平文のシークレット、IAM ワイルドカードを検出します。
- 既存インフラをコンプライアンスベースライン(CIS、NIST)と照合して監査します。
- リポジトリの IaC とデプロイされた状態の間の相違を検出します。
- マージ前: 重大な発見(例: 公開可能な S3)でゲートします。
使用しない場合
- ソースコード SAST —
/vulnetix:sast-scanを使用してください。 - Dockerfile / コンテナ分析 —
/vulnetix:container-scanを使用してください。 - クラウドランタイム監視 — Pix は静的のみです。ランタイムには CSPM を使用してください。
規約
このスキルは _lib/contract.md に従っています。Vulnetix CLI はフックによって自動インストールされ、.vulnetix/capabilities.yaml は常に存在し、すべての vulnetix vdb 呼び出しは _lib/jq/ から検証済みの jq フィルタを通してパイプされ、独立した呼び出しは並行 Bash ツール呼び出しとして実行され、末尾のフォローアップは 1 行に制限されます。出力スタイル、メモリ書き込み規則、クールダウンについては規約を参照してください。
ステップ 1: 機能を読み込む
.vulnetix/capabilities.yaml を読み込みます。derived.has_iac: true または --paths が指定されていることを確認します。そうでない場合は中止します。
ステップ 2: スキャンを実行
vulnetix iac --paths "$PATHS" -o json > .vulnetix/iac.${TIMESTAMP}.json
キャプチャ対象: セキュリティグループの開放、暗号化の欠落、公開 S3/GCS、IAM ワイルドカード、固定されていないプロバイダ、平文のシークレット、タグの欠落、暗号化されていない状態バックエンド。
ステップ 3: レンダリング
| 重大度 | ファイル:行 | リソース | 問題 | 推奨事項 |
ファイルでグループ化します。重大度が高い問題ごとに、修正方法の 2〜3 行のコード例を含めます。
ステップ 4: リスク重ね合わせ
binaries.terraform: true(または tofu)の場合、以下を提案します:
terraform plan -no-color | head -200 # 変更内容のコンテキスト用
このスキルから terraform apply を実行しないでください。
メモリ更新
.vulnetix/iac/<timestamp>.summary.yaml に発見数を記録します。
エッジケースと注意点
derived.has_iac: trueまたは明示的な--pathsが必要です。*.tfファイルがない CWD は空の結果になります。- 検出は静的です — ランタイム変数補間を評価できません。
var.environment == "prod"の条件付きロジックは両方のブランチとして報告されます。 terraform plan統合は参考のみです — このスキルはterraform planを自動実行しません(状態アクセスの懸念から)。- プロバイダ固有のルール(AWS / GCP / Azure)はリソースタイプのプレフィックスで検出されます。リソースをラップするモジュールはタイプを隠すことがあります。
- IaC に存在しない既存インフラ(
terraform importの候補)は検出されません。 - k8s マニフェストサポートは、
kind:が共通のワークロードタイプと一致する*.yamlファイル内のトップレベル YAML に限定されます。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- Vulnetix
- ライセンス
- Apache-2.0
- 最終更新
- 2026/5/11
Source: https://github.com/Vulnetix/pix-ai-coding-assistant / ライセンス: Apache-2.0