mcpField
T
threat-modeling

threat-modeling

github.com/hardw00t安全10758 次安装28 周前更新
代码仓库

关于 threat-modeling

用于设计阶段安全分析的技能,可枚举威胁并规划缓解措施。它通过 STRIDE、PASTA、LINDDUN、攻击树、工作流参考、示例和控制目录引导分析。

主要功能

  1. 01支持 STRIDE 等方法
  2. 02OpenAPI 与架构分析流程
  3. 03数据流图和攻击树指导
  4. 04威胁评分与优先级排序
  5. 05缓解措施和控制项映射
  6. 06结构化 JSONL 结果

适用场景

  1. 01审查新系统架构
  2. 02分析 API 规范中的威胁
  3. 03评估数据处理的隐私风险
  4. 04将缓解措施映射到安全控制项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hardw00t/ai-security-arsenal --skill threat-modeling

安装后在 Claude Code 中输入/threat-modeling确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
attack_tree_banking.md
bounty_patterns_2024_2026.md
mermaid_dfd_templates.md
stride_threat_library.md
methodology/
attack_trees.md
dread.md
linddun.md
octave.md
pasta.md
stride.md
references/
control_catalogs.md
framework_comparison.md
trust_boundary_patterns.md
schemas/
finding.json
templates/
stride_table.md
threat_model_report.md
workflows/
attack_tree_from_threat.md
dfd_creation.md
stride_from_arch_docs.md
stride_from_openapi.md
threat_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、description
  • stride_category(包含六个枚举值的数组)
  • element(名称、类型、技术)
  • trust_boundary
  • attack_vector、attacker_profile
  • likelihood、impact、risk_score
  • dread_score(包含 D/R/E/A/D 和平均值的对象)
  • cwe、capec、mitre_attack
  • mitigations(包含 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.mdNIST CSF 2.0、800-53 Rev 5、CIS v8、OWASP ASVS v5、ISO 27001、PCI DSS v4。
references/trust_boundary_patterns.md12 种常见边界模式及其弱点。
references/framework_comparison.md方法论选择决策矩阵。

示例索引

文件内容
examples/mermaid_dfd_templates.md6 个以上可直接改编的 DFD 模板。
examples/stride_threat_library.md按 STRIDE × 元素类型划分的预置威胁。
examples/attack_tree_banking.md完整的攻击树示例:未经授权的资金转账。
examples/bounty_patterns_2024_2026.mdSTRIDE 按元素分类的补充内容,汇总了 38 种 2023 年后公开的漏洞赏金模式。

模板索引

文件内容
templates/threat_model_report.md完整的报告框架。
templates/stride_table.mdSTRIDE 按元素和交互分类的表格。

工具

工具用途安装
OWASP Threat DragonDFD + STRIDE 自动建议npm install -g owasp-threat-dragon
Microsoft Threat Modeling ToolWindows 原生 STRIDE + DFD从 MS 下载
Threagile以代码(YAML)形式进行威胁建模Docker 镜像 threagile/threagile
draw.io / diagrams.net手动编辑 DFDWeb 应用或桌面应用
Mermaid CLI (mmdc)将 Mermaid 渲染为 SVG/PNGnpm 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