executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
performing-threat-modeling-with-owasp-threat-dragon使用 OWASP Threat Dragon 创建数据流图,运用 STRIDE 和 LINDDUN 方法论识别威胁,并生成威胁模型报告用于安全设计审查。
Independent GitHub snapshot · Automated classification · Original documentation governs
OWASP Threat Dragon 是一个开源威胁建模工具,使安全团队和开发人员能够创建威胁模型图、使用成熟方法论(STRIDE、LINDDUN、CIA、DIE、PLOT4ai)识别威胁,并生成全面报告。Threat Dragon 可作为 Web 应用和桌面应用(Windows、macOS、Linux)运行,支持分布式团队协作开展威胁建模。2.x 版本提供拖放式图表创建、威胁和缓解措施自动生成规则引擎,以及用于文档和 GRC 合规的 PDF 报告输出。
| 类别 | 威胁类型 | 描述 | 示例 |
|---|---|---|---|
| S | 欺骗(Spoofing) | 冒充用户或系统 | 会话令牌盗用 |
| T | 篡改(Tampering) | 修改传输中或静止的数据 | SQL 注入改变记录 |
| R | 抵赖(Repudiation) | 否认某操作已发生 | 缺少审计日志 |
| I | 信息泄露(Information Disclosure) | 暴露敏感数据 | API 返回过多字段 |
| D | 拒绝服务(Denial of Service) | 使服务不可用 | 资源耗尽攻击 |
| E | 权限提升(Elevation of Privilege) | 获取未授权访问 | 访问控制失效 |
| 类别 | 威胁类型 | 描述 |
|---|---|---|
| L | 可关联性(Linkability) | 跨上下文关联数据项 |
| I | 可识别性(Identifiability) | 从数据中识别个人身份 |
| N | 不可否认性(Non-repudiation) | 无法否认某操作(隐私风险) |
| D | 可检测性(Detectability) | 确定是否存在关于某主体的数据 |
| D | 信息泄露(Disclosure) | 暴露个人信息 |
| U | 不知情(Unawareness) | 用户不知晓数据收集 |
| N | 违规(Non-compliance) | 违反隐私法规 |
桌面应用: 从 OWASP Threat Dragon 发布页 下载 Windows(.exe)、macOS(.dmg)或 Linux(.AppImage/.deb/.rpm)安装包。
Web 应用(Docker):
docker run -p 3000:3000 \
-e ENCRYPTION_JWT_SIGNING_KEY=$(openssl rand -hex 32) \
-e ENCRYPTION_JWT_REFRESH_SIGNING_KEY=$(openssl rand -hex 32) \
-e ENCRYPTION_KEYS='[{"isPrimary":true,"id":0,"value":"'$(openssl rand -hex 16)'"}]' \
-e NODE_ENV=production \
owasp/threat-dragon:latest
在创建图表前,记录范围:
在 Threat Dragon 中创建新威胁模型,使用以下 DFD 元素添加图表:
处理(Process):转换数据的应用程序、微服务、API 端点。用圆圈/圆角矩形表示。
数据存储(Data Store):持久化数据的数据库、文件系统、缓存、消息队列。用平行线表示。
外部实体(External Entity):信任边界外的用户、外部系统、第三方服务。用矩形表示。
数据流(Data Flow):元素之间显示数据方向的通信通道。用带标签的箭头表示,标签描述数据内容。
信任边界(Trust Boundary):分隔不同信任级别区域的虚线(互联网/DMZ/内部网络、用户/管理员)。
对每个 DFD 元素应用 STRIDE 方法论:
| 元素类型 | 适用的 STRIDE 类别 |
|---|---|
| 外部实体 | 欺骗、抵赖 |
| 处理 | 欺骗、篡改、抵赖、信息泄露、DoS、权限提升 |
| 数据存储 | 篡改、信息泄露、DoS |
| 数据流 | 篡改、信息泄露、DoS |
Threat Dragon 的规则引擎根据元素类型自动建议威胁。审查每个建议并标记为:
对每个开放威胁,记录:
Threat Dragon 生成包含以下内容的 PDF 报告:
Threat Dragon 使用 JSON 格式存储威胁模型,支持版本控制和程序化操作:
{
"version": "2.2.0",
"summary": {
"title": "电子商务应用",
"owner": "安全团队",
"description": "结账流程的威胁模型"
},
"detail": {
"contributors": [
{"name": "安全架构师"}
],
"diagrams": [
{
"id": 0,
"title": "结账流程",
"diagramType": "STRIDE",
"cells": []
}
]
}
}
Threat Dragon 参与 CycloneDX 威胁模型物料清单(TMBOM)工作,支持导出到可被其他威胁建模工具和 GRC 平台使用的通用格式,避免供应商锁定。