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

SBOM

SBOM-automatisering

SBOM-automatisering betyder, at hvert build producerer sin egen software bill of materials, uden at nogen kopierer versioner ind i et regneark. Hvis dit team kortlægger komponenter i hånden på tværs af flere produkter, er listen forældet ved næste release, og arbejdet vokser for hvert produkt, I tilføjer.

Opdateret

Hvorfor manuelle SBOM'er holder op med at virke

  • De er forældede ved næste build. Afhængigheder ændrer sig med hver release, og et regneark ændrer sig kun, når nogen husker at opdatere det.
  • De stopper ved det, folk kan se. Direkte afhængigheder er lette at liste op. Det er de transitive afhængigheder under dem ikke, og dem kan ingen følge i hånden.
  • De formerer sig. Flere produkter med flere understøttede versioner hver giver snesevis af filer, hver med sin egen ejer og sin egen opfattelse af sandheden.
  • De kan ikke svare på det spørgsmål, der betyder noget. Når en ny sårbarhed lander, skal du vide, hvilke releases der indeholder pakken. At gennemsøge en mappe med regneark går langsomt, og du kan ikke stole på svaret.
  • De er ikke det, andre beder om. Kunder og værktøjer forventer et maskinlæsbart format som CycloneDX eller SPDX. Se sådan svarer du på en kundes SBOM-anmodning.

Det gør god SBOM-automatisering

  1. Producerer en SBOM for hvert build, uden at nogen skal køre eller huske noget.
  2. Dækker hele træet, inklusive transitive afhængigheder i alle lag.
  3. Knytter hver SBOM til ét build, så du ved, hvilken fil der beskriver hvilken release.
  4. Siger, hvad den ikke kunne se, i stedet for at præsentere en delvis liste som en hel.
  5. Eksporterer et standardformat, så SBOM'en virker med det næste værktøj og den næste kunde.
  6. Bliver ved med at overvåge det, der er leveret, for en release, der var ren mandag, kan være berørt tirsdag.

Tre måder at holde SBOM'er på, sammenlignet

Spørgsmål Regneark Scanner i CI Registreret under buildet
Hvornår opdateres den? Når nogen husker det Når scanningstrinnet kører Ved hvert build
Hvor kommer dataene fra? Mennesker Lockfiles eller det færdige output Det, buildet faktisk hentede
Transitive afhængigheder? Sjældent Dem, den kan udlede I alle lag
Skjulte afhængigheder, som downloads fra install-scripts? Nej Overses Registreres
Pakker gendannet fra en CI-cache? Nej Afhænger af værktøjet Registreres og markeres som cachet
Overvågning af sårbarheder? Manuelt Som regel et separat værktøj Indbygget med CRACI

At automatisere med en scanner er en reel forbedring i forhold til et regneark, men den gætter stadig på, hvad der gik ind. For begrundelsen, se hvorfor buildet er sandhedens kilde.

Det sker der med dine regneark

Komponentdataene flytter ud: Versioner og pakker kommer fra buildet, så ingen behøver at taste dem ind. Tilbage bliver den viden, kun dit team har, som hvilke produkter der findes, hvem der ejer dem, og hvilke versioner der stadig understøttes. Det er den del, der er værd at bruge en persons tid på.

Sådan håndterer CRACI det

CRACI erstatter dine GitHub-hosted runnere med hurtigere og billigere runnere og registrerer SBOM'en, mens hvert build kører. Du sætter runs-on: craci, og dine kørsler vises stadig i GitHub. Standardbuilds får en komplet SBOM uden konfiguration. Builds med egne pakke-registries eller usædvanlige container-opsætninger kan kræve en vis konfiguration.

  • Registreret, ikke scannet. CRACI ser trafikken, der kommer ind i hvert build, inklusive de skjulte afhængigheder, som lockfile-baserede værktøjer overser. Hver komponent i SBOM'en var med i buildet.
  • En fuldstændighedsstatus for hvert job, så du ved, hvornår et build ikke kunne registreres fuldt ud, og hvorfor.
  • Eksport i CycloneDX og SPDX, inklusive transitive afhængigheder og de sårbarheder, der er fundet i komponenterne.
  • Ét overblik på tværs af produkter. Inventory-visningen viser, hvilke softwareversioner der er udrullet til hvilke produkter, og CRACI bliver ved med at genvurdere overvågede SBOM'er.

Om at indføre det i teams med forskellige pipelines, se SBOM-generering på tværs af udviklingsteams.

SBOM-automatisering: ofte stillede spørgsmål

Hvad er SBOM-automatisering?

At producere en software bill of materials som en del af buildet, så hver release har en, uden at nogen laver den i hånden. De bedre opsætninger overvåger også hver SBOM for nye sårbarheder, efter releasen er leveret.

Kan vi beholde vores SBOM'er i Excel?

Et regneark kan fungere som en første oversigt, men det er svært at holde opdateret, og det når ikke ned til de transitive afhængigheder. Det er heller ikke et standardformat til SBOM'er. Kunder og sikkerhedsværktøjer forventer generelt CycloneDX eller SPDX, og Cyber Resilience Act kræver et almindeligt anvendt, maskinlæsbart format.

Kræver SBOM-automatisering et nyt trin i hver pipeline?

Med de fleste generatorer gør det: Du tilføjer et trin til hvert workflow og holder det opdateret. CRACI registrerer SBOM'en i runneren, så der er intet trin at tilføje til dine jobs.

Hvilke økosystemer registrerer CRACI?

npm, PyPI, RubyGems, Composer, Cargo, Go, Nix, OCI, Debian- og Ubuntu-pakker (apt), Alpine-pakker (apk) og Git-kilder samt Yocto- og OpenEmbedded-downloads. Maven og Java er på roadmappen.

Hvilke CI-systemer og platforme understøtter CRACI?

GitHub Actions i dag, med andre CI-systemer på roadmappen. Runnerne er Linux x86-64 og ARM64 i dag, med Windows og macOS på roadmappen.

Hvad med komponenter, vi køber af leverandører?

Du kan tilføje leverandørers SBOM'er til CRACI, så indkøbte komponenter overvåges side om side med dine egne builds.

Hvad koster det?

CRACI tager kun betaling for build-minutter: $0.002 pr. vCPU-minut ($0.004 for en standard-runner med 2 vCPU), afregnet pr. sekund, uden månedligt gebyr og uden betaling pr. SBOM.

Erstat regnearket med dit næste build

Se en registreret SBOM med dens fuldstændighedsstatus for et build, du allerede kører. Book en demo, så gennemgår vi den sammen med dig.

Book en demo