Anthropic-Cybersecurity-Skills 云攻击仿真实战:Stratus Red Team 命令参考与 warmup-detonate-revert-cleanup 生命周期详解
【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills
本指南以开源仓库 Anthropic-Cybersecurity-Skills 中「emulating-cloud-attacks-with-stratus-red-team」技能(api-reference.md)为核心,完整讲解 Stratus Red Team 的命令体系、技术目录过滤、状态机与配置方式,并结合仓库配套的 agent.py 自动化脚本,演示如何在 AWS/Azure/GCP/Kubernetes 上执行可重复、可回滚的云攻击仿真与检测验证。读完本文,你将掌握list/show/warmup/detonate/revert/cleanup/status全命令链,并能在自己授权的实验环境中跑通一次完整的紫队(Purple Team)演练。
一、Stratus Red Team 是什么
Stratus Red Team 是 Datadog 维护的开源工具,被社区称为「云的 Atomic Red Team」。它是一个自包含的 Go 二进制,以编程方式「引爆」(detonate)针对 AWS、Azure、GCP 和 Kubernetes 的细粒度、有完整文档的进攻技术,随后可干净地回滚(revert)并移除(cleanup)它创建的一切资源。它不是一个完整的利用框架,而是为检测工程与紫队演练而生的:每项技术都映射到 MITRE ATT&CK 战术,并附有它生成的云 API 调用的精确描述,蓝队借此确认自己的 CloudTrail / GuardDuty / Sentinel / Falco 检测规则是否真正触发。
在本仓库中,该技能位于 skills/emulating-cloud-attacks-with-stratus-red-team/,属于 Cloud Security 领域,映射了 NIST CSF 2.0 的DE.CM-01(网络与网络服务被监控以发现潜在不利事件)以及 MITRE ATT&CK 的T1078(有效账户)等战术。
二、安装与身份确认
2.1 三种安装方式
| 方式 | 命令 |
|---|---|
| Go 源码安装(需 Go 1.23+) | go install -v github.com/datadog/stratus-red-team/v2/cmd/stratus@latest |
| Homebrew | brew tap datadog/stratus-red-team https://github.com/DataDog/stratus-red-team后brew install datadog/stratus-red-team/stratus-red-team |
| Docker | docker run --rm -v $HOME/.stratus-red-team/:/root/.stratus-red-team/ -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN ghcr.io/datadog/stratus-red-team list |
Docker 方式需把宿主的~/.stratus-red-team/状态目录挂载进容器,并把 AWS 环境变量透传进去。Terraform 已内嵌在二进制中,无需单独安装,但首次 warmup 需要出网 HTTPS 以下载 provider 插件。
2.2 引爆前的身份验证
Stratus 使用你登录的标准云 SDK 凭据链运行,因此它拥有的权限就是你认证身份的权限:
# AWS —— 引爆前务必确认身份 export AWS_PROFILE=stratus-lab aws sts get-caller-identity # Azure az login # GCP gcloud auth application-default login # Kubernetes kubectl config current-context只应在专用、非生产的实验室账户/订阅中运行,因为技术会创建真实资源并产生账单。
三、生命周期命令参考(核心)
references/api-reference.md给出了完整的命令清单,这是 Stratus 的骨架。每一项技术都有确定性的生命周期:先用内嵌 Terraform 预置所需基础设施(warmup),再执行恶意动作(detonate),可选地revert副作用以便再次引爆,最后cleanup移除预置基础设施。
| 命令 | 说明 |
|---|---|
stratus list | 列出全部可用攻击技术 |
stratus list --platform aws | 按平台过滤(aws、azure、gcp、kubernetes、eks) |
stratus list --mitre-attack-tactic credential-access | 按 MITRE ATT&CK 战术过滤 |
stratus show <technique-id> | 打印某技术的完整描述与引爆(detonation)细节 |
stratus warmup <technique-id> | 只预置前置基础设施(Terraform),不发起攻击 |
stratus detonate <technique-id> | 执行攻击动作(如需会自动隐式 warmup) |
stratus detonate <id> --force | 强制在引爆前重新 warmup |
stratus status | 显示所有技术的生命周期状态(COLD/WARM/DETONATED) |
stratus revert <technique-id> | 撤销引爆副作用,保留前置条件 |
stratus cleanup <technique-id> | 移除某项技术的前置基础设施 |
stratus cleanup --all | 移除 Stratus 曾预置的全部基础设施 |
stratus version | 打印 Stratus Red Team 版本 |
因为前置条件和攻击动作是解耦的,你可以反复引爆同一技术来迭代检测规则,而无需重新预置资源。
四、状态与配置
| 配置项 | 值 |
|---|---|
| 状态目录 | ~/.stratus-red-team/(存放 Terraform 二进制、provider 插件、逐技术状态) |
| AWS 凭据 | 标准 AWS SDK 链(AWS_PROFILE、AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_SESSION_TOKEN) |
| Azure 凭据 | az login/ Azure SDK 环境链 |
| GCP 凭据 | Application Default Credentials(gcloud auth application-default login) |
| Kubernetes | 当前活跃的kubectlcontext / kubeconfig |
状态目录保存 Terraform 状态,在 cleanup 完成前必须保留,否则可能遗留资源。务必使用实验室身份运行,绝不要用生产凭据。
生命周期状态机
| 状态 | 含义 |
|---|---|
| COLD | 未预置任何前置条件,无需清理 |
| WARM | 前置条件已预置,但尚未引爆 |
| DETONATED | 已执行攻击动作,存在副作用 |
五、技术目录与示例 ID
Stratus 的技术 ID 采用平台.战术.动作三段式命名。api-reference.md列举了以下代表性技术:
| 技术 ID | 战术 |
|---|---|
aws.credential-access.ec2-steal-instance-credentials | Credential Access(凭据访问) |
aws.persistence.iam-create-admin-user | Persistence(持久化) |
aws.exfiltration.ec2-share-ebs-snapshot | Exfiltration(数据外泄) |
aws.discovery.ec2-enumerate-from-instance | Discovery(发现) |
gcp.persistence.create-admin-service-account | Persistence(持久化) |
azure.execution.vm-custom-script-extension | Execution(执行) |
k8s.persistence.create-admin-clusterrole | Persistence(持久化) |
结合 standards.md 的映射,这些技术对应 ATT&CK 云战术,例如aws.exfiltration.ec2-share-ebs-snapshot对应T1530(云存储数据)、aws.persistence.iam-create-admin-user对应T1098(账户操纵)、discovery 类对应T1580(云基础设施发现)。
六、完整实战工作流(结合 SKILL.md 与 agent.py)
6.1 手动全流程
# 1. 确认身份并浏览目录 aws sts get-caller-identity stratus list stratus list --platform aws stratus list --mitre-attack-tactic credential-access # 2. 引爆前先查看技术详情 stratus show aws.credential-access.ec2-steal-instance-credentials # 3. Warmup 预置基础设施 stratus warmup aws.credential-access.ec2-steal-instance-credentials stratus status # 应为 WARM # 4. 引爆(隐式 warmup;--force 可强制重新 warmup) stratus detonate aws.credential-access.ec2-steal-instance-credentials stratus detonate aws.persistence.iam-create-admin-user --force # 5. 核对状态并拉取遥测 stratus status aws cloudtrail lookup-events \ --lookup-attributes AttributeKey=EventName,AttributeValue=CreateAccessKey \ --max-results 10 # 6. 验证检测(以 GuardDuty 为例) aws guardduty list-findings --detector-id "$DETECTOR_ID" \ --finding-criteria '{"Criterion":{"updatedAt":{"GreaterThanOrEqual":'"$(date -d '-1 hour' +%s)"'000}}}' # 7. Revert 副作用,保留前置条件以再次引爆 stratus revert aws.credential-access.ec2-steal-instance-credentials stratus detonate aws.credential-access.ec2-steal-instance-credentials # 8. 清理全部基础设施,并确认回到 COLD stratus cleanup aws.credential-access.ec2-steal-instance-credentials stratus cleanup --all stratus status6.2 检测-验证映射
引爆后应按下表将遥测与检测规则配对,端到端确认「数据源 → SIEM → 告警工单」链路;若未触发即发现覆盖缺口,应记录后再清理:
| 技术 | 预期遥测 | 待验证的检测 |
|---|---|---|
aws.credential-access.ec2-steal-instance-credentials | CloudTrail 中从非 EC2 IP 使用实例角色凭据 | GuardDutyUnauthorizedAccess:IAMUser/InstanceCredentialExfiltration |
aws.persistence.iam-create-admin-user | CreateUser+AttachUserPolicy(AdministratorAccess) | CloudTrail/Sentinel 对管理员策略附加的规则 |
aws.exfiltration.ec2-share-ebs-snapshot | ModifySnapshotAttribute共享给外部账户 | GuardDutyExfiltration:EC2/...或自定义规则 |
aws.discovery.ec2-enumerate-from-instance | 来自实例角色的Describe*爆发式调用 | 枚举爆发检测 |
6.3 用 agent.py 程序化驱动覆盖测试
仓库的 scripts/agent.py 把上述生命周期封装成了可脚本化的 CLI,核心逻辑在lifecycle()函数中按 warmup → detonate →(可选 revert)→ cleanup 顺序调用subprocess驱动stratus命令,并解析list输出中的技术 ID(判断依据是形如aws.persistence.iam-create-admin-user且包含至少两个点的 token)。
# 列出匹配技术 python scripts/agent.py --list --platform aws # 引爆单个技术并清理 python scripts/agent.py --technique aws.credential-access.ec2-steal-instance-credentials --detonate --cleanup # 按平台 + 战术批量引爆并清理(覆盖度测试) python scripts/agent.py --platform aws --tactic credential-access --detonate --cleanup脚本支持参数:--platform(aws|azure|gcp|kubernetes|eks)、--tactic(MITRE 战术,如credential-access)、可重复的--technique、--detonate、--revert、--cleanup与--json(输出 JSON 汇总)。若被中断,脚本会提示运行stratus cleanup --all清除残留基础设施。注意 agent.py 需要stratus二进制在PATH中(由require_stratus()检查),并对每条stratus子命令设置了 900 秒超时。
七、Go SDK 程序化使用
除了 CLI,Stratus 还暴露了 Go 包github.com/datadog/stratus-red-team/v2/pkg/stratus/runner,可嵌入到自研工具中,以编程方式对技术执行 warmup、detonate、revert 和 cleanup——适合把云攻击仿真集成进 CI 流水线或紫队自动化平台。
八、成本与安全注意事项
- 部分技术会预置计费资源(EC2 实例、EBS 快照)。每次测试后务必运行
stratus cleanup --all,并用stratus status确认全部技术回到 COLD。 - 绝不要用生产凭据运行 Stratus;使用专用实验室账户/订阅。
- 保留
~/.stratus-red-team/状态目录直至 cleanup 完成,否则可能遗留孤儿资源。 - 本技能仅限授权安全测试与检测验证;对未授权系统使用非法。
九、验收清单
- Stratus 已安装且
stratus list返回技术目录 - 已通过
sts get-caller-identity或等价命令确认目标云身份 - 引爆前用
stratus show检查过技术 - warmup 完成且状态为 WARM
- 引爆完成且状态为 DETONATED
- 在 CloudTrail/GuardDuty/SIEM 中定位到生成的遥测
- 检测规则确认触发(或已记录覆盖缺口)
- 技术已 revert 并再次引爆以确认可重复性
- 已运行
stratus cleanup --all且全部技术状态为 COLD - 账户中无遗留计费资源
十、延伸阅读
本仓库其他相关资源可辅助你构建完整的云检测验证闭环:
- 技能主文档 SKILL.md:完整的工作流、前置条件与验收标准
- 标准与框架映射 standards.md:NIST CSF 2.0 与 MITRE ATT&CK 映射详情
- 自动化脚本 agent.py:批量覆盖度测试的参考实现
- ATT&CK Navigator 层:可视化查看本仓库各技能对 ATT&CK 矩阵的覆盖(可通过 mappings/README.md 的说明导入 Navigator)
- ATTACK_COVERAGE.md:仓库级 ATT&CK 覆盖统计
【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考