供应链安全是什么
软件供应链安全指从依赖引入、构建、打包到分发的全链路防护:制品里既有自己写的代码,也有成百上千个第三方组件,任何一段被污染都可能进入生产。SLSA 是 OpenSSF 维护的供应链分级规范,构建轨道分 L1 到 L3,用构建过程可追溯、有签名证明、环境隔离逐级约束;落地从固定依赖与可追溯构建开始,而非一步到位。
基本信息
| 关注点 | 依赖来源、构建环境隔离、构建证明(provenance)、签名与校验 |
|---|---|
| SLSA | OpenSSF 维护的分级规范,构建轨道 L1-L3,级别越高对隔离与防伪造要求越高 |
| 配套实践 | 依赖锁定与私有代理仓库、SBOM 组件清单、制品签名与部署准入校验 |
| 落地起点 | 固定依赖版本、构建来源可追溯、制品签名后入库 |
SLSA 构建轨道速读
| 级别 | 要点 |
|---|---|
| L1 | 构建自动化并生成 provenance,可追溯谁用什么构建了什么 |
| L2 | 构建由托管服务执行,provenance 带服务签名,防伪造 |
| L3 | 构建环境加固隔离,签名密钥对构建过程不可见,防篡改 |
典型使用场景
- 依赖引入评估:看来源、维护活跃度、许可证与已知漏洞再放行
- 发布加签名:制品签名入库,部署准入只放行签名有效且来源可信的版本
- 漏洞应急响应:用 SBOM 在数小时内定位受影响制品,而不是逐个仓库排查
- 合规与客户评审:用 provenance 证明材料由可追溯的构建产生
- 内部平台统一构建:集中生成 provenance 与 SBOM,业务仓库零改造接入
最小动作清单
最小动作清单
# 供应链加固最小动作(按顺序落地)
1. 依赖锁定 + 私有代理仓库(防依赖混淆、控制来源)
2. 构建在受控环境执行,生成 provenance(构建来源证明)
3. 制品签名并记录校验信息(摘要、签名、SBOM)
4. 部署侧只接受来自可信仓库且签名有效的制品
5. 定期演练:模拟组件漏洞,验证定位与出清速度渐进式推进:先做到 L1 级别的构建过程可追溯,再谈隔离与证明。
依赖混淆是常见攻击面:公共源上出现与内部包同名的包时可能被优先解析,内部包名放进私有代理仓库并固定源顺序。