SBOM-guiden
SBOM i praktiken

SBOM och DevOps

Skapa, kontrollera och spara en SBOM i varje bygge

En SBOM som skapas för hand blir snabbt inaktuell. I en byggpipeline skapas den i stället automatiskt för varje version, av samma process som bygger mjukvaran.

Stegen i pipelinen

1. Skapa SBOM:en i bygget

Lägg till ett steg som skapar SBOM:en efter att beroendena har installerats. Då innehåller den de versioner som faktiskt följer med, inklusive transitiva beroenden.

Ett exempel för GitHub Actions med Syft, som förutsätter att Syft är installerat i bygget:

- name: Skapa SBOM
  run: syft dir:. -o cyclonedx-json=sbom.cdx.json

- name: Spara SBOM med bygget
  uses: actions/upload-artifact@v4
  with:
    name: sbom
    path: sbom.cdx.json

Samma princip gäller i GitLab CI, Azure Pipelines och Jenkins. Hur skapar man en SBOM? listar fler verktyg.

2. Kontrollera den

Låt pipelinen kontrollera SBOM:en innan releasen går vidare:

  • uppfyller den SBOM Minimum Elements?
  • finns det kända sårbarheter över en nivå ni har bestämt?
  • finns det licenser som inte är tillåtna enligt er policy?

Bestäm vilka avvikelser som ska stoppa bygget och vilka som bara ska ge en varning. En regel som stoppar för mycket stängs snart av.

3. Spara den med releasen

SBOM:en hör ihop med en viss version. Spara den tillsammans med byggresultatet och ladda upp den till det system där ni samlar SBOM:er. För containrar kan SBOM:en också fästas vid avbildningen i registret.

4. Bevaka efter leverans

Nya sårbarheter upptäcks i versioner som redan är levererade. De sparade SBOM:erna behöver därför jämföras mot sårbarhetsdata fortlöpande, och någon behöver få besked när en version som används berörs. SBOM och sårbarhetshantering beskriver arbetsflödet.

Vem som gör vad

RollAnsvar
UtvecklingsteamAtt bygget skapar en SBOM och att avvikelser i pipelinen åtgärdas
SäkerhetsteamReglerna för vad som ska stoppa ett bygge, och bevakningen efter leverans
ProduktägareVilka versioner som stöds och hur länge

Verktyg

Syft, Trivy och cdxgen skapar SBOM:er. För att samla dem, kontrollera dem mot regler och bevaka dem behövs ett system för SBOM-hantering. SBOM Observer från Bytesafe, som driver den här sajten, är ett sådant. Dependency-Track är ett alternativ med öppen källkod.

På den här sidan