Problem
Compromised dependencies, build servers or registries can inject malicious code that deploys as if it were legitimate. Without provenance, operators cannot tell a genuine image from a tampered one.
Also known as: sigstore-cosign, slsa-provenance, sbom-verification
Prove where a build artifact came from and that it is unmodified, and refuse to deploy anything that cannot be verified.
Compromised dependencies, build servers or registries can inject malicious code that deploys as if it were legitimate. Without provenance, operators cannot tell a genuine image from a tampered one.
Supply-chain security shifts trust from where an artifact is stored to evidence about how it was built. A signature binds a digest to an identity; provenance records the source, builder and inputs; an SBOM lists components so new vulnerabilities can be traced.
Adopt it incrementally: first generate SBOMs and pin dependencies, then sign images in CI, then run verification in audit mode in the cluster, and finally enforce. Measure with SLSA levels as a roadmap and track how many production workloads are verified versus exempt.
CI (ephemeral, OIDC identity)
build image from locked deps -> digest sha256:abc
cosign sign registry/app@sha256:abc # keyless, logged in Rekor
attest provenance + SBOM
Deploy:
admission policy:
verify signature, issuer == our CI workflow identity
verify provenance: source repo main branch, builder trusted
deny if unsigned, tag-only reference, or policy fails
Reference images by digest so what is verified is exactly what runs.
Low to medium — signing, registry and policy engine
Medium — policy and key or identity management
Medium to high
Compromised CI identity signs malicious artifacts
Mutable tags deployed instead of digests bypass verification
Admission controller outage blocks deploys or is set to fail-open