文档

威胁模型

可编辑的威胁模型Coroid会根据项目代码生成初稿,记录你的修改内容,并说明更新提议的生成方式。

威胁模型用于标识项目可能遭受攻击的位置以及受影响的关键要素。每个项目的威胁模型都保存在“安全”→“威胁模型”下,由代码生成初稿,供团队编辑。

初稿

Coroid会读取默认分支的代码生成首个版本,无需AI模型,因此生成初稿无需额外成本。该过程会占用一个代理插槽,与其他扫描任务一致。它能识别JavaScript、TypeScript和Python代码中的以下内容:

  • 入口点:HTTP路由和处理程序、OpenAPI操作、队列消费者以及命令行指令;
  • 信任边界:身份验证中间件及其他边界;
  • 敏感数据:配置项和密钥的读取位置(仅记录名称,不显示具体值);
  • 未经身份验证校验的写入操作。

该模型包含五个部分:入口点、信任边界、敏感数据、关键影响要素以及备注。初稿还会列出无法读取的内容及原因:文件过大或无法读取、暂不支持的语言、或达到读取限制。

你的修改会被保留

每条条目都会记录编写人信息。Coroid绝不会覆盖人工编写的内容。

每周一次,以及所有者或管理员选择时重新读取代码,Coroid会再次读取代码。它不会更改原有模型,只会提出变更建议:新增、更新或删除的条目。所有者和管理员可将建议纳入新版本,或驳回这些建议;被驳回的建议不会再被提出。

当变更被接受后,Coroid会跳过不再匹配的内容:包括人工后续修改的条目、已存在的条目或已删除的条目。它会说明跳过了哪些内容。Coroid仅会删除其自身初稿中生成的条目,且需在所有代码都被读取后才能执行此操作。你的表述会被保留,只有代码中识别到的内容才会发生变化。

版本

版本1为初稿。每次接受的提议或修改都会生成新版本,版本历史会记录操作人及操作内容:从代码生成的初稿、人工编辑、Coroid更新的内容,或从设置导入的内容。

谁可以修改它

所有能查看项目的人员均可阅读其威胁模型。所有者和管理员可编辑模型、接受或驳回提议,也可要求Coroid重新读取代码。

使用方式

“安全审计”功能会读取威胁模型来确定优先读取的文件:模型中标记为高影响路径和入口点的代码会优先于其他代码被处理。每个项目的最新威胁模型会随组织设置包一同传输。其历史记录和未处理的提议仍保留在原位置。详情请参阅

设置可移植性

每个项目的最新威胁模型会随组织设置包一同传输。其历史记录和未处理的提议仍保留在原位置。详情请参阅设置可移植性。