Release Verification
This page covers release-side offline verification for published InvarLock artifacts. It does not describe proof-pack verification. Proof packs remain the mechanism for evaluation evidence; release bundles cover wheels, source tarballs, and supply-chain metadata attached to GitHub Releases.
What a tagged release contains
Tagged GitHub Releases publish:
- distribution artifacts (
*.whl,*.tar.gz) - Sigstore sidecars for those distributions
- a CycloneDX SBOM
- the GitHub build-provenance bundle captured during release publishing
invarlock-<version>-offline-bundle.tar.gz
The offline bundle is a convenience archive for procurement and security review. It groups the release materials that would otherwise be downloaded separately.
Offline bundle contents
The offline bundle is generated by
scripts/release/make_offline_bundle.sh
and contains:
dist/with the published wheel/sdist and their Sigstore sidecarsprovenance/with the GitHub provenance bundleinvarlock-<version>-sbom.cdx.jsonrelease_manifest.jsonpublic_key_hints.txtREADME.txt
The bundle tarball itself is also Sigstore-signed during the release workflow.
Recommended verification flow
- Verify the offline bundle tarball itself with its Sigstore sidecar.
- Extract the archive.
- Compare distribution hashes in
release_manifest.jsonagainst the files indist/. - Verify each distribution artifact with its corresponding
*.sigstore.jsonbundle and the expected GitHub tag identity. - Review
provenance/for the GitHub build-provenance attestation. - Review
invarlock-<version>-sbom.cdx.jsonwith an offline CycloneDX-capable scanner.
Example for one distribution artifact:
cosign verify-blob dist/invarlock-<version>-py3-none-any.whl \
--bundle dist/invarlock-<version>-py3-none-any.whl.sigstore.json \
--certificate-identity "repo:invarlock/invarlock@refs/tags/v<version>" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Notes
- Release verification and proof-pack verification are intentionally separate.
- Proof packs use signed
manifest.json+checksums.sha256+invarlock proof-pack verify(repo workflows may still useverify_pack.sh). - Release bundles use Sigstore-signed distribution artifacts plus the GitHub provenance bundle and release manifest.
- GPG detached signatures are not currently part of the release offline bundle.