Development record
In-process build-provenance (SLSA attestation) verification in abcd update. Trigger: the trust gap the README concedes is worth closing (e.g. after the public flip). itd-130 ships at the same-origin checksums bar (itd-105); the release workflow already attests binaries and checksums.txt, so abcd update could verify the attestation before the swap for a stronger root of trust than same-origin checksums — at the cost of a heavy dependency (sigstore-go). Twin of itd-108's deferred offline signing key (minisign): both close the 'the forge is the identity root' gap that an attestation alone does not.
In-process build-provenance (SLSA attestation) verification in abcd update. Trigger: the trust gap the README concedes is worth closing (e.g. after the public flip). itd-130 ships at the same-origin checksums bar (itd-105); the release workflow already attests binaries and checksums.txt, so abcd update could verify the attestation before the swap for a stronger root of trust than same-origin checksums — at the cost of a heavy dependency (sigstore-go). Twin of itd-108's deferred offline signing key (minisign): both close the 'the forge is the identity root' gap that an attestation alone does not.
Remedy grounds (2026-09-29)
- sigstore-go states it is stable, production-ready and conformance-tested, and verifies bundles, Rekor inclusion and timestamps: https://github.com/sigstore/sigstore-go (consulted 2026-09-29); the release already attests the binaries (release.yml, actions/attest), so the verifier is the only missing half.
- The dependency is the sign-off owed (rulings-owed C); rejected: a hand-rolled bundle verifier, which re-implements exactly what the dependency exists to get right.
Frontmatter
| id | iss-379 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-379-abcd-update-attestation-verify.md
open on GitHub ↗ · commit history ↗
mentions4
- dcn-26082200000000012026-08-22 — Bug-hunt round 7, branch bughunt-b/round-7. Baseline (make preflight
- itd-105A fresh plugin install just works: the hook binary survives install and every update
- itd-108The plugin installs from the curated release artifact, not the repo, and every cut release reaches users automatically
- itd-130`abcd update` completes a chosen update in one verb