通过10 的 digest可以检验拿到的 blob 是否和 manifest 里写的一样;但“内容没有变化”并未回答谁构建的、输入从何而来、程序是否有漏洞、运行时拥有何种权限。签名与构建来源同样不能替代08 的运行约束。

四个问题独立判定

digest 用于核对字节;签名需要验证身份、信任策略和被签对象的 digest;SBOM 描述制品包含的软件成分,只有核对生成器、覆盖范围与版本才可用于下一步扫描;SLSA Provenance v1.0 为构建过程的输入、构建器和产物提供可核查的谓词语义,不能凭存在 attestation 就推断构建平台可信或扫描零漏洞。即便某个制品在签名策略中被允许,运行容器的 UID/capabilities、seccomp 和卷权限仍需另行检查。

正例在专用 VM 仅针对自建 probe-app 镜像 digest 建立合成测试身份、生成来源与签名,核验签名绑定的精确 digest,并使用独立策略允许自有身份;反例替换身份或重新构建得到另一 digest,验证应拒绝,再检查拒绝发生在签名策略而非 registry 下载。保留实际工具版本、密钥托管模式、验证原始日志,测试密钥绝不进入文章包。资料与补跑入口及同一制品输入不预置私钥。本机没有构建器/签名工具、可固定的 CI 身份,签名与准入实验均 NOT_RUN。

现象 核对 不能推出
digest 一致 blob 与 manifest 字节 构建来源可信
签名通过 身份、策略、签名目标 没有漏洞/权限风险
有 SBOM 软件组成与扫描输入 运行时行为安全

练习

  1. 先预测只替换签名身份、不改镜像 digest 后策略会如何处理;专用 VM 用测试身份记录签名校验与准入结果。
  2. 预测同一源码重新构建而 digest 改变是否仍应被旧签名接受,比较 provenance 所指产物与实际拉取 digest。

上一篇:32:排障;下一篇:34:冷启动分段。

系列总目录:从进程隔离到运行时与编排。

参考资料