用途:为容器构建流程实现软件供应链完整性验证。in-toto 是 CNCF 毕业项目,通过在供应链每个步骤生成加密签名的证明(link metadata),记录发生了什么、由谁执行、产出了哪些制品,从而验证部署到 Kubernetes 的镜像遵循了经批准的构建流程且未被篡改。
主要能力:定义供应链布局(layout)作为策略文档,包含步骤(clone、build、test、package、push)、执行者(人员或 CI 系统)、检查项及预期制品;每步执行生成 link 文件,记录输入输出制品哈希、执行的命令及执行者签名;部署时验证所有步骤已执行、签名有效、制品哈希链正确、无未授权修改。
使用方式:需 Python 3.8+ 或 Go 运行时、GPG 或 Ed25519 密钥、容器构建流水线(Docker、Buildah 或 Kaniko)、容器镜像仓库及 Kubernetes 集群。流程包括:用 in-toto-keygen 生成签名密钥;用 Python 脚本创建并签名供应链布局;在 CI/CD 中用 in-toto-run 记录各步骤;部署前用 in-toto-verify 验证;可通过 ValidatingWebhookConfiguration 集成 Kubernetes 准入控制。
适用场景:容器镜像构建与部署的供应链安全验证,可与 SLSA 框架对应(Level 1 有布局文档,Level 2 托管构建服务签名证明,Level 3 加固构建平台,Level 4 双人审查与封闭构建)。
限制:资料未提供具体收费、价格或平台支持信息;实际部署需自行配置密钥管理、CI/CD 集成及策略引擎。