安全威胁模型Skill security-threat-model

这个技能用于基于代码仓库进行应用安全威胁建模,帮助识别信任边界、资产、攻击者能力等安全风险,生成详尽的Markdown威胁模型报告。关键词:安全威胁建模、代码安全、威胁分析、AppSec、漏洞识别、风险评估。

安全审计 0 次安装 0 次浏览 更新于 3/15/2026

name: security-threat-model description: 基于代码仓库的威胁建模,列举信任边界、资产、攻击者能力、滥用路径和缓解措施,并撰写简明的Markdown威胁模型。仅在用户明确要求对代码库或路径进行威胁建模、列举威胁/滥用路径或执行AppSec威胁建模时触发。不适用于一般架构摘要、代码审查或非安全设计工作。 metadata: author: github.com/openai/skills version: ‘1.0.0’

威胁模型源代码仓库

提供一个可操作的AppSec级威胁模型,具体到仓库或项目路径,而不是通用检查表。将每个架构声明锚定到仓库中的证据,并明确假设。优先考虑现实的攻击者目标和具体影响,而不是通用检查表。

快速开始

  1. 收集(或推断)输入:
  • 仓库根路径和任何在范围内的路径。
  • 预期用途、部署模型、互联网暴露和认证期望(如果已知)。
  • 任何现有的仓库摘要或架构规范。
  • 使用 references/prompt-template.md 中的提示生成仓库摘要。
  • 遵循 references/prompt-template.md 中的输出合同要求。尽可能使用原文。

工作流程

1) 范围界定和提取系统模型

  • 从仓库摘要中识别主要组件、数据存储和外部集成。
  • 识别系统运行方式(服务器、CLI、库、工作器)及其入口点。
  • 将运行时行为与CI/构建/开发工具以及测试/示例分开。
  • 将范围内位置映射到这些组件,并明确排除范围外项目。
  • 没有证据不要声称组件、流或控制。

2) 推导边界、资产和入口点

  • 枚举信任边界作为组件之间的具体边缘,记录协议、认证、加密、验证和速率限制。
  • 列出驱动风险的资产(数据、凭证、模型、配置、计算资源、审计日志)。
  • 识别入口点(端点、上传表面、解析器/解码器、作业触发器、管理工具、日志/错误接收器)。

3) 校准资产和攻击者能力

  • 列出驱动风险的资产(凭证、个人可识别信息、完整性关键状态、可用性关键组件、构建工件)。
  • 基于暴露和预期用途描述现实攻击者能力。
  • 明确标注非能力以避免严重性夸大。

4) 枚举威胁为滥用路径

  • 偏好映射到资产和边界的攻击者目标(数据泄露、权限提升、完整性破坏、拒绝服务)。
  • 分类每个威胁并将其连接到受影响资产。
  • 保持威胁数量少但质量高。

5) 通过明确可能性和影响推理进行优先级排序

  • 使用定性可能性和影响(低/中/高)并简短论证。
  • 设置总体优先级(关键/高/中/低),使用可能性 x 影响,并根据现有控制调整。
  • 说明哪些假设最影响排名。

6) 用用户验证服务上下文和假设

  • 总结严重影响威胁排名或范围的关键假设,然后要求用户确认或更正。
  • 提出1-3个针对性问题以解决缺失上下文(服务所有者和环境、规模/用户、部署模型、认证/授权、互联网暴露、数据敏感性、多租户)。
  • 暂停并等待用户反馈,然后生成最终报告。
  • 如果用户拒绝或无法回答,说明哪些假设仍然存在及其如何影响优先级。

7) 推荐缓解措施和关注路径

  • 区分现有缓解措施(有证据)与推荐缓解措施。
  • 将缓解措施连接到具体位置(组件、边界或入口点)和控制类型(授权检查、输入验证、模式强制、沙盒、速率限制、秘密隔离、审计日志)。
  • 偏好具体实现提示而不是泛泛建议(例如,“在网关上对上传负载强制模式”而不是“验证输入”)。
  • 基于验证的用户上下文进行推荐;如果假设未解决,将推荐标记为有条件。

8) 在最终确定前进行质量检查

  • 确认所有发现的入口点已覆盖。
  • 确认每个信任边界在威胁中已表示。
  • 确认运行时与CI/开发分离。
  • 确认用户澄清(或明确无响应)已反映。
  • 确认假设和开放问题已明确。
  • 确认报告格式与提示模板中定义的所需输出格式紧密匹配:references/prompt-template.md
  • 将最终Markdown写入文件,命名为<repo-or-dir-name>-threat-model.md(使用仓库根路径的基本名称,或如果建模子路径,则使用范围内目录名称)。

风险优先级指导(说明性,非详尽)

  • 高:预认证远程代码执行、认证绕过、跨租户访问、敏感数据泄露、密钥或令牌盗窃、模型或配置完整性破坏、沙盒逃逸。
  • 中:对关键组件的定向拒绝服务、部分数据暴露、速率限制绕过并具有可测量影响、日志/指标污染影响检测。
  • 低:低敏感性信息泄露、容易缓解的嘈杂拒绝服务、需要不太可能前提条件的问题。

参考资料

  • 输出合同和完整提示模板:references/prompt-template.md
  • 可选控制/资产列表:references/security-controls-and-assets.md 只加载所需参考文件。保持最终结果简洁、基于事实且可审查。