关于 Purple Team & Adversary Emulation
Purple Team & Adversary Emulation 是帮助 Claude 规划紫队演练、衡量检测与防护覆盖率的技能,供安全团队协作验证 ATT&CK 技术。它强调授权门槛,并提供从演练结果生成覆盖矩阵、差距清单和 Navigator 图层的脚本。
主要功能
- 01选择桌面推演、微型或完整演练模式
- 02依据威胁情报规划 ATT&CK 技术
- 03执行检测、调优与验证循环
- 04按遥测、检测和防护等级衡量覆盖
- 05生成 Navigator 图层、指标与差距清单
- 06强调授权、协调与安全停止流程
适用场景
- 01规划针对特定威胁行为者的演练
- 02验证新检测规则能否触发及阻止行为
- 03比较历次演练的覆盖变化
- 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
详细介绍
Purple Team 与对手模拟
目的
帮助 Claude 规划并执行 Purple Team 演练:红队和蓝队共同使用相同的 ATT&CK 技术,让每种模拟行为都能为“我们是否发现了它,以及能否阻止它?”提供经过测量的答案。交付成果不是一次攻陷,而是经过验证、量化的检测和防御覆盖率提升。
此技能位于 Skill 14(红队——如何执行进攻性 TTP)与 Skills 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
如果无法确认授权,请将协助范围限制在规划、覆盖率分析、检测工程和桌面推演——这些都不需要实际执行——并明确说明这一点。切勿提供针对用户无法证明已获授权的系统的实战步骤。至于进攻性技术本身,请遵循 Skill 14 的交战规则。
触发条件
用户询问以下内容时,激活此技能:
- 规划 Purple Team 演练、对手模拟计划或入侵与攻击模拟演练
- 选择并模拟特定威胁行为者的 TTP(来自 CTI / ATT&CK 组织)
- Atomic Red Team、MITRE CALDERA、CTID Adversary Emulation Library 或 MITRE Engenuity ATT&CK Evaluations
- 针对某项技术执行“检测 → 调优 → 重新测试”的验证闭环
- 衡量或可视化检测覆盖率(ATT&CK Navigator 图层、DeTT&CT、热力图)
- 衡量各项技术的检测成熟度(无 / 遥测 / 检测 / 防御)
- 红队与蓝队之间的冲突协调,或安全执行攻击技术
- Purple Team 指标——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 — Purple Team 评估跟踪
核心能力
1. 选择演练模式
选择符合成熟度和目标的协作模式:
- 桌面推演 — 在纸面上逐步推演行为者的攻击链;验证每个步骤是否会产生遥测数据以及是否应触发检测。不执行攻击;适用于任何环境,是理想的第一步。
- 微型模拟 — 针对特定技术或新部署的检测执行少量原子测试。反馈迅速,影响范围小。
- 完整战役模拟 — 端到端模拟具名行为者的整个攻击链,由 SOC 实时监控并协作开展。逼真度最高,协调成本也最高。
- 持续/自动化(BAS) — 定期安排自动化测试,持续发现检测退化。
默认选择能回答问题且侵入性最低的模式,只有在有充分理由并获授权时才升级。
2. 基于威胁情报的仿真规划
用户要求规划仿真时:
- 根据情报而非便利性选择对手。 提取与组织所在行业和核心资产相关的攻击者/活动(承接 Skill 21 CTI / Skill 06)。优先选择组织实际面临的攻击者。
- 构建技术列表,梳理该攻击者已知的 TTP,覆盖 ATT&CK 战术(初始访问 → 影响)。对每项记录:技术 ID、战术、具体操作步骤、预期数据源/遥测,以及预期检测结果。
- 按攻击链排序并设定目标——明确每个步骤的“成功”意味着什么(例如,“对服务账户进行 Kerberoast” → 目标:SOC 在 N 分钟内发出警报)。
- 映射到测试来源——Atomic Red Team 测试、CALDERA ability 或有文档记录的手动流程,以确保执行可重复。
- 将计划记录为结构化数据(
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. 覆盖度量与可视化
- 按无/有遥测/已检测/已阻止等级为每项范围内的技术评分,并计算各战术及总体覆盖率。
- 生成 ATT&CK Navigator 图层(根据覆盖情况为技术 ID 着色),使热力图可在不同演练中分享和比较差异。
- 跟踪偏移——将本次演练的图层与上一次进行比较;从已检测退步到有遥测的技术应作为一项发现。
- 避免陷入覆盖率表面文章的陷阱——仅由一条脆弱且误报率高的规则“覆盖”的技术并不算真正覆盖。评估稳健性,并注明对单一特征签名的依赖。
- 使用
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 | ← 技能 21(CTI)和技能 06(威胁狩猎) |
| 执行进攻技术 | → 技能 14(红队行动)——遵守其 RoE |
| 需要为某个缺口编写检测规则 | → 技能 12(日志分析 / Sigma) |
| 需要针对某个缺口制定加固/预防控制措施 | → 技能 15(蓝队防御) |
| 在演练过程中验证 SOC 告警/分流 | → 技能 11(CSOC 运营) |
| 模拟涉及 OT/ICS 环境 | → 技能 18(OT/ICS)——安全优先,仅限非破坏性操作 |
| 演练期间发现真实事件 | → 技能 07(事件响应)——报告并协调处理 |