Sigstore Cosign 容器验证器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sigstore-cosign-container-verifier。
技能介绍
它解决什么问题
在多团队共用的 CI/CD 流水线里,容器镜像往往要经过多次仓库中转、重新打 tag,才进入生产环境。当你想确认「这个镜像确实是官方构建流水线签出来的,且内容没有被替换过」时,只看 tag 名或仓库名是不够的——你需要可验证的签名,以及一份不可抵赖的审计记录。
核心能力与工作流程
该技能围绕 Sigstore Cosign 与 Rekor 透明日志展开:
- 签名验证:用
cosign对目标镜像执行签名校验,将镜像签名与指定身份(identity)的公钥比对,确认镜像未被篡改。 - 透明日志校验:结合 Rekor 检查签名条目是否已写入公开的防篡改日志,并可将日志中记录的
Docker-manifest-digest与实际镜像清单比对。 - 供应链策略落地:可与 OPA Gatekeeper 准入规则集成,把签名校验结果变成准入决策——签名不通过的镜像无法进入集群。
- 来源信息关联:依据签名类型
cosign container image signature,把签名身份与镜像引用(docker-reference)关联成一条可追溯的来源链。
典型步骤:先用 digest 而非 tag 锁定镜像,再依次完成签名校验与 Rekor 日志条目检查,最后将校验结果传递给准入控制层做决策。
适用边界与注意点
- 大多数验证流程需要周期性地从 TUF 仓库获取 service keys;若密钥未及时更新,验证会直接失败。
- 出现
failed to verify timestamps: threshold not met... integrated timestamps: 0 < 1这类错误时,很可能是签名依赖 RFC3161 时间戳支持,需要确认你的校验链路是否已启用该能力。 - 验证结果强依赖签名与日志数据的完整性:若签名生成时未写入 Rekor,事后无法补录,也无法凭日志完成溯源。
使用场景
- Kubernetes集群部署前用cosign校验镜像签名,拒绝未签名镜像
- 安全排查时用Rekor验证签名条目,比对镜像digest确认来源
- 配置OPA Gatekeeper准入规则,将签名校验作为镜像入群门槛
- 定期从TUF仓库更新service keys,保障签名验证流程持续可用
适合人员
- DevOps工程师:需要在CI/CD流水线中强制镜像签名校验
- Kubernetes平台负责人:希望用Gatekeeper管控镜像准入
- 安全工程师:负责审计容器供应链来源并追溯签名记录
- 容器构建负责人:需要确保CI产出的镜像可被下游环境验证