Skip to content

release: check attestations by the file's digest - #112

Merged
aledbf merged 1 commit into
mainfrom
attest-by-digest
Oct 13, 2026
Merged

aledbf merged 1 commit into
mainfrom
attest-by-digest

Conversation

@aledbf

@aledbf aledbf commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

The v20261013.01 release failed at cosign verify-blob-attestation over the 338 MB tarball: size of layer (338500782) exceeded the limit (134217728). Given a file, cosign reads it whole and refuses anything over COSIGN_MAX_ATTACHMENT_SIZE (128 MiB). Signing and verify-blob worked.

  • release.yml checks both attestations (slsaprovenance1, cyclonedx) with --digest <sha256> --digestAlg sha256: the in-toto subject is held to the file's hash, and cosign never reads the file.
  • docs/releasing.md gives the operator the same form.

Checked locally with cosign v3.0.5 over a 200 MB file: by file it reproduces the error; by digest it verifies, and a wrong digest is refused. The failed run stopped before Tag the commit, so a rerun gets v20261013.01 again.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

cosign verify-blob-attestation given a file reads it whole and refuses one over
COSIGN_MAX_ATTACHMENT_SIZE (128 MiB). The tarball is 338 MB, so v20261013.01's
run failed after signing it: "size of layer (338500782) exceeded the limit
(134217728)". --digest/--digestAlg checks the in-toto subject against the
file's sha256 without reading the file into cosign; verified locally with
cosign v3.0.5 over a 200 MB file (the digest passes, another is refused).
docs/releasing.md gives the operator the same command.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@aledbf
aledbf merged commit 99e31f9 into main Oct 13, 2026
1 check passed
@aledbf
aledbf deleted the attest-by-digest branch October 13, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant