Safeguard
Supply Chain•

How do you verify a supplier's signed release and build attestation?

Signatures and attestations prove who built an artifact and how. Learn what Sigstore and GitHub attestations show and the checks to run before you deploy.

Safeguard Security Team
4 min read

Verify a supplier's release by checking the signature against the identity you expect, then checking the build attestation to see which repository and workflow produced it. A valid signature proves the artifact was not altered after signing. An attestation says where and how it was built. Neither proves the code is safe.

Two different questions

Was this file changed after the supplier produced it? A signature answers that.

Where and how was it built? Provenance answers that. GitHub's documentation says artifact attestations establish where and how your software was built, and SBOM attestations tie a bill of materials to the artifact it describes.

Sigstore, the open source signing project, aims to make the first question easier. Its documentation says signing uses ephemeral keys, so developers do not manage long-lived keys, and signing events go to a public log that anyone can audit. The parts are cosign, the client that signs; Fulcio, a certificate authority that issues short-lived certificates tied to an identity; and Rekor, an append-only ledger of signing records.

A verification routine

  1. Get the expected identity first. Ask the supplier, in writing, which repository, workflow or account signs releases. Do this before you look at the artifact.
  2. Verify the signature. For container images and files signed with Sigstore, use cosign and require the expected identity, not just any valid signature.
  3. Verify the attestation. For artifacts built on GitHub, the documentation shows gh attestation verify with the artifact path and the repository, and an oci:// prefix for container images.
  4. Read the claims. Confirm the repository name, branch or tag, and workflow match what you expected.
  5. Check the SBOM attestation if present. It should describe the exact artifact digest you hold.
  6. Record the result with the artifact digest and date, so you can show an auditor what you did.

What can still go wrong

SituationWhy verification passes anyway
Compromised build workflowThe malicious build is signed by the real pipeline
Wrong identity acceptedYou verified a signature, not the right signer
Stale attestationIt describes an older artifact
Malicious dependencyProvenance covers the build, not every input's intent

That is why identity pinning in step one matters most. Verification without an expected signer is a checksum with extra steps.

What to ask a supplier who has no signing

Not every supplier signs yet. Ask for a roadmap, what they publish instead (hash lists on a separate channel, for example) and how they protect the build system. Treat unsigned delivery as a risk to manage, not an automatic no.

Try it yourself

Open the demo to see a container image scan, including the information recorded for each layer. Think about which of those details you would want tied to a signature.

Click through it at your own pace, or open it full screen.

Safeguard scans container images and generates SBOMs, which gives you a second view alongside any supplier attestation. A free scan is a place to start.

Quick check

Does a valid signature mean the software is safe?

No. It means the artifact matches what the signer produced. The signer can still ship a flaw.

Do I need Sigstore to verify releases?

No. Other signing schemes exist. The principle is the same: pin the expected signer, then verify.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.