gh attestation
Download and verify artifact attestations to ensure their integrity and provenance.
More info →Options (4)
booleanDownload attestations for a local file associated with a specific repository
gh {{[at|attestation]}} download {{path/to/artifact.bin}} {{[-R|--repo]}} {{owner}}/{{repository}}-R, --repobooleanDownload attestations for a local file associated with a specific repository
gh {{[at|attestation]}} download {{path/to/artifact.bin}} {{[-R|--repo]}} {{owner}}/{{repository}}-o, --ownerbooleanDownload attestations for an OCI container image associated with an organization
gh {{[at|attestation]}} download oci://{{image_uri}} {{[-o|--owner]}} {{organization_name}}-b, --bundlebooleanPerform a fully offline verification using a downloaded bundle and a custom trusted root file
gh {{[at|attestation]}} verify {{path/to/artifact.bin}} {{[-b|--bundle]}} {{path/to/bundle.jsonl}} --custom-trusted-root {{path/to/trusted_root.jsonl}}Examples (7)
Download attestations for a local file associated with a specific repository
gh [at|attestation] download path/to/artifact.bin [-R|--repo] owner/repositoryDownload attestations for an OCI container image associated with an organization
gh [at|attestation] download oci://image_uri [-o|--owner] organization_nameVerify a local artifact online against attestations from a specific repository
gh [at|attestation] verify path/to/artifact.bin [-R|--repo] owner/repositoryVerify an artifact, requiring it was signed by a specific reusable workflow for enhanced security
gh [at|attestation] verify path/to/artifact.bin [-o|--owner] organization_name --signer-workflow owner/repository/path/to/workflow.ymlVerify an artifact and output the detailed verification results as JSON for use in policy engines
gh [at|attestation] verify path/to/artifact.bin [-o|--owner] organization_name --format jsonPerform a fully offline verification using a downloaded bundle and a custom trusted root file
gh [at|attestation] verify path/to/artifact.bin [-b|--bundle] path/to/bundle.jsonl --custom-trusted-root path/to/trusted_root.jsonlSave the trusted root of signing certificates to a file for offline verification
gh [at|attestation] trusted-root > path/to/trusted_root.jsonl