CME-712

Container Image Signing and Provenance Verification (Cosign/Sigstore)

Description

Require cryptographic signatures on container images before deployment. Cosign/Sigstore verify image provenance against a trust policy, ensuring only images from authorized build pipelines are admitted. Blocks supply chain attacks where a compromised registry or build system pushes malicious images. Verification can be enforced at admission time via policy controllers (Kyverno, Gatekeeper with cosign) or at pull time via container runtime trust policies (Podman policy.json, CRI-O).

CVSS Vector Impacts

Metric Transition Rationale
Attack Complexity (AC) L H Attacker must forge a valid cryptographic signature or compromise the signing key to inject a malicious container image; simply pushing to a registry is insufficient
Integrity (I) H L Unsigned or tampered images are rejected at admission; modifications to images after signing are detected and blocked

CWE Relationships

Verification

Verify image signature verification is enforced at admission or runtime level

$ kubectl get clusterimagepolicy --no-headers 2>/dev/null || kubectl get policy.sigstore.dev --no-headers 2>/dev/null
# Expected: Image policy resources present
Platform: kubernetes
$ podman image trust show
# Expected: Trust policy configured with signature requirements for production registries
Platform: linux
$ cosign verify --key /path/to/cosign.pub <image> 2>&1 | head -1
# Expected: Verification for <image> -- The following checks were performed
Platform: any
← CME-711: Admission Controller Policy Enforcement (OPA/Gatekeeper/Kyverno) CME-713: Read-Only Root Filesystem Enforcement →