Sammenligning
CRACI vs. en egen SBOM-stack
Hvert lag i en stack for leverandørkjedesikkerhet har et godt verktøy med åpen kildekode. Arbeidet ligger i å velge dem, koble dem sammen, holde dem i gang og tette gapet mellom en skanning og en registrering av bygget.
Oppdatert
Det korte svaret
En DIY-stack bygget av Syft eller Trivy, Grype, Dependency-Track, Cosign og Renovate er gratis å lisensiere, kjører hvor som helst og gir et dyktig plattformteam full kontroll. CRACI er en administrert GitHub Actions-runner som registrerer hva hvert bygg hentet, kontrollerer hvor det kan koble seg til, overvåker det som ble levert, og eksporterer dokumentasjonen. Forskjellen handler mindre om funksjoner og mer om hvor SBOM-en kommer fra, og hvem som vedlikeholder skjøtene. Bygger du på GitLab, Jenkins eller Windows, eller må alt kjøre på din egen infrastruktur, er DIY den ærlige anbefalingen i dag.
Slik ser stacken ut
Et komplett oppsett du bygger selv, har vanligvis sju lag. Hvert av dem er et reelt prosjekt med sitt eget vedlikehold.
- Generering. Syft ("generating a Software Bill of Materials (SBOM) from container images and filesystems"), Trivy, cdxgen (et OWASP-prosjekt som lager CycloneDX-BOM-er "from source and container images") eller Microsoft SBOM Tool, som skriver SPDX og forventer en mappe med byggeresultater, et pakkenavn, en versjon og en leverandør på kommandolinjen.
- Matching. Grype skanner images, filsystemer og SBOM-er, med EPSS, KEV og risikoscore. OSV-Scanner matcher lockfiler, SBOM-er og container-images mot OSV.dev.
- Forvaltning. OWASP Dependency-Track tar inn CycloneDX-SBOM-er og overvåker dem over tid. API-serveren trenger minst 2 GB RAM og 2 CPU-kjerner (8 GB og 4 kjerner anbefales), og dokumentasjonen viser produksjonsmiljøer til Docker Compose med en separat database.
- Signering. Cosign signerer images, blobs og SBOM-attestasjoner, med nøkkelfri signering gjennom Fulcio og en Rekor-transparenslogg. GitHub artifact attestations bygger på Sigstore og gir provenance på SLSA v1.0 Build Level 2.
- Oppdateringer. Renovate eller Dependabot åpner pull requests for å holde avhengigheter oppdatert.
- Egress-kontroll. StepSecurity Harden-Runner kan overvåke eller blokkere utgående tilkoblinger fra GitHub Actions-jobber. Community-nivået er gratis for offentlige repositorier på GitHub-hostede runnere; private repositorier og selvhostede runnere krever Enterprise-nivået. Alternativet er din egen proxy og egne brannmurregler rundt selvhostede runnere.
- Rapportering. Noen gjør resultatene fra alt det ovenstående om til dokumentene en revisor, en kunde eller en teknisk CRA-dokumentasjon trenger.
| Funksjon | CRACI | DIY-stack |
|---|---|---|
| Kjører byggene dine | Jobber kjører på CRACI-runnere | Verktøyene kjører som steg i CI-en din |
| SBOM registrert fra bygget | Observerte hentinger, også pakker fra cache | Rekonstruert fra filer i etterkant |
| SBOM-ens fullstendighet | Angitt per jobb og per cache | Avhenger av generatoren, innstillingene og om du installerte først |
| Egress-policy på runneren | Default deny eller allow, blokkerer ved feil (fail closed) | Harden-Runner eller din egen proxy |
| Signert provenance | Ingen signert provenance | Cosign eller GitHub artifact attestations |
| Overvåking av leverte SBOM-er | Overvåkede SBOM-er vurderes kontinuerlig på nytt | Dependency-Track, når du først drifter det |
| Porteføljepolicy, VEX og triage | Triage, VEX og lisenspolicy | Policyer og VEX i Dependency-Track |
| CRA-dokumentasjon og rapporter | SBOM-er i CycloneDX eller SPDX, registreringer via API; ingen rapporteksport | Du setter sammen rapporter fra hvert verktøy |
| Andre CI-systemer, Windows og macOS | Linux på GitHub Actions i dag; annen CI, Windows og macOS på veikartet | Generatorer og skannere kjører i enhver CI |
| Kjører på din egen infrastruktur | Administrert i dag; kundehostede runnere på veikartet, Enterprise | Verktøy med åpen kildekode som du drifter selv |
| Kostnad | $0.002 per vCPU-minutt ($0.004 for 2 vCPU), målt per sekund; ingen månedsavgift og ingen betaling per SBOM | Gratis lisenser. Du betaler i ingeniørtid, drift og vedlikehold. |
- Inkludert
- Delvis
- Ikke inkludert
- På veikartet
Kostnaden ligger i skjøtene
Å velge generator er å velge blindsonene dens
Pek flere SBOM-generatorer mot samme repository, og de blir ikke enige om hva det inneholder. Hver av dem leser et annet sett filer og løser dem opp på sin måte, så komponentlisten du får, er like mye en egenskap ved verktøyet du valgte som ved prosjektet. NTIAs leverandørfelt viser det samme fra den andre siden: De fleste generatorer har ingen kilde for det, så det blir tomt uansett hva repositoriet inneholder.
Ingen av disse verktøyene er ødelagt. Hvert av dem tar en annen, dokumentert beslutning om hva som teller som en komponent, og hvilke filer som kan stoles på. Men en DIY-stack arver de beslutningene du valgte, og resten av pipelinen (matching, overvåking, rapportering) kan bare bli så fullstendig som dette første steget.
Limet er ditt
Hvert verktøy har sin egen utgivelsesrytme, sårbarhetsdatabase, sitt eget utdataformat og sin egen konfigurasjon. Noen låser versjonene, oppdaterer databasene, holder Dependency-Track og databasen patchet, roterer signeringsidentiteter, bestemmer hvilken SBOM som skal hvor, og merker når et steg i det stille begynner å produsere mindre. Det er løpende plattformarbeid, ikke et engangsoppsett.
Verktøyene er også avhengigheter
Sikkerhetsverktøy kjører inne i byggene dine med tilgang til hemmelighetene dine, så de hører hjemme i trusselmodellen din. I mars
2026 publiserte Aqua Security en advisory som beskrev hvordan kompromittert påloggingsinformasjon ble brukt til å publisere en ondsinnet
Trivy-utgivelse og til å force-pushe de fleste trivy-action-taggene til kode som stjal påloggingsinformasjon, i omtrent 12 timer.
Aqua dokumenterte det offentlig, og det kunne ha skjedd med ethvert mye brukt prosjekt. Det viser hvorfor
egress-kontroll på runneren betyr noe: En default deny-policy begrenser hvor et kompromittert steg kan sende data, men
ikke alle kanaler (advisoryen beskriver også en reserveløsning som opprettet repositorier på offerets GitHub-konto).
Når DIY er riktig valg
- CI-en din er ikke GitHub Actions. CRACI støtter bare GitHub Actions i dag, med GitLab CI og Jenkins på veikartet. Team på GitLab, Jenkins og CircleCI kan kjøre alle verktøyene med åpen kildekode ovenfor.
- Du bygger på Windows eller macOS. CRACI-runnere er Linux (x86-64 og ARM64) i dag; Windows og macOS står på veikartet.
- Alt må kjøre på din infrastruktur. CRACI kjører administrerte runnere på europeisk infrastruktur i dag, med kundehostede runnere på veikartet for Enterprise.
- Du har et plattformteam som vil eie det. Hvis vedlikeholdet av stacken er en bevisst investering og du allerede drifter Dependency-Track godt, så behold det.
- Du trenger én SBOM til ett spørreskjema. For en sjelden forespørsel der lite står på spill, kan det være nok å kjøre en generator for hånd.
Hva CRACI erstatter, og hva det ikke erstatter
CRACI dekker flere lag på ett sted, med utgangspunkt i bygget. Du endrer runs-on til
craci, og kjøringene vises fortsatt i GitHub-grensesnittet. En pakkebevisst proxy registrerer hva hver jobb henter fra
npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk og Git-kilder, pluss forhåndsinnstillinger for nedlastinger, og dokumentasjonen av avhengigheter følger
med CI-cacher. Hver jobb og cache får en fullstendighetsstatus: Complete, Complete with connections, Incomplete,
Unavailable eller Not recorded.
- Generering: CycloneDX og SPDX fra det registrerte bygget, inkludert transitive avhengigheter.
- Overvåking: funn samlet på tvers av bygg og repositorier, med overvåkede SBOM-er som vurderes kontinuerlig på nytt.
- Provenance: API-et returnerer SBOM-er, nettverksspor og provenance. CRACI signerer ikke provenance.
- Egress: policy per jobb med 24 innebygde forhåndsinnstillinger for programvarekilder, validert før jobben starter, blokkerer ved feil (fail closed), med varsler ved brudd.
- Eksport: SBOM-er som CycloneDX eller SPDX, inkludert sårbarheter; ingen rapporteksport.
Det erstatter ikke alt. Blokkeringslister for pakker står på veikartet. Trenger du signert provenance, behold Cosign eller GitHub artifact attestations. Renovate eller Dependabot gir fortsatt mening for å holde alle avhengigheter oppdatert, ikke bare de sårbare. Hvis Dependency-Track er der sikkerhetsteamet ditt jobber, kan CycloneDX-SBOM-en lastes ned gjennom CRACIs REST API og mate det.
En oversikt over hva som er rullet ut hvor
Inventarvisningen i CRACI viser nøyaktig hvilke programvareversjoner som er rullet ut til hvilke produkter, globalt. Når en ny sårbarhet dukker opp, kan du se hvilke produkter som kjører den berørte versjonen, i stedet for å pusle det sammen fra utgivelsesnotater og regneark.
For Cyber Resilience Act
CRA ber produsenter om å "identify and document vulnerabilities and components contained in products with digital elements, including by drawing up a software bill of materials" (vedlegg I del II). Rapportering av aktivt utnyttede sårbarheter gjelder fra september 2026, med 24 timer på det første varselet. En DIY-stack kan støtte dette, så lenge noen eier dokumentasjonssporet fra hver utgivelse tilbake til SBOM-en. CRACI automatiserer en betydelig del av innsynet i programvareleverandørkjeden og dokumentasjonen som bedrifter trenger for sin bredere CRA-samsvarsprosess, og det sender inn CRA-varslene på dine vegne. Uansett hvilken vei du velger, blir det opp til teamet ditt å avgjøre hva som er aktivt utnyttet. Se CRA-samsvar og SBOM-generering under bygget.
Sammenlign stacken din med ett registrert bygg
Book en demo, så kjører vi en av GitHub Actions-workflowene dine på CRACI og setter SBOM-en ved siden av den dagens verktøy produserer.
Book en demo