概念定义
来源证明把签名声明绑定到一个构建构件,描述其来源:源仓库与提交、构建系统与命令、输入与依赖摘要、时间戳。该声明由构建方签名,并与构件一同存放,使消费方能验证二进制确实来自所声称的源码与流程,而非被篡改的流水线。它是供应链安全的证据层,与对构件本身签名互补。
为什么重要
供应链攻击攻陷的是构建而非源码:被投毒的依赖、被注入的步骤或被盗的流水线凭据,都能产出看似合法的恶意二进制。来源证明让这一缺口可见——消费方可拒绝其声称来源与输入不符合自身策略的构件。它是 SLSA 等框架定义更高保障等级的基础。
工程实践
在真正产出构件的隔离构建系统中生成来源证明,用与该构建方绑定的密钥或身份签名,并把它发布在构件旁边。精确记录足以被验证的依赖与工具摘要,并在消费侧强制执行验证——未经核验的证明毫无价值。每次构建都重新生成,并把来源证明的生成与验证当作持续测试的路径,而非一次性的配置。