用途
Threat Modeling 属于安全评估的 PLAN 阶段,目标是在花费测试精力之前,先决定“该担心什么、先测什么”。其核心原则是:你无法测试所有内容,应把精力花在一旦被攻破后果最严重的地方。
主要能力
该技能提供一套结构化的威胁建模流程:
- 盘点资产:识别有价值的内容,例如用户数据、资金、凭据、PII、管理员控制权、知识产权。
- 梳理入口点:列出所有不可信输入进入的位置,包括路由/端点、表单、文件上传、查询参数、请求头、webhook、消息队列、移动端 API 调用、第三方回调。
- 绘制信任边界:标出数据从较低信任区域跨入较高信任区域的位置,例如浏览器→API、API→数据库、服务→服务、用户→管理员。漏洞往往聚集在这些边界线上。
- 按边界/组件应用 STRIDE:对每个边界或组件套用 STRIDE 威胁分类。
- 风险排序:对每个威胁评分,风险 = 可能性 × 影响(各取 1–3,得到 1–9),优先测试高分项。
STRIDE 快速参考
- Spoofing(仿冒):能否有人冒充其他用户/服务?对应防御:认证。
- Tampering(篡改):数据在传输或存储中能否被修改?对应防御:完整性。
- Repudiation(抵赖):某个操作能否被否认/是否被记录?对应防御:不可否认性。
- Information disclosure(信息泄露):数据能否泄露?对应防御:机密性。
- Denial of service(拒绝服务):能否使其不可用?对应防御:可用性。
- Elevation of privilege(权限提升):用户能否获得不应拥有的权限?对应防御:授权。
使用方式
按上述流程执行后,输出一份“优先目标列表”,供后续阶段消费。该表包含以下列:编号、资产、入口点、STRIDE、可能性、影响、风险、测试方式。示例:
| # | Asset | Entry point | STRIDE | Likelihood | Impact | Risk | Test via |
|---|---|---|---|---|---|---|---|
| 1 | User PII | GET /api/users/:id | I (IDOR) | 3 | 3 | 9 | code-audit + active-pentest |
| 2 | Auth | POST /login | S | 2 | 3 | 6 | code-audit |
交接
将排名靠前的项目交给 security-code-audit(发现)和 active-pentest(验证)。
入口面清单同时也是适用性驱动因素:它告诉安全测试编排器哪些专家适用(存在对应入口面→运行),哪些应跳过(不存在→不适用),并暴露没有匹配专家的入口面作为覆盖缺口,需用通用方法论处理,并建议构建新技能。应列出发现的所有入口面,包括当前没有技能覆盖的,以免被静默遗漏。
适用场景
适用于启动安全评估时,需要梳理应用攻击面、枚举信任边界并确定优先测试顺序的场景。
限制与常见错误
- 只对正常路径建模——攻击者会利用非正常路径。
- 遗忘内部/受信任的入口点,例如管理面板、内部 API、定时任务、队列。
- 把所有发现视为同等重要——必须排序,否则会淹没在低价值工作中。
关于收费、价格、平台支持等具体信息,资料中暂未提供。