mcpField
P
Purple Team & Adversary Emulation

Purple Team & Adversary Emulation

github.com/masriyanセキュリティ52739 回インストール1 週間前に更新
リポジトリ

Purple Team & Adversary Emulation について

Purple Team & Adversary Emulationは、Claudeによる紫チーム演習の計画と検知・防止カバレッジの測定を支援するスキルです。ATT&CK技術を共同検証するセキュリティチーム向けで、実行結果からカバレッジレポートやギャップを作成するスクリプトと、認可確認の手順を備えます。

主な機能

  1. 01机上、マイクロ、全キャンペーン型の選択
  2. 02脅威インテリジェンスに基づくATT&CK技術の計画
  3. 03検知・調整・検証ループの実施
  4. 04テレメトリー、検知、防止のカバレッジ評価
  5. 05Navigatorレイヤー、指標、ギャップ一覧の生成
  6. 06認可、デコンフリクション、中止手順の確認

活用シーン

  1. 01特定の脅威アクターを想定した演習計画
  2. 02新しい検知ルールの発報・防止能力の検証
  3. 03演習間のカバレッジ変化の比較
  4. 04テレメトリー、検知、強化の不足項目の管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/masriyan/claude-code-cybersecurity-skill --skill purple-team-&-adversary-emulation

インストール後、Claude Code で/purple-team-&-adversary-emulationを入力して読み込まれたか確認します。

同梱ファイルexamples/example_usage.mdscripts/detection_validator.py

詳細

パープルチームと敵対者エミュレーション

目的

Claude が パープルチーム の取り組みを計画・実施できるようにします。レッドチームとブルーチームが同じ ATT&CK の手法に共同で取り組み、エミュレートしたすべての挙動について、「検知できたか、阻止できたか」という問いに対する測定可能な答えを得ます。成果物は侵害ではなく、検知と防御のカバレッジを検証し、定量化した改善です。

このスキルは、スキル 14(レッドチーム — 攻撃的な TTP を実行する方法)と、スキル 15/12/11(ブルーチーム、SIEM/Sigma、SOC — 検知して対応する方法)の間に位置します。協調的な反復プロセスとカバレッジ測定を提供し、単発の調査結果を永続的な検知につなげます。


⚠️ 認可ゲート — 先にお読みください

敵対者エミュレーションでは、実際のシステムに対して実際の攻撃手法を実行します。運用支援(テストの実行、ペイロード、C2、実地演習の手順)を提供する前に、以下を確認してください。

[ ] Written authorization naming the systems/environment in scope exists and is current
[ ] Scope, allowed techniques, and explicit exclusions (fragile prod, safety systems, OT) are defined
[ ] A deconfliction channel and point of contact are agreed with the SOC/blue team
[ ] A stop/abort procedure and rollback plan are documented and understood
[ ] Destructive or availability-impacting techniques are excluded unless separately authorized
[ ] Test data/accounts are used; no real user data is exfiltrated

認可を確認できない場合は、実行を伴わない計画、カバレッジ分析、検知エンジニアリング、机上演習に支援を限定し、その旨を明示してください。ユーザーが認可を示せないシステムに対して、実地演習の手順を提供してはいけません。攻撃的な手法については、スキル 14 の交戦規定に従ってください。


発動条件

ユーザーが以下について尋ねた場合、このスキルが発動します。

  • パープルチームの取り組み、敵対者エミュレーション計画、侵害・攻撃シミュレーション演習の計画
  • 特定の脅威アクターの TTP(CTI/ATT&CK グループに基づく)の選定とエミュレーション
  • Atomic Red Team、MITRE CALDERA、CTID Adversary Emulation Library、MITRE Engenuity ATT&CK Evaluations
  • ある手法についての検知 → 調整 → 再テストの検証サイクル
  • 検知カバレッジの測定や可視化(ATT&CK Navigator のレイヤー、DeTT&CT、ヒートマップ)
  • 手法ごとの検知成熟度(なし/テレメトリー/検知/防御)
  • レッドチームとブルーチーム間の調整、または攻撃手法の安全な実行
  • パープルチームの指標 — MTTD/MTTR、検知率、手法ごとの検知所要時間、ギャップのバックログ

前提条件

python3 --version          # 3.10+; standard library only for the core script
pip install pyyaml         # optional — only to load emulation plans written in YAML

任意の拡張ツール:

  • Atomic Red Team — ATT&CK にマッピングされた小規模テストのライブラリ
  • MITRE CALDERA — 自動敵対者エミュレーションプラットフォーム
  • CTID Adversary Emulation Library — アクターを包括的にエミュレートする計画
  • DeTT&CT — データソースと検知カバレッジのスコアリング
  • ATT&CK Navigator — カバレッジのヒートマップ
  • VECTR — パープルチーム評価の追跡

主な機能

1. 取り組みモデルの選択

成熟度と目標に合った協力モデルを選択します。

  • 机上エミュレーション — アクターのキルチェーンを机上でたどり、各ステップでテレメトリーが生成されるか、検知が作動するはずかを確認します。実行を伴わず、どこでも安全に実施でき、初回の確認に最適です。
  • マイクロエミュレーション — 特定の手法や新たに導入した検知に対して、少数のアトミックテストを実施します。フィードバックが速く、影響範囲も小さく抑えられます。
  • キャンペーン全体のエミュレーション — SOC がリアルタイムで監視する中、名前の付いたアクターのキルチェーン全体を共同でエミュレートします。忠実度は最も高い一方、調整コストも最も高くなります。
  • 継続的/自動化(BAS) — 検知のデグレードを長期的に発見できるよう、テストを定期的に自動実行します。

問いに答えるために必要な範囲で、最も侵襲性の低いモデルを選び、必要性と認可がある場合に限って段階的に進めてください。

2. 脅威情報に基づくエミュレーション計画

ユーザーからエミュレーションの計画を求められた場合:

  1. 都合ではなく、インテリジェンスに基づいて敵対者を選びます。 組織の業種と最重要資産に関連する攻撃者/キャンペーンを特定します(Skill 21 CTI/Skill 06 から引き継ぎます)。組織が実際に直面している攻撃者を優先します。
  2. ATT&CK の戦術(初期アクセス → 影響)に沿って攻撃者の既知の TTP をたどり、手法のリストを作成します。 各手法について、手法 ID、戦術、具体的な攻撃手順、想定されるデータソース/テレメトリ、想定される検知を記録します。
  3. キルチェーンに沿って順序を決め、目標を設定します — 各ステップの「成功」の定義(例:「サービスアカウントを Kerberoast する」→ 目標:SOC が N 分以内にアラートを発する)。
  4. テストソースに対応付けます — Atomic Red Team のテスト、CALDERA のアビリティ、または文書化された手動手順を使い、実行を再現可能にします。
  5. 計画を構造化データとして記録します(scripts/detection_validator.py は JSON/YAML の計画を読み込みます)。再テストを通じて結果を追跡できるようにします。
3. 検知–調整–検証のループ

各手法について、共同作業のループを実施し、結果を記録します。

Execute technique (red, announced to blue)
        ↓
Confirm telemetry exists  ──no──▶ GAP: missing data source  → Skill 15 (onboard log source)
        ↓ yes
Confirm a detection fires  ──no──▶ GAP: no detection         → Skill 12 (write Sigma) / Skill 15
        ↓ yes
Was it prevented?          ──no──▶ note: detect-only          → hardening backlog → Skill 15
        ↓
Measure time-to-detect, tune false positives, re-test to confirm the fix

各手法の結果を次の段階に分類します。なし(テレメトリなし)→ テレメトリ(データは存在するが、アラートなし)→ 検知(アラートが発生)→ 防止(ブロックされる)。テレメトリと検知の間のギャップこそ、パープルチームの取り組みが最も価値を発揮する領域です。

4. カバレッジの測定と可視化
  1. 対象範囲内のすべての手法を「なし/テレメトリ/検知/防止」の段階でスコア化し、戦術ごと、および全体のカバレッジを算出します。
  2. ATT&CK Navigator レイヤーを作成します(カバレッジに応じて手法 ID を色分けします)。ヒートマップをエンゲージメント間で共有し、差分を確認できるようにします。
  3. 変化を追跡します — 今回のエンゲージメントのレイヤーを前回のものと比較します。「検知」から「テレメトリ」に後退した手法は、所見として扱います。
  4. 見せかけのカバレッジに陥らないようにします — 誤検知が多く、脆弱なルールが 1 つあるだけでは、その手法をカバーしているとは言えません。堅牢性を考慮し、単一シグネチャへの依存を記録します。
  5. scripts/detection_validator.py を使って、結果計画から戦術ごとのカバレッジマトリックス、Navigator レイヤー、MTTD 統計、優先順位付けされたギャップのリストを生成します。
5. 安全な実行と調整
  • すべてのアクションを合意済みのチャネルでタイムスタンプとともにブルーチームに通知します。演習中に発生した実際の侵入がテストと誤認されないようにし、逆の場合も同様にします。
  • 影響範囲を限定します — テストアカウント、テストデータ、本番以外のホスト、または範囲を明確に限定したホストを使用します。別途承認を得ずに、破壊的な手法や可用性に影響する手法を実施してはいけません(物理的な影響があり得る OT/ICS については Skill 18 を参照してください)。
  • 中止手段を用意します — すべての攻撃活動を停止する、合意済みの単一のシグナルと、加えた変更を元に戻す手順を用意します。
  • すべてを記録します — コマンド、時刻、担当者、対象、想定と実際の結果を記録し、結果の追跡と再現ができるようにします。
6. 指標とレポート

活動内容ではなく、結果を報告します。

  • 検知率 — 実行した手法のうち、検知が発生した割合。防止率 — ブロックされた割合。
  • MTTD/MTTR — 手法ごと、および全体の平均検知時間/平均対応時間。最も時間がかかったものを明記します。
  • カバレッジの変化 — 前回のエンゲージメントと比較した改善。
  • 修正バックログ — 各ギャップを、担当者と優先度を設定した実行可能な項目(ログソースの不足、新たに作成すべき検知、強化の変更など)としてまとめ、Skills 15/12/11 に引き継ぎます。

出力テンプレート

# Purple Team Engagement Report
**Engagement:** [Name]  |  **Date:** [YYYY-MM-DD]
**Emulated adversary:** [Actor / campaign]  |  **Model:** [Tabletop / Micro / Full-campaign / BAS]
**Authorization:** [reference]  |  **Deconfliction POC:** [name/channel]

---

## Executive Summary
[2–3 sentences: techniques run, detection rate, prevention rate, top gap, coverage delta.]

## Coverage Scorecard
| Metric | Result |
|--------|--------|
| Techniques executed | N |
| Detected | N (xx%) |
| Prevented | N (xx%) |
| Mean time-to-detect | mm:ss |
| Coverage delta vs. prior | +/- x techniques |

## Per-Technique Results
| Tactic | Technique (ID) | Executed | Data source | Outcome | TTD | Detection / Gap |
|--------|----------------|----------|-------------|---------|-----|-----------------|
| Credential Access | Kerberoasting (T1558.003) | ✅ | Security 4769 | detection | 04:12 | Sigma: rc4 TGS request |
| Defense Evasion | Clear Windows Event Logs (T1070.001) | ✅ | Security 1102 | telemetry | — | GAP: no alert on 1102 |

## Coverage Heatmap
[ATT&CK Navigator layer attached: `navigator_layer.json`]

## Prioritized Remediation Backlog
| Priority | Gap | Action | Owner | Handoff |
|----------|-----|--------|-------|---------|
| High | No alert on log clearing | Write Sigma for EID 1102 | Detection Eng | → Skill 12 |
| Med | RDP lateral movement detect-only | Add prevention control | Blue Team | → Skill 15 |

スクリプトリファレンス

detection_validator.py
# Score an emulation results plan: coverage matrix, MTTD, gaps
python scripts/detection_validator.py --plan results.json

# Also emit an ATT&CK Navigator layer and a JSON report
python scripts/detection_validator.py --plan results.json \
    --navigator navigator_layer.json --output report.json

# Compare against a previous engagement to compute coverage drift
python scripts/detection_validator.py --plan results.json --baseline prior.json

# Self-contained demo with a built-in sample emulation plan
python scripts/detection_validator.py --demo

計画は、テスト項目の JSON(または pyyaml を使った YAML)リストです。各項目には technique_id、technique、tactic、executed、data_source、outcome(none/telemetry/detection/prevention)、および任意の time_to_detect_seconds を指定します。このスクリプトは、戦術ごと、および全体のカバレッジ、検知率/防止率、MTTD、優先順位付けされたギャップのリスト、ATT&CK Navigator レイヤーを算出します。スコアは計画に記録された内容のみを反映します。これは記録された結果を検証するものであり、何かを実行するものではありません。


スキルの連携

条件次のスキル
エミュレートする敵対者/TTPを選定する場合← Skill 21 (CTI) and Skill 06 (Threat Hunting)
攻撃手法を実行する場合→ Skill 14 (Red Team Operations) — そのRoEに従う
検知ルールの作成が必要な場合→ Skill 12 (Log Analysis / Sigma)
強化/防止のための制御が必要な場合→ Skill 15 (Blue Team Defense)
SOCのアラート対応/トリアージを演習に組み込んで検証する場合→ Skill 11 (CSOC Operations)
エミュレーションがOT/ICS環境に及ぶ場合→ Skill 18 (OT/ICS) — 安全を最優先し、破壊的でない方法に限る
演習中に実際のインシデントが発見された場合→ Skill 07 (Incident Response) — 申告して調整する

参考資料

コメント