关于 threat-modeling
用于设计阶段安全分析的技能,可枚举威胁并规划缓解措施。它通过 STRIDE、PASTA、LINDDUN、攻击树、工作流参考、示例和控制目录引导分析。
主要功能
- 01支持 STRIDE 等方法
- 02OpenAPI 与架构分析流程
- 03数据流图和攻击树指导
- 04威胁评分与优先级排序
- 05缓解措施和控制项映射
- 06结构化 JSONL 结果
适用场景
- 01审查新系统架构
- 02分析 API 规范中的威胁
- 03评估数据处理的隐私风险
- 04将缓解措施映射到安全控制项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hardw00t/ ai-security-arsenal --skill threat-modeling安装后在 Claude Code 中输入/threat-modeling确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/attack_tree_banking.mdbounty_patterns_2024_2026.mdmermaid_dfd_templates.mdstride_threat_library.mdmethodology/attack_trees.mddread.mdlinddun.mdoctave.mdpasta.mdstride.mdreferences/control_catalogs.mdframework_comparison.mdtrust_boundary_patterns.mdschemas/finding.jsontemplates/stride_table.mdthreat_model_report.mdworkflows/attack_tree_from_threat.mddfd_creation.mdstride_from_arch_docs.mdstride_from_openapi.mdthreat_to_mitigation.md详细介绍
威胁建模
设计阶段的对抗性分析:枚举针对系统的威胁并指定缓解措施。此技能会引导至方法论文件、工作流操作手册、示例库和控制措施目录参考。深入的对抗性推理是其核心价值所在——请投入足够的思考预算进行威胁枚举。
适用场景
- 新系统或重大架构变更需要安全审查。
- 已有 OpenAPI / AsyncAPI 规范,希望自动对每个交互进行 STRIDE 分析。
- 架构文档或图表需要进行威胁分析。
- 某个高影响威胁需要深入分析攻击树。
- 隐私 / 个人数据处理需要进行威胁分析(LINDDUN)。
- 需要将缓解措施映射到 NIST CSF / NIST 800-53 / CIS / OWASP ASVS。
- 需要为利益相关者 / 审计人员编写威胁模型报告。
- 需要按风险评分对现有威胁清单进行排序。
触发短语
- “对这个应用程序 / 服务 / API 进行威胁建模”
- “使用 STRIDE / PASTA / LINDDUN 识别威胁”
- “创建数据流图 / DFD”
- “分析攻击面”
- “为 X 构建攻击树”
- “将这些威胁映射到 NIST / ASVS / CIS 控制措施”
不适用此技能的场景
- 对运行中的端点进行运行时 API 测试 / 利用 → 使用
api-security(此技能用于识别威胁;api-security用于确认是否可利用)。 - 在代码库中发现代码级漏洞(SAST/DAST/SCA)→ 使用
sast-orchestration。 - 扫描容器镜像中的 CVE → 使用
container-security。 - 云安全态势配置错误 → 使用
iac-security/ cloud-security 技能。 - 处理正在发生的入侵事件 → 此技能用于设计阶段;应改用事件响应操作手册。
- 仅进行合规差距分析(不枚举威胁)→ 使用合规技能;再将结果反馈到此处以推动设计变更。
决策树
1. Have an OpenAPI / AsyncAPI spec?
→ workflows/stride_from_openapi.md (highest-leverage entry point)
2. Have architecture docs or diagrams (or diagram images)?
→ workflows/stride_from_arch_docs.md
(if diagrams only, first workflows/dfd_creation.md)
3. Need a DFD from scratch?
→ workflows/dfd_creation.md (emit Mermaid)
4. Already have a high-level threat; need deep path analysis?
→ workflows/attack_tree_from_threat.md
5. Have threats; need mitigations + catalog mappings?
→ workflows/threat_to_mitigation.md
6. Privacy-specific modeling?
→ methodology/linddun.md
7. Enterprise-wide risk?
→ methodology/octave.md
8. Unsure which methodology?
→ references/framework_comparison.md
并行处理提示
可并行处理:
- 按元素进行 STRIDE 分析:在整个 DFD 中,每个元素分配一个子 Agent。
- 按类别进行 STRIDE 分析:在整个系统中,每个 STRIDE 字母(S、T、R、I、D、E)分配一个子 Agent。
- 攻击树子分支:每个第一级 OR 分支彼此独立。
- 信任边界深入分析:每个边界分配一个子 Agent。
- OpenAPI 操作分析:由多个子 Agent 分批分析操作(例如按标签分组)。
- 控制措施目录映射:每项发现分配一个子 Agent。
按顺序处理(不要并行):
- 构建 DFD → 枚举威胁(必须先有 DFD)。
- 枚举威胁 → 确定优先级(需要完整清单才能排序)。
- 设计缓解措施 → 评估剩余风险。
- 选择主要威胁 → 构建攻击树。
子 Agent 委派
推荐模式:
| 模式 | 子 Agent 数量 | 适用场景 |
|---|---|---|
| 按 STRIDE 类别 | 6(S、T、R、I、D、E) | 对整个系统进行全面枚举——每个子 Agent 针对所有元素,专注于一个类别进行对抗性推理。 |
| 按信任边界 | 每个边界 1 个 | 深入分析多区域系统;每个子 Agent 负责其边界上的跨边界威胁。 |
| 按子系统 | 每个服务 / 组件 1 个 | 微服务架构——每个子 Agent 对其服务进行威胁建模,然后通过合并步骤去重。 |
| 按攻击树分支 | 每个第一级 OR 子节点 1 个 | 并行扩展攻击树。 |
| 按 OpenAPI 标签组 | 每个标签 1 个 | 大型规范——按标签拆分操作。 |
始终指定一个合并 Agent,用于对发现去重(多个子 Agent 提出的相同威胁)并协调不一致的风险评分。
推理预算
**扩展思考是这项技能的核心。**威胁识别是一项对抗性创造任务——如果不启用扩展思考,模型总是会漏掉威胁。
以下任务启用扩展思考:
- 初始威胁枚举(逐元素和逐交互)
- 信任边界跨越分析
- 生成攻击树分支(
workflows/attack_tree_from_threat.md的步骤 2) - 叶节点注释——准确估算概率和成本
- 发现文档未提及的新型滥用案例
- 判断架构是存在歧义还是可以佐证
以下任务关闭扩展思考:
- 将发现整理为
schemas/finding.json格式 - 根据已知 DFD 结构生成 Mermaid
- 查询控制 ID(
references/control_catalogs.md是确定性的) - 根据模板编制报告
预算指导:将约 70% 的扩展思考 token 分配给枚举,约 20% 分配给攻击树深度,约 10% 分配给优先级排序/控制缺口分析。
多模态挂钩
- 输入图表 → 输出 Mermaid:收到架构图图片时,先将其重新输出为 Mermaid,再进行分析(可揭示歧义,并生成可复用的产物)。
- 输出 DFD → Mermaid:默认渲染格式。大多数聊天界面都支持内嵌渲染。
- 复杂图表(部署视图、包含许多组件):使用 PlantUML(
@startuml)或 Graphviz DOT。 - 攻击树:使用 Graphviz 或 Mermaid
flowchart TD。 - 模板库:参见
examples/mermaid_dfd_templates.md,获取可直接调整使用的图表。
结构化输出
所有威胁均须符合 schemas/finding.json。关键字段:
threat_id、title、descriptionstride_category(包含六个枚举值的数组)element(名称、类型、技术)trust_boundaryattack_vector、attacker_profilelikelihood、impact、risk_scoredread_score(包含 D/R/E/A/D 和平均值的对象)cwe、capec、mitre_attackmitigations(包含 control/type/status 的数组)control_mappings(映射到 NIST/CIS/ASVS/ISO/PCI 的数组)residual_risk、status
批量发现结果以 JSONL 格式输出;供人工审查的结果则按报告模板输出。
工作流索引
| 工作流 | 用途 |
|---|---|
| workflows/dfd_creation.md | 使用 Mermaid 构建 Level-0/Level-1 DFD;识别信任边界。 |
| workflows/stride_from_openapi.md | **关键工作流。**OpenAPI/AsyncAPI 规范 → STRIDE 逐交互表。 |
| workflows/stride_from_arch_docs.md | 架构文档(+可选的图表图片)→ 完整威胁模型。 |
| workflows/attack_tree_from_threat.md | 高层威胁 → 具体攻击树、最低成本路径分析。 |
| workflows/threat_to_mitigation.md | 发现结果 → 缓解措施 + NIST/CIS/ASVS 控制 ID。 |
方法论索引
| 文件 | 适用情况 |
|---|---|
| methodology/stride.md | 默认。逐元素和逐交互分析。 |
| methodology/pasta.md | 适用于受监管/业务对齐的场景;分 7 个阶段。 |
| methodology/attack_trees.md | 针对单一目标深入分析;AND/OR 分解。 |
| methodology/dread.md | 快速评分;包含批评意见和替代方案。 |
| methodology/linddun.md | 注重隐私(GDPR/CCPA/HIPAA)。 |
| methodology/octave.md | 企业级、资产驱动。 |
参考资料索引
| 文件 | 内容 |
|---|---|
| references/control_catalogs.md | NIST CSF 2.0、800-53 Rev 5、CIS v8、OWASP ASVS v5、ISO 27001、PCI DSS v4。 |
| references/trust_boundary_patterns.md | 12 种常见边界模式及其弱点。 |
| references/framework_comparison.md | 方法论选择决策矩阵。 |
示例索引
| 文件 | 内容 |
|---|---|
| examples/mermaid_dfd_templates.md | 6 个以上可直接改编的 DFD 模板。 |
| examples/stride_threat_library.md | 按 STRIDE × 元素类型划分的预置威胁。 |
| examples/attack_tree_banking.md | 完整的攻击树示例:未经授权的资金转账。 |
| examples/bounty_patterns_2024_2026.md | STRIDE 按元素分类的补充内容,汇总了 38 种 2023 年后公开的漏洞赏金模式。 |
模板索引
| 文件 | 内容 |
|---|---|
| templates/threat_model_report.md | 完整的报告框架。 |
| templates/stride_table.md | STRIDE 按元素和交互分类的表格。 |
工具
| 工具 | 用途 | 安装 |
|---|---|---|
| OWASP Threat Dragon | DFD + STRIDE 自动建议 | npm install -g owasp-threat-dragon |
| Microsoft Threat Modeling Tool | Windows 原生 STRIDE + DFD | 从 MS 下载 |
| Threagile | 以代码(YAML)形式进行威胁建模 | Docker 镜像 threagile/threagile |
| draw.io / diagrams.net | 手动编辑 DFD | Web 应用或桌面应用 |
Mermaid CLI (mmdc) | 将 Mermaid 渲染为 SVG/PNG | npm install -g @mermaid-js/mermaid-cli |
| Graphviz | 攻击树、DOT 渲染 | apt install graphviz / brew install graphviz |
| PlantUML | 复杂图表 | apt install plantuml |
上次验证时间
2026-04。参考目录:NIST CSF 2.0、NIST 800-53 Rev 5、CIS Controls v8、OWASP ASVS v5、PCI DSS v4.0、ISO/IEC 27001:2022。
评论
支持 Markdown