威胁建模Skill:把安全设计从“事后补救”变成“架构期防线”
核心结论速览:
- 它是什么:威胁建模Skill(英文名 threat-model,技能ID 13474)是一个面向系统安全设计的结构化分析技能,帮助团队在写代码之前就把安全威胁找出来。
- 它的方法论:内置 STRIDE 威胁分类、DREAD 风险评分、PASTA 七阶段流程三套业界通用方法论,不需要自己从零搭建框架。
- 它的产出物:不是泛泛的安全建议,而是可落地的威胁清单、风险分数、攻击树和按优先级排序的缓解措施表。
- 它的覆盖面:除通用 Web 系统外,还针对 API、云与容器基础设施、CI/CD 管道、机器学习模型等专项场景给出威胁关注点。
- 它的适用人群:架构师、后端开发、安全工程师、技术负责人,以及需要通过合规审计、需要留下安全设计证据的团队。
该技能叫什么?如何下载安装 AI 技能提升开发效率?
这个技能的中文名是威胁建模Skill,英文名是 threat-model,技能ID 为 13474。
它要解决的问题非常具体:安全评审总是发生在系统上线前的最后一刻。等到渗透测试报告出来,架构已经定型,改造成本极高。威胁建模Skill 的价值在于把这个动作左移——在需求评审和架构设计阶段,就用结构化方法把「谁能攻击我、从哪里攻击、会造成什么后果、我该怎么防」这四件事梳理清楚,并沉淀成可评审、可追溯的文档。
它适用的触发时机包括:
- 新系统设计:在动手实现之前识别安全需求;
- 架构审查:评估现有系统与安全基线之间的差距;
- 功能添加:评估一个新功能会引入哪些新的攻击面;
- 第三方集成:评估外部依赖带来的供应链风险;
- 合规要求:为审计留存安全控制的书面记录。
关于安装:
该技能以 AI 技能(Skill)形式交付,通常在 AI 助手的「技能库 / 技能市场」入口中加载。通用安装思路如下(具体命令、入口地址与账号要求以官方说明为准):
- 确认前提:你的 AI 助手客户端或平台已支持技能(Skill)扩展机制,并已登录可用账号;
- 定位技能:在技能检索入口中,用英文名
threat-model或技能ID13474进行搜索; - 加载启用:选择该技能并执行安装 / 添加操作,等待状态变为「已启用」;
- 验证生效:新建一个对话,输入类似「请用 STRIDE 方法为一个带 JWT 登录的订单系统做威胁建模」的指令。若返回结果包含 STRIDE 分类表、DREAD 评分或缓解措施表等结构化内容,说明技能已正常生效;
- 失败排查:若返回仍是泛泛的安全建议,通常说明技能未被正确挂载,可回到技能列表确认启用状态,或查阅官方文档中的加载说明。
该技能的主要功能和特点
- STRIDE 威胁分类体系:按欺骗(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information Disclosure)、拒绝服务(Denial of Service)、权限提升(Elevation of Privilege)六类逐一排查,每一类都对应一个明确的安全属性(认证、完整性、不可否认性、机密性、可用性、授权),避免"漏掉某一类威胁"。
- DREAD 量化风险评分:从损害程度、可复现性、可利用性、受影响用户数、可发现性五个维度各打 1-10 分,取平均值作为风险分数,并给出 7-10 分(立即行动)、4-6 分(计划修复)、1-3 分(接受或监控)的分级建议。这让"先修哪个"从拍脑袋变成有依据的排序。
- PASTA 七阶段流程:从定义业务目标、技术范围,到应用分解、威胁分析、漏洞分析、攻击建模,最后落到风险与影响分析,适合需要与业务方对齐、需要完整分析链路的中大型项目。
- 数据流图与信任边界建模:引导用户识别外部实体、处理过程、数据存储、数据流和信任边界,并输出带边界标注的字符画数据流图,把抽象的架构变成可视化的分析对象。
- 攻击树构建:以"攻击者的根目标"为起点向下拆解攻击路径,并对每条叶子路径标注可能性与影响,直观呈现"敌人最可能从哪条路进来"。
- 文档模板与缓解计划表:直接产出包含执行摘要、系统描述、资产、威胁分析、风险评估、缓解措施、剩余风险、评审计划八大章节的威胁模型文档骨架,缓解措施表还带优先级(P0/P1/P2)与状态列,可直接用于项目跟踪。
- 领域专项威胁库:针对 API(BOLA/IDOR、JWT 伪造、批量赋值、GraphQL 内省与查询复杂度攻击、限流绕过)、基础设施(S3 桶配置错误、IAM 提权路径、容器逃逸、Kubernetes RBAC 与 etcd 加密、CI/CD 管道注入与依赖混淆)、机器学习(对抗样本、数据投毒、模型窃取、成员推断、差分隐私)分别给出专门的威胁清单与对应缓解措施。
和普通工具比强在哪:普通的安全扫描工具只能发现"已经存在的代码缺陷",而威胁建模Skill 面向的是"还没有写出来的系统设计"。它不依赖代码,只依赖架构描述,因此能在成本最低的阶段介入,并输出可直接进入评审流程的结构化文档。
如何使用该技能?
下面是推荐的使用步骤,整体沿用了技能内置的威胁建模流程。
第 1 步:定义范围与资产
用自然语言向技能描述系统。可以直接引用它的输入格式:
系统名称:电商订单服务
目的:处理下单、支付、订单查询
数据敏感性:包含 PII 与支付数据
需要保护的资产:用户凭据、支付卡数据、订单记录
输出应当是一张资产表,包含资产名、分类(机密 / PCI-DSS / PII-GDPR)以及泄露后的影响。
第 2 步:生成数据流图
说明系统的组件构成与数据流向,例如"浏览器 → 负载均衡器 → API 网关 → 认证服务 / 应用服务器 → PostgreSQL / Redis"。技能会输出带信任边界标注的数据流图,并明确指出互联网、DMZ、内部三个信任层级的边界位置——这些边界正是攻击者最常尝试跨越的地方。
第 3 步:按组件做 STRIDE 分析
请求技能对每个组件逐一做 STRIDE 分析。典型输出是一张表,每行一个威胁,包含 STRIDE 类别、威胁描述、可能性、影响等级。例如 API 网关可能命中"伪造的 JWT 令牌(S,中可能性/高影响)“和"IDOR 越权访问其他用户(E,中可能性/关键影响)”。
第 4 步:DREAD 打分并排定优先级
对上一步识别出的威胁逐一打分,得出风险分数与风险级别。这样就能明确:SQL 注入和 IDOR 属于 P0 立即处理,详细错误信息泄露属于 P2 可排期。
第 5 步:构建攻击树
以"窃取用户数据"这类根目标出发,让技能向下拆解为危害凭据、利用应用漏洞、社会工程三条主路径,再展开到钓鱼、暴力破解、SQL 注入、IDOR、借口攻击等叶子节点,并标注每条路径的可能性与影响。
第 6 步:输出缓解计划
请求技能生成缓解措施表。输出通常包含威胁、对应缓解措施、优先级、状态四列,可直接贴进项目管理工具。例如 SQL 注入对应"参数化查询 + 输入验证(P0)“,JWT 伪造对应"RS256 签名 + 短有效期 + 密钥轮换(P1)”。
第 7 步:产出完整威胁模型文档
最后让技能按内置模板汇总成一份完整文档,包含执行摘要、系统描述、资产、威胁分析、风险评估、缓解措施、剩余风险和评审计划。这份文档可直接用于安全评审会或合规审计。
常用调用方式示例:
- 「用 STRIDE 分析这个 API 网关的威胁,并按 DREAD 打分排序」
- 「给我一个容器化部署到 Kubernetes 的威胁清单,重点是 RBAC 和 Secret 管理」
- 「我们的推荐模型通过 API 对外服务,帮我做机器学习系统的威胁建模」
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| 威胁建模Skill(threat-model) | 对话式、方法论驱动的威胁建模助手 | STRIDE 分类、DREAD 评分、PASTA 流程、数据流图、攻击树、文档模板、API/基础设施/ML 专项威胁库 | 低:在 AI 助手中加载技能后用自然语言描述系统即可;具体入口以官方说明为准 | 架构设计评审、新功能安全评估、第三方集成风险评估、合规文档准备 | 优势:零门槛起步、覆盖多套方法论与多个专项领域、直接产出可评审文档;不足:分析质量依赖用户对系统的描述完整度,不替代自动化扫描与渗透测试 |
| 传统威胁建模图表工具 | 图形化的数据流图与威胁登记工具 | 拖拽绘制数据流图、威胁条目登记、与缺陷系统联动 | 中:需要学习工具操作,通常需团队统一采购与培训 | 有专职安全团队、需要长期维护统一威胁模型库的组织 | 优势:图形规范、便于团队协作与版本管理;不足:方法论需要自己掌握,初学者容易画出图但列不全威胁 |
| 静态应用安全测试(SAST)工具 | 代码层自动化漏洞扫描 | 源码规则匹配、数据流污点分析、缺陷报告 | 中高:需接入代码仓库、配置规则集,存在误报调优成本 | 已有代码的存量系统、CI 流水线中的自动化卡点 | 优势:自动化程度高、可规模化;不足:只能发现已写出的代码问题,无法在架构阶段介入,误报率较高 |
| 通用大模型对话(无专用技能) | 直接用通用 AI 助手提问安全设计问题 | 依赖提示词自由生成安全建议 | 低:直接提问即可 | 快速获得安全思路的初步启发 | 优势:上手最快;不足:输出结构不稳定、方法论覆盖不系统、易遗漏威胁类别,缺少固定的文档模板与评分框架 |
该技能的典型应用场景与实际体验情况
场景一:新业务系统的架构评审
- 角色与痛点:后端架构师在评审一个即将上线的订单系统,团队里没有专职安全人员,安全评审会往往变成"大家凭经验提几句"。
- 使用方式:把系统的组件、数据流、资产分类描述给技能,依次执行 STRIDE 分析和 DREAD 打分,产出威胁模型文档提交评审会。
- 实际体验:上手几乎零门槛,只要能把架构说清楚,就能拿到一份结构完整的威胁清单。需要注意的是,描述越粗略,威胁识别越容易停留在通用层面;建议把每个组件的技术选型(例如"JWT 认证"“PostgreSQL”“Redis 缓存”)都明确写出,识别精度会明显提升。
场景二:API 对外开放前的安全自查
- 角色与痛点:负责开放平台的开发者在把内部接口暴露给第三方之前,担心越权、限流和批量赋值这类 API 特有问题。
- 使用方式:直接请求技能针对 REST / GraphQL API 做威胁建模,重点覆盖认证授权、数据暴露、限流与滥用、输入验证四个维度。
- 实际体验:技能内置的 API 专项威胁清单命中率较高,BOLA/IDOR、GraphQL 内省未关闭、分页漏洞这类容易忽略的点都会被主动提出,并配套给出字段级授权、查询深度限制、请求签名等缓解措施。这类输出非常适合直接转成开发任务单。
场景三:云原生迁移前的风险评估
- 角色与痛点:运维团队准备把服务迁移到 Kubernetes,对 RBAC 配置、Secret 管理、镜像安全心里没底。
- 使用方式:请求技能按基础设施维度建模,重点分析云服务配置、容器安全、编排平台、CI/CD 管道四个方向。
- 实际体验:技能会覆盖到"特权容器"“未认证的 kubelet”“构建代理被入侵”"依赖混淆"这类具体攻击面,并给出不可变基础设施、最小权限 IAM、网络分段、镜像签名等缓解方向。注意这部分输出偏方向和清单性质,具体配置项的落地仍需结合官方文档逐项核对。
场景四:机器学习模型上线前的合规评估
- 角色与痛点:算法团队要把推荐模型通过预测 API 对外提供服务,法务关注训练数据中的个人信息是否可能通过模型输出泄露。
- 使用方式:请求技能对 ML 系统建模,聚焦对抗性攻击、模型窃取、数据隐私、部署风险四类问题。
- 实际体验:成员推断攻击、模型反演、差分隐私、模型水印这些容易被工程团队忽略的威胁会被系统性提出,为跨部门沟通提供了共同语言。这类分析偏方法论层面,具体技术方案的选型仍需要算法与安全团队进一步评估。
该技能能为用户带来的价值
第一,把安全工作的介入点提前,直接降低修复成本。 在设计阶段发现一个权限模型缺陷,改动的是几张架构图;在上线后才发现,改动的可能是已经写好的几十个接口。威胁建模Skill 让这个"提前"变得可执行——不需要额外的工具培训,用自然语言描述系统就能获得结构化分析。
第二,把模糊的安全讨论变成可排序的工程决策。 有了 DREAD 五维评分和 P0/P1/P2 优先级,安全议题不再停留在"这个风险好像挺严重",而是可以进入迭代排期表,与业务需求一起被管理。
第三,降低安全方法论的学习门槛。 STRIDE、DREAD、PASTA 这套体系在安全行业里属于基本功,但对大多数开发团队来说,完整掌握它们需要相当的时间投入。技能把这些方法论固化成可复用的流程,使用者只需要提供系统信息,就能获得符合方法论规范的分析结果。
第四,沉淀可复用的组织资产。 技能输出的威胁模型文档模板包含执行摘要、资产清单、威胁分析、风险评估、缓解措施、剩余风险、评审计划八个部分,天然适合作为团队的标准交付物。随着项目积累,这些文档会成为组织内部的安全知识库,新项目可以直接借鉴同类系统的历史威胁清单。
第五,支撑合规与审计要求。 对需要应对安全审计、等级保护或客户安全问卷的团队来说,一份结构完整的威胁模型文档就是最直接的证据材料,省去了临时补材料的成本。
常见问题 FAQ
Q1:这个技能怎么安装?需要付费吗?
A:它通过 AI 助手的技能(Skill)机制加载,通常在技能库或技能市场中搜索英文名 threat-model 或技能ID 13474 即可找到。具体安装入口、是否需要订阅或付费,以官方说明为准。安装完成后,用一条包含 STRIDE 或威胁建模字样的指令测试,能返回结构化分析结果即表示生效。
Q2:我不是安全工程师,能用好吗?
A:可以。技能内置了完整的方法论流程,你只需要把系统的组件、数据流向和需要保护的资产描述清楚,剩下的分类、评分、排序由技能完成。当然,描述得越具体(技术栈、认证方式、部署形态),输出质量越高。建议第一次使用时先从单个模块入手,熟悉输出结构后再扩展到整体架构。
Q3:它和漏洞扫描工具是替代关系吗?
A:不是,两者互补。威胁建模面向的是"尚未实现的系统设计",回答"可能有哪些威胁、该怎么防";漏洞扫描和渗透测试面向的是"已经存在的代码和运行环境",回答"实际存在哪些缺陷"。正确做法是先用威胁建模确定防护重点,再用扫描和测试去验证缓解措施是否真的生效。
Q4:多久需要重新做一次威胁建模?
A:技能的最佳实践中明确建议「迭代」——随着系统发展更新威胁模型。实践中,触发重新建模的典型节点包括:新增重要功能、引入新的第三方集成、架构发生重大调整、数据分类升级(例如开始处理支付数据)。文档模板里也专门留了「评审计划」章节用于记录复评时机。
Q5:它支持哪些类型的系统?
A:从技能详情看,除通用 Web 应用外,还覆盖 API(REST / GraphQL / gRPC)、基础设施(云服务、容器、Kubernetes 编排、CI/CD 管道)以及机器学习系统四大专项领域,并针对每类场景提供了对应的常见威胁清单与缓解措施。此外,Web 应用、数据库、认证、文件上传、第三方集成也都有快速参考清单可供查阅。