OpenSSF Scorecard 怎样查看分支保护分数
想用 OpenSSF Scorecard 查看一个仓库的分支保护分数,先不要看页面顶部的 Aggregate score。正确做法是打开项目结果,定位 Branch-Protection 这一行,再展开详情;如果项目不在公开结果里,就用 CLI 只运行这个检查。
官方地址:https://scorecard.dev/viewer/
Branch-Protection 是一个 0–10 分的单项检查,而且采用分层计分:Tier 1 没通过时,后面即使配置得很完整,也不会直接拿到更高层级的分数。
- 先找对指标:看
Branch-Protection,不要用总分代替它。 - 再看分层:3、6、8、9、10 分分别对应不同的保护门槛。
- 最后看范围:Scorecard 主要判断默认分支和发布分支,令牌权限也会影响可见设置。
OpenSSF Scorecard 查看入口怎么选
公开项目可以使用 Scorecard Viewer,把仓库路径作为查询对象,进入结果页后在检查列表中找到 Branch-Protection。这里要区分两类数字:Aggregate score 是所有检查按风险权重计算的总分,Branch-Protection 旁边的数字才是分支保护单项分数。
如果 Viewer 没有现成结果,或你想针对某个仓库即时查看,可以用 CLI。官方 CLI 支持用 --checks 缩小检查范围,用 --show-details 展开原因:
# 只查看目标仓库的分支保护检查,并展开每条规则的原因 scorecard --repo=github.com/your-org/your-repo \ --checks=Branch-Protection \ --show-details # 需要脚本读取结果时,改为官方支持的 JSON 格式 scorecard --repo=github.com/your-org/your-repo \ --checks=Branch-Protection \ --format=json
把 your-org/your-repo 换成实际仓库路径即可。查看结果时先确认仓库对象没有写错,再记录单项分数和原因文本,避免把另一个项目的总分当成当前仓库的分支保护结论。

Branch-Protection 的 0–10 分怎样读
Scorecard 的 Branch-Protection 不是把每个开关简单相加,而是逐层满足门槛。当前官方检查文档给出的阅读方式可以整理成下面这张速查表:
| 最高层级 | 需要满足的核心条件 | 对应分数 |
|---|---|---|
| Tier 1 | 禁止强制推送、禁止删除分支 | 3/10 |
| Tier 2 | 至少 1 名审核者;管理员变更也走 PR;分支保持最新或使用合并队列;审核最近一次可审查推送 | 6/10 |
| Tier 3 | 合并前至少通过 1 项状态检查 | 8/10 |
| Tier 4 | 至少 2 名审核者,并要求 CODEOWNERS 审核 | 9/10 |
| Tier 5 | 新提交后撤销过期审核,并把管理员纳入审核约束 | 10/10 |
例如,仓库启用了两名审核者和状态检查,但仍允许删除默认分支,那么 Tier 1 没有完整满足,分数就可能停在较低层级。读详情比只看分数更重要,因为详情会指出是哪个分支、哪项规则没有满足。

为什么同一个仓库可能看到不同分数
第一类差异来自检查范围。官方文档说明,Branch-Protection 主要检查项目的默认分支和发布分支;某个开发分支设置得很严,并不会自动把默认分支的分数抬高。阅读详情时要看它列出的分支名,而不是只看仓库里任意一条规则。
第二类差异来自权限。DismissStaleReviews、EnforceAdmins、最近一次可审查推送和严格状态检查等设置,可能需要管理员令牌才能完整读取。令牌权限不足时,Scorecard 会基于它能访问到的设置计算结果;这时不要把“未显示”直接等同于“仓库未配置”。
第三类差异来自规则集覆盖。GitHub 的 Repository Rules 可以覆盖分支保护规则的部分能力,Scorecard 的官方说明也提示规则集和经典 Branch Protection 的可读权限不同。排查时把分支名、规则来源和访问权限一起记录。
按分数缺口安排修复和复查
查看分数的目的不是追求一个脱离场景的数字,而是找到下一项实际控制。可以按下面顺序处理:
- 先补 Tier 1:关闭默认分支和发布分支的强推、删除能力,避免公共历史被直接改写。
- 再补审核门槛:至少要求一名独立审核者;团队规模允许时再增加第二名审核者和 CODEOWNERS。
- 补齐合并前检查:把真正能阻止缺陷进入主分支的 CI 状态检查设为必需,而不是只运行但不阻塞合并。
- 确认管理员边界:决定管理员是否也必须走 PR、是否撤销过期审核,并使用足够权限重新读取详情。
复查时只比较同一个仓库、同一组目标分支和同一权限条件下的结果。如果只换了令牌或规则集,而没有保留这些上下文,分数变化很难说明真实配置变好了还是读取范围变了。
常见问题
Branch-Protection 分数和 Scorecard 总分有什么区别?
Branch-Protection 是单项检查,范围是分支保护;Aggregate score 是多个检查按风险权重合成的总分。要回答“分支保护做得怎样”,应引用单项分数和详情。
为什么设置了很多规则,分数还是只有 3 分?
先查 Tier 1 的强推和删除保护。Scorecard 是分层计分,低层级未完整满足时,高层级条件不会直接叠加。
没有管理员令牌还能查看吗?
可以查看,但部分仅管理员可读的设置可能无法完整判断。应在结果里保留权限条件,必要时用有权限的维护者令牌重新运行;不要把权限不可见当成规则一定缺失。
MySQL GET_LOCK 怎样实现同一任务的单实例执行
- 上一篇
- MySQL GET_LOCK 怎样实现同一任务的单实例执行
- 下一篇
- PHP curl_multi_select 返回 -1 时怎样避免多请求循环空转
-
- 科技周边 · 业界新闻 | 5小时前 |
- Kubernetes IngressClass 怎样选择控制器
- 125浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 | 工作负载身份 SPIFFE ID SPIRE Workload API SVID
- SPIFFE ID 怎样映射到工作负载身份
- 377浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 |
- GitHub Actions 怎样为工作流设置并发取消策略
- 467浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 | Kubernetes 镜像标签 OCI 镜像摘要 多平台镜像
- OCI 镜像标签和摘要怎样选择部署引用
- 299浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 |
- OpenTelemetry 怎样为服务添加资源属性
- 292浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 | 环境变量 Kubernetes 配置更新 ConfigMap 文件挂载
- Kubernetes ConfigMap 怎样区分环境变量与文件挂载
- 103浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 |
- OpenTelemetry 安全版本策略变化怎样影响 SDK 升级
- 484浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 |
- Kubernetes CronJob 怎样避免任务并发运行
- 241浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 |
- Kubernetes Service 怎样选择 headless 服务发现
- 372浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 | 失败重试 backoffLimit Kubernetes Job activeDeadlineSeconds
- Kubernetes Job 怎样设置失败重试次数
- 295浏览 收藏
-
- 科技周边 · 业界新闻 | 6小时前 | Kubernetes 滚动更新 Deployment maxUnavailable maxSurge
- Kubernetes Deployment 怎样理解滚动更新的最大不可用数
- 478浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 | gitHub actions · 供应链安全 · GitHub Actions GitHub CLI artifact attestations 构建来源
- GitHub Actions artifact attestations 的构建来源核对方法
- 474浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 722次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 731次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 805次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 768次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 606次使用
-
- 蒙面演唱引争议,旺仔小乔被平台封禁
- 2025-08-08 501浏览
-
- openGauss向量驱动升级,RAC多写突破内核
- 2025-07-30 501浏览
-
- 安普瑞斯工厂放假,电芯供应受影响
- 2025-07-04 501浏览
-
- 农产品APP开发优势与功能全解析
- 2025-04-30 501浏览
-
- 开店省钱妙招,外卖系统同城配送运营攻略
- 2025-04-26 501浏览

