Quickstart — 5 Minuten

Getting Started mit embtrace

Voraussetzung: Ein bestehender Yocto- oder Buildroot-Build. embtrace baut nicht selbst — es arbeitet mit dem Output eures Build-Systems.

Installation

Via pip (empfohlen für Entwicklung)

pip install embtrace

# Alle optionalen Features
pip install "embtrace[all]"

# Nur SBOM + S3-Storage
pip install "embtrace[sbom,s3]"

Standalone-Binary (kein Python nötig)

# Linux x86_64 — für CI/CD
wget https://embtrace.dev/releases/latest/\
  embtrace-linux-x86_64
chmod +x embtrace-linux-x86_64
sudo mv embtrace-linux-x86_64 \
  /usr/local/bin/embtrace

embtrace --version
embtrace 0.1.0

Quickstart — Yocto-Beispiel

In 4 Schritten vom Yocto-Build zum CRA-Compliance-Status.

1

Projekt initialisieren

embtrace erkennt automatisch vorhandene Yocto-Outputs und generiert eine embtrace.yaml.

embtrace init \
  --source yocto \
  --build-dir ./build

→ Gefunden: build/tmp/deploy/licenses/ (247 Recipes)
→ Gefunden: build/tmp/deploy/spdx/ (SPDX-Outputs)
→ embtrace.yaml erstellt
2

SBOM importieren und zusammenführen

Importiert die Yocto SPDX-Dateien und erzeugt ein einheitliches Produkt-SBOM im CycloneDX-Format.

embtrace sbom import \
  --source yocto \
  --build-dir ./build

embtrace sbom merge \
  --output product-sbom.cdx.json

→ 247 Recipes importiert
→ product-sbom.cdx.json (847 Komponenten)
3

CVE-Scan durchführen

Prüft alle Komponenten gegen OSV.dev und NVD. Erzeugt ein VEX-Dokument mit dem Status jeder CVE.

embtrace sbom vuln \
  --sbom product-sbom.cdx.json \
  --output vex.json

→ 847 Komponenten geprüft
→ 12 CVEs gefunden:
   1 CRITICAL, 3 HIGH, 8 MEDIUM
→ Triage empfohlen: embtrace sbom triage
→ vex.json erstellt
4

Compliance prüfen

Prüft das SBOM gegen BSI TR-03183 Pflichtfelder und gibt einen Traffic-Light-Status zurück.

embtrace sbom audit \
  --sbom product-sbom.cdx.json \
  --policy bsi-tr-03183

✓ SBOM vorhanden und valide
✓ 847 Komponenten gefunden
✓ 98% haben Supplier-Information
✓ 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-compliance:
  stage: compliance
  image: python:3.11
  script:
    - pip install "embtrace[sbom]"
    - embtrace sbom import \
        --source yocto \
        --build-dir ./build
    - embtrace sbom merge \
        --output sbom.cdx.json
    - embtrace sbom vuln \
        --sbom sbom.cdx.json
    - embtrace sbom audit \
        --policy bsi-tr-03183
  artifacts:
    paths: [sbom.cdx.json, vex.json]

Jenkins — Jenkinsfile

stage('SBOM & Compliance') {
  steps {
    sh 'pip install embtrace[sbom]'
    sh 'embtrace sbom import \
      --source yocto \
      --build-dir ./build'
    sh 'embtrace sbom merge \
      --output sbom.cdx.json'
    sh 'embtrace sbom vuln \
      --sbom sbom.cdx.json'
    sh 'embtrace comply audit \
      --policy cra'
  }
}

embtrace in eurer Embedded-Pipeline

🔧
Build-System
Yocto / Buildroot
Custom Build System
Euer bestehendes
Build-System
📋
embtrace
SBOM, CVE,
Release, Compliance
Die fehlende
Schicht
🚀
OTA / Deploy
Mender / SWUpdate
RAUC
Euer bestehendes
OTA-System

Fragen zur Integration?

Wir helfen gerne bei der Integration in euren spezifischen Yocto- oder Buildroot-Setup.