Skip to main content

Supply Chain Security

Every Bluefin image is signed and attested at build time. You can verify any image before installing it.

Signing paradigms

Bluefin uses two signing methods depending on the image. The authoritative table lives in scripts/lib/signing-trust.js, which also generates the verify commands shown on the Images page.

ParadigmImagesVerification
Key-basedBluefin Classic (ghcr.io/ublue-os/bluefin, bluefin-nvidia-open)cosign verify with repo public key
Keyless (OIDC/Sigstore)Bluefin LTS, all Dakota, all Utahcosign verify with Rekor transparency log

Verify Bluefin Classic (key-based)

cosign verify --key https://raw.githubusercontent.com/ublue-os/bluefin/main/cosign.pub \
ghcr.io/ublue-os/bluefin:stable
note

Classic still publishes legacy .sig tags, which only cosign v2.x can read. On cosign v3 and newer, verify the keyless SLSA provenance described below instead.

Verify an LTS image (keyless)

cosign verify ghcr.io/projectbluefin/bluefin-lts:stable \
--certificate-identity-regexp="^https://github.com/projectbluefin/bluefin-lts/.github/workflows/" \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com

Verify Dakota (keyless)

cosign verify ghcr.io/projectbluefin/dakota:stable \
--certificate-identity-regexp="https://github.com/projectbluefin/dakota/.github/workflows/publish.yml" \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com

Substitute your specific tag (e.g. stable-20260501) for stable to pin to a known-good release.

SLSA provenance

Bluefin Classic and Dakota publish SLSA v1 provenance attestations alongside the image in GHCR. Provenance is always verified keylessly through the signing repo's GitHub Actions OIDC identity, even for a key-signed image like Classic. LTS and Utah do not publish provenance yet. The Driver Versions page shows per-stream attestation status verified nightly.

Fetch and inspect provenance:

cosign verify-attestation ghcr.io/ublue-os/bluefin:stable \
--type slsaprovenance1 \
--certificate-identity-regexp="^https://github.com/ublue-os/bluefin/.github/workflows/" \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com | jq -r '.payload' | base64 -d | jq

SBOM

A Syft SPDX JSON SBOM is attached to each image as an OCI attestation. The Images page surfaces key package versions extracted from these SBOMs nightly.

Fetch the SBOM for any image:

# Install oras: https://oras.land
oras discover --artifact-type application/vnd.syft+json ghcr.io/ublue-os/bluefin:stable

OpenSSF Scorecard

Source repositories are scored weekly by OpenSSF Scorecard. Scores are surfaced on the Projects page.

Toolchain

ToolRole
cosignImage signing and attestation verification
ORASOCI artifact push/pull (SBOMs, provenance)
SyftSBOM generation
SLSAProvenance specification
ScorecardRepository security posture scoring

These are all part of the CNCF / OpenSSF ecosystem and are highlighted on the Projects page.

Contributors to this page

  • castrojo