Safeguard
Supply Chain•

Does Spack sign its binary packages, and which key should you trust?

Spack CI signs package metadata with GPG keys in two classes. Only the public facing Reputational Key should be used to verify package integrity.

Safeguard Security Team
3 min read

Yes. Spack's CI signs public release package metadata, called specs, using GNU Privacy Guard keys. Its documentation says users should verify package integrity with the public facing Reputational Key, not the internal Intermediate CI Key, which is only for the CI process.

The key architecture

Spack's signing documentation explains that its pipeline uses public key infrastructure based on GPG keypairs. Two classes of keys are involved, chosen to reduce the impact of one private key being compromised.

  • Intermediate CI Key. Used to sign inside the pipeline. The docs say these keys are rotated on a semi regular basis and should not be used to verify package integrity outside the internal CI process.
  • Reputational Key. The public facing key that signs complete groups of development and release packages. Only one key pair exists in this class, and the docs say it should be used to verify package integrity.

At the end of a pipeline, a final job collects the signed metadata, verifies it carries an Intermediate CI Key signature, strips that signature and re-signs it with the Reputational Key.

Why HPC users should care

Shared clusters often install scientific software with Spack, sometimes as a binary from a build cache to save hours of compilation. A cache is a place where a swapped file would affect many users at once. Signature checking is what turns a cache from a convenience into something you can reason about.

The docs also say Spack's design keeps the official keys away from unreviewed code and from any specific build environment, which is the core of the model.

Steps for a cluster admin

  1. Find the project's documented public key and its fingerprint on its official documentation.
  2. Import the key using the commands in the signing guide.
  3. Keep signature checking enabled when installing from a cache. Do not disable it to get past an error without finding the cause.
  4. For source builds, remember that Spack records checksums of source archives when a package is created, so a changed archive fails to match.
  5. Record the Spack version and the environment lock file with your results.
LayerControl
Source archiveChecksum in the package definition
Build cache metadataGPG signature
Your environmentLock file and recorded versions

Also read who patches a shared HPC cluster.

Try it yourself

Click through it at your own pace, or open it full screen. Look at the component list, which is what you would reconcile with your cluster module list.

Quick check

Which Spack key should I verify packages with?

The Reputational Key, according to the signing documentation. The Intermediate CI Key is for internal pipeline use.

Does a valid signature mean a package has no vulnerabilities?

No. It shows who signed the metadata and that it was not changed. It says nothing about flaws in the software itself.

Safeguard's SBOM and dependency scanning can inventory software on a host or project, and a free scan is available.

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.