Safeguard
Supply Chain•

Are unsigned releases a reason not to adopt an open source package?

Unsigned releases weaken your ability to verify what you install, but they are not an automatic reject. What to check instead and how to compensate.

Safeguard Security Team
3 min read

Unsigned releases are a weakness, not an automatic reject. A signature lets you verify that a release came from the claimed publisher and was not altered. Without one, you rely on other evidence: build provenance, pinned hashes, a reviewed diff and the registry's own integrity checks.

What a signature gives you

OpenSSF Scorecard includes a Signed-Releases check, rated high risk, that asks whether releases are cryptographically signed. The point of signing is verification: when you download an artifact, you can confirm who produced it and that it was not changed after signing.

Without signatures, a compromised mirror, release page or storage bucket could swap an artifact and you would have no cryptographic way to notice. That risk is mostly relevant when you download release binaries or tarballs directly from a project page. For packages installed through a registry, the registry adds its own integrity data.

Signature, provenance and checksum are different

ItemAnswersLimit
ChecksumIs this the file the page listed?Anyone who changes the file can change the page
SignatureDid the key holder produce this?Key can be stolen, and trusting the key is a separate decision
Build provenanceWhere and how was it built?Does not prove the source is benign

The npm documentation describes provenance attestations as signed through Sigstore public good servers and logged in a public transparency ledger, and says a verified attestation shows where a package was built, not that its code is safe. For more, see checksum versus signature.

When it matters most

  • You download binaries or installers from a project site, rather than a registry.
  • The package will run in your build pipeline or with elevated privileges.
  • You mirror or cache artifacts inside your company.

For a registry hosted library used as a normal dependency, missing signatures are a smaller concern than a missing owner list or a dangerous workflow.

How to compensate

  1. Pin the exact version and record its content hash in the lockfile.
  2. For npm packages, run npm audit signatures to check what registry signatures and attestations exist.
  3. Diff each upgrade rather than accepting it blindly.
  4. Fetch artifacts only from the official source, and cross-check the checksum from a second place such as the repository.
  5. Ask the maintainer whether signing is planned. Many are glad to adopt it when someone asks.
  6. Record the gap and the compensating control in your adoption record.

A reasonable policy

Treat unsigned releases as a required condition, not a veto, for low and medium blast radius packages. For code that runs at privileged points, require either signatures or provenance, plus a human read of changes.

Safeguard can help here. Its SBOM and dependency scanning, reachability analysis and policy gates cover the checks that should repeat after adoption, and the free scan at gold.safeguard.sh/scan shows what a project already depends on.

Quick check

Does a valid signature mean the release is safe?

No. It proves who signed it and that it was unchanged. A signed file from a compromised maintainer is still harmful.

Is provenance a replacement for signing?

They answer related but different questions. Where you can, look for both.

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.