To verify an OCI artifact that carries GitHub artifact attestations , run
gh attestation verify or cosign verify-attestation with the exact
workflow identity. gh reads the Sigstore bundles from GitHub's attestation
API, which has them for every kadet-hub generator version. cosign reads
them from the registry, where the release workflow has pushed them since
17 October 2026. This post walks through both on a real generator, shows
the failures you want to see, and ends with a script that does it in one
call. Why a generator needs this at all is covered in
supply-chain security for Kapitan generators .
Everything below ran on 2026-10-19 with gh 2.102.0, cosign v3.1.3 (sha256
4629c757…7f71 against the release's cosign_checksums.txt ), jq 1.8.2 and
oras 1.3.4.
What kadet-hub attests
The release workflow pushes each generator
as an OCI artifact to ghcr.io/kadet-hub/<name> and attests its digest
up to three times: SLSA provenance ( https://slsa.dev/provenance/v1 ), an SPDX 2.3
SBOM (…