mcpField
T
threat-model

threat-model

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

关于 threat-model

面向系统设计者与安全审查人员的结构化威胁建模技能,结合 STRIDE、DREAD、PASTA 和攻击树分析,输出威胁目录、风险矩阵及缓解路线图。

主要功能

  1. 01STRIDE 威胁识别
  2. 02DREAD 风险评分
  3. 03PASTA 流程分析
  4. 04攻击树分解
  5. 05MITRE ATT&CK 映射
  6. 06高风险缓解路线图

适用场景

  1. 01系统设计阶段识别安全风险
  2. 02准备安全审计或合规评估
  3. 03重大架构变更后重新评估攻击面

安装

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

$npx skills add https://github.com/woohyun212/security-skill --skill threat-model

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

附带文件REFERENCE.md

详细介绍

此技能的功能

使用行业标准框架,为目标系统开展结构化威胁建模练习:STRIDE(威胁分类)、DREAD(风险评分)、PASTA(流程驱动方法)和攻击树(攻击分解)。生成包含 MITRE ATT&CK 映射的威胁目录、风险矩阵和按优先级排序的缓解路线图。

使用时机

  • 在系统设计或架构评审期间,在实施前识别安全风险
  • 准备安全审计或合规评估,需要提供书面威胁分析时
  • 将新系统纳入安全计划并需要建立基线威胁覆盖时
  • 重大功能或基础设施变更需要重新评估攻击面的情况下

前提条件

  • 无需外部工具(基于方法论和检查清单)
  • 能够访问系统架构图、数据流图(DFD)或同等文档
  • 了解系统的技术栈、信任边界和数据敏感级别
  • (可选)MITRE ATT&CK 参考:https://attack.mitre.org

输入

项目描述示例
SYSTEM_NAME正在评审的系统名称Payment API v3
SYSTEM_TYPE系统类型web-app / api / microservice / infrastructure
TECH_STACK技术栈Node.js, PostgreSQL, Redis, AWS ECS
DATA_SENSITIVITY范围内的最高数据分类PII / PCI / internal / public
REVIEW_SCOPE评审边界All external-facing endpoints and auth flows

工作流

步骤 1:系统分解

在识别威胁前,先确定需要保护的内容。收集以下目标系统信息。

参考:请参阅 REFERENCE.md,了解资产清单、信任边界和入口点的 Markdown 模板。

数据流图(DFD)摘要

如果无法提供可视化 DFD,请将主要数据流编写为编号列表:

## Key Data Flows

1. User submits credentials → Web tier → Auth service → Credentials DB → JWT issued
2. Authenticated user submits payment → Web tier → Payment service → Payment processor (external) → Transaction DB
3. Admin queries reports → Admin UI → Reporting service → Read replica DB
步骤 2:威胁识别(STRIDE)

将 STRIDE 模型应用于每个 DFD 元素(进程、数据存储、数据流、外部实体)以及每个信任边界穿越点。为识别出的每个威胁创建目录条目,采用 T-NNN 格式。

参考:请参阅 REFERENCE.md,了解 STRIDE 类别参考表和威胁目录条目模板。

针对所有 STRIDE 类别和 DFD 元素中的每个已识别威胁,重复使用威胁目录模板。

步骤 3:威胁优先级排序(DREAD 评分)

使用 DREAD 模型为目录中的每个威胁评分。每个维度的评分为 1–10;DREAD 总分取平均值,并四舍五入到小数点后一位。

参考:请参阅 REFERENCE.md,了解 DREAD 维度、评分表模板和风险级别阈值。

CVSS 映射(可选)

对于需要正式 CVE 风格评分的威胁,请使用 NVD 计算器计算 CVSS v3.1 基础分数,并与 DREAD 分数并列:https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator

步骤 4:缓解措施设计

针对每个 HIGH 和 CRITICAL 威胁,运用纵深防御原则设计具体的缓解措施。

参考:请参阅 REFERENCE.md,了解缓解路线图模板和 5x5 风险矩阵模板。

完成条件

  • 系统分解已完成:资产、信任边界、入口点和数据流均已记录
  • 已对每个 DFD 元素和信任边界进行 STRIDE 分析
  • 每个已识别威胁都有一个 T-NNN 目录条目,其中包含 STRIDE 类别、攻击向量、影响、MITRE ATT&CK 映射以及现有/建议的控制措施
  • 每个威胁都有 DREAD 评分和风险级别
  • 已为所有 HIGH 和 CRITICAL 威胁制定缓解路线图
  • 风险矩阵概述了完整的威胁组合
  • 已明确说明剩余风险

失效模式

问题原因解决方案
资产清单不完整系统文档缺失或过时访谈系统负责人;根据网络图或源代码进行逆向分析
STRIDE 未发现威胁分析过于表面将 STRIDE 应用于每条单独的数据流,而不仅是整个系统
不同评审者的 DREAD 评分不一致评分具有主观性使用参考威胁进行校准(例如,先为已知 CVE 评分,再为新威胁评分)
缓解路线图缺乏可操作性控制措施描述过于抽象每项控制措施都应明确具体的技术、配置或代码变更
MITRE ATT&CK 映射不清晰不熟悉该框架使用 https://mitre-attack.github.io/attack-navigator/ 上的 ATT&CK Navigator 按技术搜索

备注

  • 此技能涵盖最常见的四种威胁建模框架。对于新系统,请从 STRIDE + DREAD 开始。在法规敏感的场景(PCI DSS、HIPAA)中,如果需要完整的流程追踪,则加入 PASTA。
  • 威胁模型是持续更新的文档。在架构发生重大变化、增加新的外部集成或数据分类发生变化后,请重新运行此技能。
  • 攻击树最适用于高价值的特定威胁(例如“攻击者获取管理员访问权限”)。构建攻击树时,将攻击者的目标置于根节点,并将其分解为 AND/OR 子目标,直至叶节点成为具体、可测试的攻击步骤。
  • 将此技能与 owasp-check(用于 Web 应用)和 dependency-audit(用于供应链威胁)配合使用,以实现更全面的覆盖。
  • MITRE ATT&CK 企业矩阵参考:https://attack.mitre.org/matrices/enterprise/

评论

支持 Markdown