Skip to content
Back to blog
CI/CD

Signing and Verifying Build Artifacts

How artifact signing prevents supply chain tampering between build and deployment, and how to add it with Sigstore/cosign without a major pipeline overhaul.

S
SecureScout Team· Security Engineering
July 17, 20265 min read

A build pipeline that produces an artifact, but never verifies that the exact same artifact is what gets deployed, has a gap an attacker can exploit at any point between build and deploy.

The problem artifact signing solves

Without signing, nothing prevents a compromised registry, a man-in-the-middle, or a compromised deployment step from swapping your legitimate build output for a tampered one. Signing creates a verifiable link between "this specific artifact" and "this specific, trusted build process."

How signing works, briefly

  1. After building an artifact (a container image, a binary, a package), the CI pipeline signs it using a private key or a short-lived signing certificate.
  2. The signature, along with metadata about the build (what commit, what pipeline, what timestamp), is stored — often alongside the artifact in the registry.
  3. At deploy time, before the artifact runs, a verification step checks the signature against a trusted public key or certificate authority.

Keyless signing with Sigstore

Traditional signing requires managing and rotating private keys — itself a secret-management problem. Sigstore's cosign supports keyless signing: your CI pipeline authenticates via OIDC (its existing identity with GitHub Actions, GitLab CI, etc.), and Sigstore issues a short-lived certificate tied to that identity for a single signing operation. No long-lived key to leak or rotate.

cosign sign --yes myregistry.io/app:v1.2.3
cosign verify --certificate-identity-regexp ".*" myregistry.io/app:v1.2.3

Where to enforce verification

Signature verification should happen at the point of deployment — in your admission controller (for Kubernetes), or as a required gate in your deployment pipeline. Signing without enforced verification is just metadata; the security value comes from refusing to deploy anything that fails verification.

Getting started incrementally

You don't need full enforcement on day one. Start by signing artifacts and logging verification results without blocking deploys, build confidence in the process, then move to hard enforcement once false positives are eliminated.

Signing doesn't replace other supply chain controls like dependency scanning — it closes a different gap: making sure what you scanned and approved is actually what runs in production.

supply-chainartifact-signingsigstore

Frequently Asked Questions

What does artifact signing actually prevent?

It prevents an attacker from substituting a tampered artifact between the point it was built and the point it's deployed — including a compromised registry, a man-in-the-middle during transfer, or a malicious insider swapping artifacts.

Do we need to manage our own signing keys?

Not necessarily. Sigstore's keyless signing uses short-lived certificates tied to an OIDC identity (like your CI provider's identity), removing the need to manage and rotate long-lived private keys yourself.

Related Articles

S

SecureScout Team

Security Engineering

Learn more →