Verify the cosign-signed Software Bill of Materials for an nSelf CLI release. Used by enterprise customers for supply-chain compliance and artifact provenance.
# Verify the SBOM for the current installed version
nself verify-sbom
# Verify a specific release tag
nself verify-sbom v1.1.0
# Verify and output the SBOM contents as JSON
nself verify-sbom v1.1.0 --jsonnself verify-sbom [<release-tag>] [FLAGS]Every nSelf CLI release ships with a Software Bill of Materials (SBOM) in CycloneDX JSON format, signed with cosign using keyless signing via Sigstore's public Rekor transparency log. This gives you a cryptographically verifiable record of every Go module, direct dependency, and transitive dependency bundled in the binary.
nself verify-sbom downloads the SBOM and its cosign bundle for the given release tag, verifies the signature against Sigstore's public key infrastructure, checks the inclusion proof in the Rekor transparency log, and prints a verification summary. If any step fails, it exits non-zero with a clear error message explaining what went wrong.
If you omit the release tag, the command uses the currently installed CLI version (output of nself version --short).
| Argument | Required | Description |
|---|---|---|
<release-tag> | No | The release tag to verify, e.g. v1.1.0. Defaults to the installed version. |
| Flag | Type | Default | Description |
|---|---|---|---|
--json | bool | false | Print the full SBOM contents as JSON after a successful verification |
--output | string | — | Write the SBOM JSON to a file path after verification |
--rekor-url | string | https://rekor.sigstore.dev | Override the Rekor instance used for log verification (air-gapped environments) |
--certificate-identity | string | nSelf release pipeline identity | Expected OIDC identity in the cosign certificate (for custom verification policies) |
SBOMs are in CycloneDX JSON format (spec version 1.5). Each component entry includes:
pkg:golang/...)nself verify-sbom
# Verifying SBOM for v1.1.0...
# ✓ Signature valid
# ✓ Rekor inclusion proof verified (log index: 192847362)
# ✓ Certificate identity: https://github.com/nself-org/cli/.github/workflows/release.yml@refs/tags/v1.1.0
# ✓ SBOM version matches release tag
#
# Verification: PASSEDnself verify-sbom v1.1.0 --output /tmp/nself-v1.1.0.sbom.json
# Verification: PASSED
# SBOM written to /tmp/nself-v1.1.0.sbom.jsonnself verify-sbom v1.1.0 --json | jq '[.components[] | {name: .name, version: .version, license: .licenses[0].license.id}]'nself verify-sbom v1.1.0 --rekor-url https://rekor.internal.example.comEvery GitHub release at github.com/nself-org/cli/releases includes:
nself-{version}-sbom.cyclonedx.json — the SBOMnself-{version}-sbom.cyclonedx.json.cosign.bundle — the cosign signature bundlenself verify-sbom downloads these automatically. For manual download, use the GitHub release page or the GitHub API.
0 — verification passed1 — signature invalid or Rekor proof failed2 — release tag not found or SBOM artifact missing3 — network error fetching artifacts or Rekor