[ PROMPT_NODE_27668 ]
security-threat-model
[ SKILL_DOCUMENTATION ]
# 威胁模型源代码仓库
提供可操作的、达到应用安全(AppSec)级别的威胁模型,该模型针对特定仓库或项目路径,而非通用的检查清单。将每一项架构主张锚定在仓库中的证据上,并明确假设。优先考虑现实的攻击者目标和具体影响,而非通用的检查清单。
## 快速开始
1) 收集(或推断)输入:
- 仓库根路径及任何范围内的路径。
- 预期用途、部署模型、互联网暴露情况和身份验证预期(如果已知)。
- 任何现有的仓库总结或架构规范。
- 使用 `references/prompt-template.md` 中的提示词来生成仓库总结。
- 遵循 `references/prompt-template.md` 中要求的输出契约。尽可能逐字使用。
## 工作流
### 1) 确定范围并提取系统模型
- 从仓库总结中识别主要组件、数据存储和外部集成。
- 识别系统如何运行(服务器、CLI、库、工作进程)及其入口点。
- 将运行时行为与 CI/构建/开发工具以及测试/示例区分开来。
- 将范围内的位置映射到这些组件,并明确排除范围外的项目。
- 在没有证据的情况下,不要声称存在组件、流程或控制措施。
### 2) 推导边界、资产和入口点
- 将信任边界枚举为组件之间的具体边缘,注意协议、身份验证、加密、验证和速率限制。
- 列出驱动风险的资产(数据、凭据、模型、配置、计算资源、审计日志)。
- 识别入口点(端点、上传界面、解析器/解码器、作业触发器、管理工具、日志/错误接收器)。
### 3) 校准资产和攻击者能力
- 列出驱动风险的资产(凭据、PII、完整性关键状态、可用性关键组件、构建制品)。
- 根据暴露情况和预期用途描述现实的攻击者能力。
- 明确指出非能力项,以避免夸大严重性。
### 4) 枚举威胁作为滥用路径
- 优先考虑映射到资产和边界的攻击者目标(数据外泄、权限提升、完整性破坏、拒绝服务)。
- 对每个威胁进行分类,并将其与受影响的资产关联。
- 保持威胁数量精简但高质量。
### 5) 使用明确的似然性和影响推理进行优先级排序
- 使用定性的似然性和影响(低/中/高)并附带简短理由。
- 使用似然性 x 影响设置总体优先级(严重/高/中/低),并根据现有控制措施进行调整。
- 开始