Sicherheit der Lieferkette
Jedes Bluefin-Image wird beim Build signiert und attestiert. Du kannst jedes Image vor der Installation überprüfen.
Signier-Paradigmen
Bluefin verwendet je nach Image zwei Signier-Methoden. Die verbindliche Tabelle liegt in scripts/lib/signing-trust.js, die außerdem die Befehle zur Überprüfung erzeugt, die auf der Images-Seite angezeigt werden.
| Paradigma | Images | Überprüfung |
|---|---|---|
| Key-basiert | Bluefin Classic (ghcr.io/ublue-os/bluefin, bluefin-nvidia-open) | cosign verify mit dem öffentlichen Repo-Key |
| Keyless (OIDC/Sigstore) | Alle Dakota, alle Utah | cosign verify mit dem Rekor-Transparenz-Log |
Bluefin Classic überprüfen (key-basiert)
cosign verify --key https://raw.githubusercontent.com/ublue-os/bluefin/main/cosign.pub \
ghcr.io/ublue-os/bluefin:stable
Classic veröffentlicht noch legacy .sig-Tags, die nur cosign v2.x lesen kann. Bei cosign v3 und neuer die keyless SLSA-Provenanz unten überprüfen.
Dakota überprüfen (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
Ersetze stable durch dein spezifisches Tag (z. B. stable-20260501), um an eine bekannt-gute Veröffentlichung zu pinnen.
SLSA-Provenanz
Bluefin Classic und Dakota veröffentlichen SLSA v1 Provenanz-Attestierungen zusammen mit dem Image in GHCR. Provenanz wird immer keyless über die OIDC-Identität der GitHub Actions des Signier-Repos überprüft, sogar für ein key-signiertes Image wie Classic. Utah veröffentlicht noch keine Provenanz. Die Seite Driver Versions zeigt den nächtlich überprüften Attestierungsstatus pro Stream an.
Provenanz abrufen und inspizieren:
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
Ein Syft SPDX-JSON-SBOM wird an jedes Image als OCI-Attestierung angehängt. Die Images-Seite hebt wichtige Package-Versionen hervor, die nächtlich aus diesen SBOMs extrahiert werden.
SBOM für ein beliebiges Image abrufen:
# Install oras: https://oras.land
oras discover --artifact-type application/vnd.syft+json ghcr.io/ublue-os/bluefin:stable
OpenSSF Scorecard
Source-Repositories werden wöchentlich von OpenSSF Scorecard bewertet. Die Scores werden auf der Projects-Seite angezeigt.
Toolchain
| Tool | Rolle |
|---|---|
| cosign | Image-Signierung und Attestierungs-Überprüfung |
| ORAS | OCI Artifact push/pull (SBOMs, Provenanz) |
| Syft | SBOM-Generierung |
| SLSA | Provenanz-Spezifikation |
| Scorecard | Bewertung der Repository-Sicherheitslage |
Alle gehören zum CNCF / OpenSSF-Ökosystem und werden auf der Projects-Seite angezeigt.