Getting Started mit Jochwacht
Voraussetzung: Ein bestehender Yocto- oder Buildroot-Build. Jochwacht baut nicht selbst — es arbeitet mit dem Output eures Build-Systems.
Installation
Via pip (empfohlen für Entwicklung)
pipx install jochwacht-sbom jochwacht-sbom . # schreibt sbom.cdx.json, sendet nichts
Ohne pipx, und die Suite
# Fehlt pipx: sudo apt install pipx # Zugang zur vollständigen Suite auf Anfrage: [email protected]
Quickstart — Yocto-Beispiel
Diese vier Schritte macht die vollständige Suite. Sie liegt nicht in einem öffentlichen Paketindex — Zugang auf Anfrage unter [email protected]. Gezeigt ist jeweils, was dabei herauskommt. Den ersten Schritt deckt der frei verfügbare Kollektor jochwacht-sbom bereits ab.
In 4 Schritten vom Yocto-Build zum CRA-Compliance-Status.
Projekt initialisieren
Jochwacht erkennt automatisch vorhandene Yocto-Outputs und generiert eine Konfigurationsdatei.
→ Gefunden: build/tmp/deploy/licenses/ (247 Recipes) → Gefunden: build/tmp/deploy/spdx/ (SPDX-Outputs) → Konfigurationsdatei erstellt
SBOM importieren und zusammenführen
Importiert die Yocto SPDX-Dateien und erzeugt ein einheitliches Produkt-SBOM im CycloneDX-Format.
→ 247 Recipes importiert → product-sbom.cdx.json (847 Komponenten)
CVE-Scan durchführen
Prüft alle Komponenten gegen OSV.dev und NVD. Erzeugt ein VEX-Dokument mit dem Status jeder CVE.
→ 847 Komponenten geprüft → 12 CVEs gefunden: 1 CRITICAL, 3 HIGH, 8 MEDIUM → Triage empfohlen → vex.json erstellt
Compliance prüfen
Prüft das SBOM gegen BSI TR-03183 Pflichtfelder und gibt einen Traffic-Light-Status zurück.
✓ SBOM vorhanden, Format gültig ✓ 847 Komponenten gefunden ⚠ 98% haben Supplier-Information — Pflichtfeld, 17 fehlen ✓ 100% haben konkrete Version ✓ 100% haben SPDX-Lizenz ✓ 100% haben PURL ⚠ 1 CRITICAL CVE gefunden Overall: YELLOW — 6 Warnungen Exit code: 2
Integration in CI/CD-Pipelines
GitLab CI — .gitlab-ci.yml
sbom: stage: compliance image: python:3.11 script: - pip install jochwacht-sbom - jochwacht-sbom . --sbom sbom.cdx.json artifacts: paths: [sbom.cdx.json]
Jenkins — Jenkinsfile
stage('SBOM') { steps { sh 'pip install jochwacht-sbom' sh 'jochwacht-sbom . --sbom sbom.cdx.json' archiveArtifacts artifacts: 'sbom.cdx.json' } }
Beide Beispiele erzeugen die Stückliste und legen sie als Artefakt ab; gesendet wird nichts. Die Schritte danach — zusammenführen, Schwachstellen bewerten, Prüfbericht — macht die Suite. Zugang auf Anfrage.
Jochwacht in eurer Embedded-Pipeline
Custom Build System
Build-System
Release, Compliance
Schicht
RAUC
OTA-System
Fragen zur Integration?
Wir helfen gerne bei der Integration in euren spezifischen Yocto- oder Buildroot-Setup.