仓库指标

安全态势

inspect.software 如何以 OpenSSF Scorecard 衡量安全态势——按风险加权、与工具无关的检查,并有明文规定的回退机制。占指数的 16%。

方法论 v1.13.0更新于 2026-07-14

安全态势衡量可见的安全卫生状况,以 OpenSSF Scorecard 为支撑—— 由 Open Source Security Foundation 维护的中立、版本化、与工具无关的安全标准。它提供安全类别的基础值,该类别占 总健康指数 16%高风险司法辖区暴露只能通过公开政策乘数降低该值。

  • 类别:安全(乘数前的基础值)
  • 在总指数中的权重:司法辖区政策调整前 16%
  • 指标键名:security_posture

数值如何计算

每项 Scorecard 检查成为一个组成部分,按 Scorecard 自身的风险级别加权

Scorecard 风险级别组成部分权重
Critical10
High7.5
Medium5
Low2.5

因此汇总后的 1–100 数值跟随 Scorecard 的 0–10 聚合得分(value ≈ aggregate × 10)。Scorecard 报告为无法判定的检查—— 例如没有管理员令牌时的 Branch-Protection——会被排除并重新归一化,绝不按零计入。正是这条规则使运作良好、但使用非 GitHub 工具链的项目不至于读数接近零;它记录于 方法论版本(0.6.0)。

每份报告都呈现完整的逐项检查明细——每项检查的得分、判定理由,以及指向 Scorecard 文档的链接。

共享证据

安全类别保留完整的风险加权 Scorecard 结果。其中七项检查同时为其他健康维度提供实证。六项在相应位置提供小型、单独加权的 OpenSSF Scorecard: … 组成部分:MaintainedSigned-ReleasesContributorsCode-ReviewCI-TestsPinned-Dependencies。第七项 License社区健康中唯一的许可证信号——在那里以通用名称 License 显示,当无 Scorecard 可用时回退到 GitHub 的社区档案。这是有意设计的跨类别影响,而非对 Scorecard 安全风险权重的重复使用。无法判定(n/a)的检查在所有位置均被排除。

这些检查奖励什么

奖励实践本身,绝不奖励某家厂商的配置文件:

  • 依赖更新自动化——Dependabot、Renovate 或任何被认可的工具。
  • 静态分析(SAST)——CodeQL、Semgrep 或同等工具。
  • 无已知存在漏洞的依赖——风险级别最高的检查。
  • 最小权限的工作流令牌锁定的依赖签名发布安全策略,等等。

回退路径

运行 Scorecard 需要其 CLI;当其不可用时,该指标回退到粗粒度的文件树信号,且报告明确标注数据来源(inputs.source == "file_signals"):

回退组成部分权重备注
安全策略(SECURITY.md)30
Dependabot 配置25
依赖锁定文件25仅适用于应用程序——类库按惯例发布时不提交锁定文件,因此对类库排除此项检查(参见 0.9.0)
CodeQL 工作流20

如何解读结果

这不是对代码的漏洞扫描。数值优异意味着可见实践优异;它无法排除尚未发现的缺陷或被攻陷的账户。参见信号,而非担保
  • 将聚合得分与逐项检查表对照:一个中等数值若源于某项 critical 检查失败,与各项普遍平庸是截然不同的情形。
  • n/a 行表示无法判定的检查——被排除,而非未通过。

提升数值

  • 发布 SECURITY.md,启用自动依赖更新,并添加 SAST 工作流。
  • 优先解决已知存在漏洞的依赖——风险权重最高,现实收益也最高。
  • 为 CI 工作流设置明确的最小权限,并锁定第三方 actions。

相关条目:安全 · 方法论版本