Zurück zu den Updates
New releaseSep 3, 2026

sbomlyze v0.5.3

Git diff für SBOMs – CycloneDX-, SPDX- und Syft-Dokumente vergleichen, Manipulationen erkennen und als CI-Gate dienen.

Teilen

sbomlyze

git diff für deine SBOM. Vergleiche zwei Software Bills of Materials und sieh, was sich zwischen Builds, Versionen und Releases geändert hat.

sbomlyze vergleicht Komponenten-Hashes, nicht nur Versionsstrings. Wenn ein Angreifer ein Paket austauscht, ohne dessen Version zu erhöhen, markiert sbomlyze dies. Generatoren und Schwachstellen-Scanner übersehen dies.

[![CI][ci-img]][ci] [![GitHub Marketplace][marketplace-img]][marketplace] [![GitHub Release][release-img]][release] [![Go Report Card][go-report-img]][go-report] [![OpenSSF Scorecard][scorecard-img]][scorecard] [![OpenSSF Best Practices][best-practices-img]][best-practices] [![License: Apache-2.0][license-img]][license] [![Downloads][download-img]][download]

SBOMlyze blockiert eine Hash-Änderung bei gleicher Version in einem echten Pull Request

Erfahre, warum sich dieses Signal von einem Manifest- oder gewöhnlichen Komponenten-Diff unterscheidet, in Manifest diff vs. SBOM diff vs. integrity drift.

Generatoren erstellen SBOMs und Scanner finden CVEs. sbomlyze sagt dir, was sich zwischen zwei SBOMs geändert hat und ob du ihnen vertrauen kannst. Führe es nach deinem Generator aus: syft image:tag -o cyclonedx-json | sbomlyze - --compliance analysiert und bewertet die generierte SBOM ohne temporäre Datei. Vergleiche sie mit einer Baseline, um Drift zu klassifizieren und deine Pipeline zu steuern.

GitHub Action Schnellstart

Füge [SBOMlyze Diff from GitHub Marketplace][marketplace] hinzu, um eine eingecheckte oder separat generierte SBOM mit ihrer Git-Baseline zu vergleichen. Der unveränderliche SHA unten ist die veröffentlichte v0.5.1 Action:```yaml steps:

  • uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0

  • uses: rezmoss/sbomlyze@31503690611fda8ebba4ed2bd186eda000442594 # v0.5.1 with: sbom-path: build/sbom.cdx.json

Die Action schreibt standardmäßig eine Job-Zusammenfassung und kann Richtlinien durchsetzen, Integritätsabweichungen melden, SARIF hochladen oder einen einzelnen Pull-Request-Kommentar pflegen. Siehe
[die vollständige Action-Referenz](https://github.com/rezmoss/sbomlyze/blob/main/ACTION.md) für Eingaben, Ausgaben, Berechtigungen
und Sicherheitshinweise. Siehe das
[Live-Demonstrations-Repository](https://github.com/rezmoss/sbomlyze-action-demo)
für ein bestandenes Abhängigkeits-Update und eine blockierte Hash-Änderung bei gleicher Version, mit
öffentlichen Workflow-Läufen und SARIF-Nachweisen.

Für formatspezifisches Dogfooding verwenden Sie das öffentliche
[Go + SPDX](https://github.com/rezmoss/sbomlyze-go-spdx-demo),
[Node + CycloneDX](https://github.com/rezmoss/sbomlyze-node-cyclonedx-demo) oder
[Container](https://github.com/rezmoss/sbomlyze-container-demo)-Beispiel. Jedes
enthält fünf reproduzierbare Review-Szenarien. Der
[10-Minuten-Beta-Leitfaden](https://github.com/rezmoss/sbomlyze/blob/main/BETA.md) sammelt vier gezielte Fragen zu Aktivierung und Signalqualität.

Generierte SBOMs müssen nicht committet werden: `baseline: workflow-artifact`
ruft das zuletzt passende Artefakt aus einem erfolgreichen Standard-Branch-Lauf ab. Ein [gepinnter Syft-Begleit-Workflow](https://github.com/rezmoss/sbomlyze/blob/main/examples/workflows/syft-companion.yml)
zeigt Generierung und Baseline-Veröffentlichung, während SBOMlyze weiterhin für
Review und Richtlinien verantwortlich bleibt.

## Warum sbomlyze?

Viele Tools generieren SBOMs. Wenige vergleichen sie, und noch weniger sagen Ihnen, ob eine Änderung routinemäßig oder eine Supply-Chain-Warnung ist. sbomlyze schließt diese Lücke.

| Fähigkeit | **sbomlyze** | cyclonedx-cli | sbomqs | syft / trivy |
|---|:---:|:---:|:---:|:---:|
| SBOM-zu-SBOM-**Diff** | ✅ | basic | ❌ | ❌ |
| **Integritäts-/Manipulations**-Abweichung (Hash geändert ohne Version) | ✅ | ❌ | ❌ | ❌ |
| Dependency-Graph-Diff + Risiko durch transitive Tiefe | ✅ | ❌ | ❌ | ❌ |
| **NTIA / CISA / BSI**-Compliance-Bewertung | ✅ | ❌ | ✅ | ❌ |
| Formatkonvertierung (Syft / CycloneDX / SPDX) | ✅ | ✅ | ❌ | partial |
| **TUI + Web UI**-Explorer | ✅ | ❌ | ❌ | ❌ |
| Policy-Gate + SARIF / JUnit / Markdown / HTML / Patch | ✅ | partial | partial | partial |

## Funktionen

- **SBOM-Diffing**: Vergleichen Sie zwei SBOMs und sehen Sie hinzugefügte, entfernte und geänderte Komponenten auf einen Blick
- **Drift-Klassifizierung**: Unterscheiden Sie Versionsdrift von **Integritätsdrift** (ein Hash hat sich ohne Versionsänderung geändert, was auf Manipulation hindeutet) und Metadatendrift
- **Compliance-Bewertung**: Bewerten Sie jede SBOM anhand der Mindestelemente von **NTIA**, **CISA 2025** und **BSI TR-03183**
- **Dependency-Graph-Diff**: Verfolgen Sie transitive Abhängigkeiten und Supply-Chain-Tiefe
- **Multi-Format-Unterstützung**: Syft, CycloneDX, SPDX (JSON)
- **Formatkonvertierung**: Konvertieren Sie zwischen CycloneDX-, SPDX- und Syft-Formaten
- **Starke Identitätsabgleichung**: PURL → CPE → BOM-ref → Namespace/Name-Präzedenz
- **Statistikmodus**: Analysieren Sie einzelne SBOMs auf Lizenz-, Abhängigkeits- und Integritätsmetriken
- **Interaktiver TUI-Modus**: Erkunden Sie SBOMs mit Tastaturnavigation und Suche
- **Web-UI-Modus**: Browserbasierter SBOM-Explorer mit Drag-and-Drop-Upload
- **Policy-Engine**: Setzen Sie Drift-, Lizenz- und Compliance-Score-Regeln in CI-Pipelines durch
- **GitHub Marketplace Action**: Steuern Sie Pull Requests anhand von SBOM-Drift mit Job-Zusammenfassung, SARIF und optionaler Kommentarausgabe
- **Duplikat- und Kollisionserkennung**: Finden Sie mehrere Versionen desselben Pakets und mehrdeutige Identitätsübereinstimmungen
- **Mehrere Ausgabeformate**: Text, JSON, SARIF, JUnit XML, Markdown, HTML, JSON Patch
- **Tolerantes Parsing**: Fahren Sie bei Fehlern mit strukturierten Warnungen fort

## Installation

### Homebrew (macOS/Linux)```bash
brew install rezmoss/sbomlyze/sbomlyze

Installer-Skript

Das Installer-Skript lädt die passende Binärdatei für Ihr Betriebssystem/Ihre Architektur herunter:```bash

Install to ./bin

curl -sSfL https://raw.githubusercontent.com/rezmoss/sbomlyze/main/install.sh | sh

Install to /usr/local/bin (requires sudo)

curl -sSfL https://raw.githubusercontent.com/rezmoss/sbomlyze/main/install.sh | sudo sh -s -- -b /usr/local/bin

Install specific version

curl -sSfL https://raw.githubusercontent.com/rezmoss/sbomlyze/main/install.sh | sh -s -- -v 0.4.0

**Installer-Optionen:**

| Option | Beschreibung |
|--------|-------------|
| `-b <dir>` | Installationsverzeichnis (Standard: `./bin`) |
| `-d` | Debug-Ausgabe aktivieren |
| `-v <ver>` | Bestimmte Version installieren (Standard: neueste) |

Der Installer überprüft immer die Prüfsumme des Releases. Wenn eine kompatible GitHub CLI
installiert ist, überprüft er außerdem die Build-Provenienz des Releases und schlägt fehl,
wenn diese Überprüfung nicht erfolgreich ist.

### Go Install```bash
go install github.com/rezmoss/sbomlyze/cmd/sbomlyze@latest

Aus Binär-Release

Laden Sie die neueste Binärdatei von GitHub Releases herunter.

Ab v0.3.7 werden Release-Archive mit GitHub-Artefakt-Attestierungen veröffentlicht. Überprüfen Sie einen Download unabhängig mit:```bash gh attestation verify ./sbomlyze_0.4.0_Linux_x86_64.tar.gz
--repo rezmoss/sbomlyze
--signer-workflow rezmoss/sbomlyze/.github/workflows/release.yml

Unsigned apt-, rpm- und apk-Repository-Anweisungen wurden entfernt, bis die
Repositories die paketmanager-native Signaturüberprüfung unterstützen.

Kategorien