Scorecard
定义:基于 OpenSSF Scorecard 的开源项目安全评估指标,用于评估项目的安全性和最佳实践遵循情况。
评估模型中的指标
Scorecard 是一个自动化安全工具,用于评估开源项目的安全风险。本评估模型参考 Scorecard Checks 文档 进行实现,通过多个维度的检查来评估项目的安全状况。
二进制制品
- 定义:检查项目中是否包含生成的二进制文件
- 得分范围:0-10
- 权重:10%
- 风险等级:高
- 评分规则:仓库中没有未验证的二进制文件10分,每个未验证的二进制文件扣除1分,最低0分
包含生成的二进制文件会增加用户风险。许多编程语言系统可以从源代码生 成可执行文件(如 C/C++ 生成的机器码、Java .class 文件、Python .pyc 文件等)。如果源代码仓库中包含可执行文件,用户通常会直接使用这些可执行文件,导致许多危险行为。
分支保护
- 定义:检查默认分支和发布分支是否受到保护
- 得分范围:0-10
- 权重:10%
- 风险等级:高
- 评分规则:默认分支和发布分支都是分支保护10分,其中一个不是分支保护5分,都不是分支保护0分
分支保护允许维护者定义规则来强制执行某些工作流程,例如在合并到主分支前要求审查或通过某些状态检查,或防止重写公共历史。
CI测试
- 定义:检查项目是否在合并 PR 前运行测试
- 得分范围:0-10
- 权重:8%
- 风险等级:低
- 评分规则:(通过CI测试的合并PR数量 / 总合并PR数量)* 10
- 注意:暂不支持
运行测试有助于开发人员及早发现错误,这可以减少进入项目的漏洞数量。
CII最佳实践
- 定义:检查项目是否获得 OpenSSF 最佳实践徽章
- 得分范围:0-10
- 权重:8%