漏洞发现的可靠性取决于其背后的支撑证据。安全模块会标注每个漏洞发现对应的证据类型,只有具备可信验证记录的证据,才能让该漏洞发现阻塞pull request、通知相关人员,或被视为已确认。
三种类型
| 证据 | 含义 | 验证方 |
|---|---|---|
| 公告匹配 | 完整的扫描结果将已安装的包版本与已发布公告中受影响的范围进行比对。 | 扫描本身:包括扫描工具及其版本、Coroid为其配置的参数,以及最后一次更新的公告信息。 |
| 经校验的静态漏洞发现 | 代码符合易受攻击的模式。 | 通过校准的规则,或者对于由AI模型识别出的问题,需通过独立校验从对应提交版本的代码中重新推导出问题。该校验是单独运行的流程,并非最初识别问题的流程。 |
| 复现的故障 | 安全故障已被执行并观察到相应结果。 | 在隔离环境中进行的验证运行,可独立重复执行并得到相同结果。暂未规划:Coroid暂未开展验证运行功能。 |
验证记录仅归属于某一个提交版本,不会延续到下一个提交版本;下一次扫描会重新进行观测。
各类证据的作用
- 依赖项相关漏洞发现仅当满足公告匹配条件时才会生效。
- 机密信息和代码规则仅当检测工具的版本通过校准时才会生效。详见防护与强制执行机制。
- Coroid审核模块的安全声明及审计结果只有经独立校验确认为经校验的静态漏洞发现后,才会触发阻塞或通知操作。
尚未确认
没有此类证据支撑的漏洞发现会被标记为尚未确认。该类漏洞发现会显示在“安全”模块中,仅展示已知信息,不会触发其他操作:既不会导致检查失败,也不会通知相关人员,更不会在“概览”中被计为已确认。若独立校验无法确认AI模型的判定结果,例如判定所依据的代码位于其他文件中,该类漏洞发现就会保持此状态。
从GitHub导入的警报,若未被Coroid自身的扫描确认,会显示为从GitHub导入,尚未确认,会在“概览”中单独统计。只有当Coroid自身的扫描确认该警报后,才会触发通知和阻塞操作。详见GitHub权限与Coroid安全检查。
查看位置
漏洞发现页面会展示其相关证据、产生来源以及验证方。修复拉取请求也会附带相应证据:对于依赖项相关漏洞,会展示其修复所涉及的公告以及变更前后的包清单。详见修复拉取请求。