用途:为当前工作或新代码(计划中的功能、模块、服务、API 或当前分支改动)构建一个小而聚焦的威胁模型,用轻量 STRIDE 方法分析数据流与信任边界,产出可追踪、能驱动缓解措施的实用模型,而非庞大的企业级文档。输出位于 docs/security/threat-models/{slug}/THREAT-MODEL.md。
主要能力:支持两种调用模式——独立模式(自建分支 assess/threat-{slug} 并向 develop 提 PR)和嵌入模式(写入调用方当前分支/工作树,随该流程的 PR 一起交付,不单独建分支或 PR)。流程由门控驱动:先做仓库黑名单检查,再进入 Phase 0 范围与分解(识别资产、参与者、入口点、信任边界、数据流),Gate 1 确认范围后才枚举威胁,Phase 2 按 STRIDE 逐元素枚举并评级,Phase 3 排定缓解措施与残余风险,Gate 2 评审,独立模式下 Phase 4 建议调用 incu-way-prepare-pr 提 PR。
使用方式:独立模式先询问用户用当前检出分支还是独立 git worktree 隔离,命令如 git switch develop、git pull --ff-only、git switch -c assess/threat-{slug},或 git fetch origin develop、mkdir -p .worktrees、git worktree add .worktrees/assess-threat-{slug} -b assess/threat-{slug} origin/develop。嵌入模式跳过隔离设置。
适用场景:开发流程中在 PLAN 后(Gate 2)运行威胁建模,使缓解措施成为计划任务;或对安全相关修复进行建模。
限制:这是评估流程,不维护 .ways/state.json,不实现缓解措施;不假设控制或边界存在,不明确即标为 Unverified 并列为开放问题;不填充不适用行;Mermaid DFD 需通过解析器验证;模型规模随改动缩放;独立模式不得直接写入 develop 或 main。