123% flere rapporterede CVE'er pr. dag i 2026 end sidste år.

SBOM

Hvad er en SBOM?

En SBOM, eller software bill of materials, er en maskinlæsbar liste over komponenterne i et stykke software: hvert bibliotek, hver pakke og hver afhængighed med version, producent og licens. Den er for software, hvad en ingrediensliste er for mad. Når en ny sårbarhed offentliggøres, fortæller en SBOM dig på få minutter, om du leverer den berørte komponent.

Opdateret

Hvad står SBOM for?

SBOM står for software bill of materials, en softwarestykliste. Begrebet kommer fra produktion, hvor en stykliste angiver de dele, der indgår i et produkt. CISA beskriver en SBOM som en indlejret fortegnelse, en liste over de ingredienser, softwarekomponenter består af.

Det meste af koden i en moderne applikation er skrevet af andre, og det meste af den kommer indirekte: Du tilføjer én pakke, og den trækker snesevis af transitive afhængigheder med ind. En SBOM skriver det hele ned, så du kan svare på "er vi berørt?" uden at læse et eneste repository.

Hvad indeholder en SBOM?

En brugbar SBOM har to dele: data om selve SBOM'en og data om hver komponent. 2026 Minimum Elements, offentliggjort af CISA, NSA og FBI sammen med internationale partnere den 29. juli 2026, erstatter NTIA-listen fra 2021 og sætter den baseline, de fleste købere nu henviser til.

Del Felter
Om SBOM'en Forfatter og forfatterens signatur, tidsstempel, dataformatets navn og version, værktøjets navn og version, SBOM-version og genereringskontekst
Om hver komponent Navn, version, producent, identifikatorer som en package URL, hashværdi og algoritme, licens og afhængighedsrelationer

Genereringskonteksten betyder mere, end man skulle tro. Den fortæller, hvornår SBOM'en blev lavet: før buildet, under buildet, ud fra det færdige artefakt eller efter det. To SBOM'er af samme release kan afvige af netop den grund. Se SBOM-eksempler for at se, hvordan felterne ser ud i en rigtig fil.

SBOM-formater

To formater dækker næsten alle SBOM'er i brug. CycloneDX fra OWASP udsprang af sikkerhed og beskriver også sårbarheder og services. SPDX fra Linux Foundation udsprang af licens-compliance. Begge kan indeholde minimumselementerne, og de fleste værktøjer skriver begge. Se CycloneDX vs. SPDX for, hvordan du vælger.

Hvorfor SBOM'er er vigtige

  • Hurtigere hændelseshåndtering. Når en sårbarhed som Log4Shell rammer, er spørgsmålet, hvilke af dine produkter der indeholder den. Med SBOM'er er det en søgning. Uden dem er det et projekt.
  • Sårbarhedsovervågning efter release. Software, der var ren ved levering, kan være sårbar i morgen. Tjekker du gemte SBOM'er igen mod nye advisories, fanger du det uden at genbygge noget.
  • Licensrisiko. Hver komponents deklarerede licens viser copyleft- eller kommercielle vilkår, før de når produktet.
  • Spørgsmål fra kunder og myndigheder. Købere beder i stigende grad om en SBOM ved indkøb, og flere rammeværker forventer en komponentfortegnelse.

Hvem har brug for en SBOM?

Alle, der leverer software, og alle, der skal stå til ansvar for, hvad der er i den. Kravet kommer som regel gennem et af disse:

  • Medicinsk udstyr. FDA section 524B kræver en SBOM for cyber devices i ansøgninger før markedsføring.
  • Produkter, der sælges i EU. Cyber Resilience Act beder producenter om en SBOM. Se CRA-krav til SBOM'er og værktøjer.
  • Amerikanske føderale indkøb. OMB-memoet M-26-05 fra januar 2026 lader hver myndighed selv afgøre, om den vil kræve en, så regn med, at det afgøres fra sag til sag.
  • Betalingssoftware. PCI DSS 4.0-krav 6.3.2 beder om en fortegnelse over specialudviklet software og dens tredjepartskomponenter. Det foreskriver ikke en SBOM, men en SBOM opfylder behovet.

Sådan genererer du en SBOM

Der er tre måder at lave en på, og metoden afgør, hvad der ender i filen.

Metode Hvad den læser Typisk hul
Scan kilden Manifester og lockfiles i repositoriet Alt, hvad buildet henter, og som ingen lockfile angiver
Scan outputtet Et færdigt container-image eller en færdig binærfil Kompileret kode er tvetydig, og build-værktøjer efterlader ingen spor
Registrér buildet Hvad buildet faktisk hentede, mens det kørte Trafik, der går uden om registreringen, og som bør markeres

Open source-generatorer som Syft, Trivy og cdxgen bruger de to første metoder. De er uenige med hinanden om det samme commit, fordi hver har sine egne regler for, hvad der skal læses. Se de bedste SBOM-værktøjer for mulighederne side om side.

SBOM vs. SCA vs. VEX

  • En SBOM er en fortegnelse. Den siger, hvad der er der, ikke om det er sikkert.
  • Software composition analysis er analysen. Den finder komponenter og tjekker dem for risici, og mange SCA-værktøjer producerer en SBOM undervejs.
  • VEX er en erklæring om påvirkning. Den siger, om en kendt sårbarhed faktisk påvirker dit produkt, hvilket skærer ned på den støj, en SBOM alene skaber.

At generere en SBOM er den lette del

En fil, ingen læser, ændrer intet. Værdien kommer af at have én SBOM pr. release, overvåge dem og kunne finde dem, når det gælder. Det arbejde er SBOM-administration, og bedste praksis for SBOM'er beskriver, hvordan du griber det an.

Sådan laver CRACI SBOM'er

CRACI er en GitHub Actions-runner, der registrerer hver pakke, hvert job henter, i alle lag af træet og inklusive pakker gendannet fra CI-caches. Resultatet er en SBOM af det build, der producerede releasen, med en fuldstændighedsstatus, der siger, hvad jobbet ikke kunne se. Den eksporteres som CycloneDX eller SPDX, og CRACI bliver ved med at genvurdere den, efterhånden som nye sårbarheder offentliggøres. Se SBOM-generering under buildet.

SBOM: ofte stillede spørgsmål

Hvad er en SBOM på almindeligt dansk?

En SBOM er en ingrediensliste for software. Den navngiver hver komponent i et produkt med version, producent og licens i et format, maskiner kan læse.

Hvad står SBOM for?

SBOM står for software bill of materials.

Hvorfor har du brug for en SBOM?

Så du hurtigt kan se, om en nyligt offentliggjort sårbarhed påvirker det, du leverer, se licensrisici før release og svare kunder og myndigheder, der spørger, hvad der er i dit produkt.

Hvad er de to vigtigste SBOM-formater?

CycloneDX og SPDX. CycloneDX kommer fra OWASP og udsprang af sikkerhed. SPDX kommer fra Linux Foundation og udsprang af licens-compliance. Begge kan indeholde minimumselementerne.

Er en SBOM lovpligtig?

Det afhænger af produktet og markedet. FDA section 524B kræver en for cyber devices, og EU's Cyber Resilience Act beder producenter om en. Ved amerikanske føderale indkøb er det nu op til hver myndighed. For mange andre virksomheder er det et kundekrav snarere end et lovkrav.

Hvor ofte skal en SBOM opdateres?

Generér en ny SBOM for hver release, fordi hvert build kan trække andre versioner ind. En releases SBOM ændrer sig ikke bagefter, men du bør blive ved med at tjekke den mod nye sårbarheder.

Hvem laver SBOM'en?

Som regel det team, der bygger softwaren, helst i CI, så hver release automatisk får en. Software, du køber, bør komme med en SBOM fra leverandøren.

Se SBOM'en for dit rigtige build

Kør et GitHub Actions-workflow på CRACI, og sammenlign den registrerede SBOM med det, dine nuværende værktøjer rapporterer.

Book en demo