Security功能会监控您的代码仓库中是否存在已知漏洞的依赖项、泄露的凭证以及有漏洞的代码,将所有发现的结果汇总到同一个列表中,并将确认存在问题的内容转化为Pull Request,供您的团队审核并合并。
本节介绍该产品特性:即代码的安全性。关于Coroid自身如何保护您的代码和数据,请参阅安全与部署。
其功能
| 防护 | 其功能 | 可能导致检查项失败 |
|---|---|---|
| 有漏洞的依赖项 | 系统会读取默认分支顶部的每个项目的锁文件,将每个软件包与已发布的安全通告进行匹配。对pull request的锁文件变更也会采用相同方式进行扫描。 | 是 |
| 修复有漏洞的依赖项 | 系统会打开一个pull request页面,优先升级存在漏洞的软件包。 | 否 |
| 泄露的机密信息 | 系统会在每次变更中查找凭证,同时也会扫描默认分支的完整历史记录。 | 是 |
| 代码扫描 | Coroid的代码安全规则,以及您自定义的扫描命令(如有)。 | 是 |
| Pull Request的安全审核 | 在任何检查项导致pull request失败之前,系统会先由独立机制审核Coroid Review模块提出的安全问题。 | 是 |
| GitHub安全警报 | 系统会导入Dependabot、代码扫描和机密信息扫描产生的警报,将其与Coroid自身发现的结果并列展示。 | 否 |
| 安全审计 | 系统会扫描您最重要的代码以及上次审计后发生变更的代码,以查找漏洞。只有经独立审核确认的内容才会被保留。 | 否 |
每种防护功能都在本节的独立页面中有详细说明。请参阅防护与强制执行了解如何启用、监控及强制执行这些防护功能。
其所在位置
Security功能在主菜单中有独立入口,位于Quality Control之后:
- 概览:按严重程度分类展示未解决的发现结果及其超时数量,各项目的覆盖情况及最后一次扫描时间,修复进度,通告数据的状态以及GitHub警报的状态。
- 发现结果:Security功能发现的所有结果汇总成的列表,按项目分组。请参阅发现结果及其生命周期。
- 依赖项:每个项目的软件包清单,支持导出为CycloneDX格式。请参阅有漏洞的依赖项。
- 威胁模型:每个项目对应一个威胁模型。请参阅威胁模型。
- 设置:包含组织级默认设置及每个项目的设置,每项防护功能都有独立的开关。
每位成员只能查看其有权访问的项目的概览、发现结果、依赖项和威胁模型。组织所有者和管理员可以更改设置、威胁模型及例外规则,并处理发现结果。修复任务属于常规工作:它们会出现在Factory中,发现结果会链接到对应的任务及pull request。
其判定依据
以证据为准。只有当发现结果有指定类型的证据且在特定提交中验证通过时,才会阻塞pull request或发送通知。其他情况仅会被标记为“尚未确认”,不会触发其他操作。请参阅证据。
不存在无声的通过结果。只有完整的扫描才会给出合格结果。部分扫描、权限缺失、旧版清单或延迟更新的通告数据会被标记为未知或部分覆盖,绝不会被认定为已修复。
人员始终掌握控制权。Coroid负责创建Pull Request,由人员负责合并。例外规则、扫描器配置及披露决策均由Security模块中的所有者和管理员决定,绝不会由测试阶段的变更自动决定。
默认私密。尚未公开披露的漏洞详情会保留在Coroid内部,直至有权限的人员予以披露。请参阅披露。
Coroid绝不会使用它发现的凭证。系统不会尝试用泄露的凭证验证其是否有效。
其费用
所有套餐均包含Security功能,免费套餐也不例外。
- 检测功能不收取额外费用。库存管理、咨询匹配、机密信息与代码扫描以及警报导入功能均不会调用AI模型,因此既不会消耗额度也不会占用智能体工时。各组织自身的扫描任务在运行时将占用该组织的其中一个智能体插槽;若无可用插槽,任务会进入等待状态,在Mission Control中显示为等待中,且扫描覆盖率在任务运行前会显示为未知。在Mission Control中暂停智能体工作并不会暂停安全扫描。
- 调用模型的相关工作与其他工作一样会收取费用。包括修复任务、安全审计,以及对Coroid审核模块所宣称的安全特性进行的独立核查。这类任务会消耗您的额度和智能体工时,相关记录会出现在“设置”→“活动”页面中;当额度或工时耗尽时任务会进入等待状态,但检测功能会持续运行。
暂未覆盖的内容
容器镜像、基础设施即代码、运行时扫描及许可证相关内容暂不在覆盖范围内。CI工作流配置仅由Coroid现有的代码规则覆盖。“概览”页面会明确说明这一点,因此不会出现将未覆盖内容误标为已覆盖的情况。