首页/开发/CI/CD 与发布速查/软件供应链安全(SLSA 视角)
流水线设计54 条

软件供应链安全(SLSA 视角)

从源码、构建到分发逐段加固:来源可信、构建可证明、制品可签名、分发可校验——SLSA 框架把这些目标分级。

CI/CD 与发布速查开发更新于 2026-10-13

供应链安全是什么

软件供应链安全指从依赖引入、构建、打包到分发的全链路防护:制品里既有自己写的代码,也有成百上千个第三方组件,任何一段被污染都可能进入生产。SLSA 是 OpenSSF 维护的供应链分级规范,构建轨道分 L1 到 L3,用构建过程可追溯、有签名证明、环境隔离逐级约束;落地从固定依赖与可追溯构建开始,而非一步到位。

基本信息

关注点依赖来源、构建环境隔离、构建证明(provenance)、签名与校验
SLSAOpenSSF 维护的分级规范,构建轨道 L1-L3,级别越高对隔离与防伪造要求越高
配套实践依赖锁定与私有代理仓库、SBOM 组件清单、制品签名与部署准入校验
落地起点固定依赖版本、构建来源可追溯、制品签名后入库

SLSA 构建轨道速读

级别要点
L1构建自动化并生成 provenance,可追溯谁用什么构建了什么
L2构建由托管服务执行,provenance 带服务签名,防伪造
L3构建环境加固隔离,签名密钥对构建过程不可见,防篡改

典型使用场景

  • 依赖引入评估:看来源、维护活跃度、许可证与已知漏洞再放行
  • 发布加签名:制品签名入库,部署准入只放行签名有效且来源可信的版本
  • 漏洞应急响应:用 SBOM 在数小时内定位受影响制品,而不是逐个仓库排查
  • 合规与客户评审:用 provenance 证明材料由可追溯的构建产生
  • 内部平台统一构建:集中生成 provenance 与 SBOM,业务仓库零改造接入

最小动作清单

最小动作清单
# 供应链加固最小动作(按顺序落地)
1. 依赖锁定 + 私有代理仓库(防依赖混淆、控制来源)
2. 构建在受控环境执行,生成 provenance(构建来源证明)
3. 制品签名并记录校验信息(摘要、签名、SBOM)
4. 部署侧只接受来自可信仓库且签名有效的制品
5. 定期演练:模拟组件漏洞,验证定位与出清速度
渐进式推进:先做到 L1 级别的构建过程可追溯,再谈隔离与证明。
依赖混淆是常见攻击面:公共源上出现与内部包同名的包时可能被优先解析,内部包名放进私有代理仓库并固定源顺序。

易错点

  • 直接从公网拉依赖不做校验:依赖混淆与投毒风险敞口大,内部同名包可能被公共源的高版本抢占
  • 把 SLSA 当一次性合规项目:它是随流水线持续演进的工程实践,停在某个级别后很快形同虚设
  • SBOM 只生成不消费:出事时没人会用,演练一次从 SBOM 查出受影响服务才有价值
  • 签名与准入脱节:签了名但部署不校验签名,防护只剩形式

数据来源与参考

  • SLSA 规范(slsa.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌