123% meer gemelde CVE's per dag in 2026 dan vorig jaar.

Vergelijking

CRACI vs een DIY SBOM-stack

Elke laag van een stack voor ketenbeveiliging heeft een goede open-sourcetool. Het werk zit in kiezen, koppelen, draaiend houden en het gat dichten tussen een scan en een vastlegging van de build.

Bijgewerkt op

Het korte antwoord

Een DIY-stack van Syft of Trivy, Grype, Dependency-Track, Cosign en Renovate kost niets aan licenties, draait overal en geeft een bekwaam platformteam volledige controle. CRACI is een beheerde GitHub Actions-runner die vastlegt wat elke build ophaalde, bepaalt waarmee die verbinding mag maken, monitort wat is geleverd en het bewijs exporteert. Het verschil zit minder in functies en meer in waar de SBOM vandaan komt en wie de koppelingen onderhoudt. Bouwt u op GitLab, Jenkins of Windows, of moet alles op uw eigen infrastructuur draaien, dan is DIY vandaag het eerlijke advies.

Hoe de stack eruitziet

Een complete eigen opzet heeft meestal zeven lagen. Elke laag is een echt project met zijn eigen onderhoud.

  1. Generatie. Syft ("generating a Software Bill of Materials (SBOM) from container images and filesystems"), Trivy, cdxgen (een OWASP-project dat CycloneDX-BOM's maakt "from source and container images") of de Microsoft SBOM Tool, die SPDX schrijft en op de opdrachtregel een build-dropmap, een pakketnaam, een versie en een leverancier verwacht.
  2. Matching. Grype scant images, bestandssystemen en SBOM's, met EPSS, KEV en risicoscores. OSV-Scanner matcht lockfiles, SBOM's en containerimages met OSV.dev.
  3. Beheer. OWASP Dependency-Track verwerkt CycloneDX-SBOM's en monitort ze in de loop van de tijd. De API-server heeft minimaal 2 GB RAM en 2 CPU-cores nodig (8 GB en 4 cores aanbevolen), en de documentatie verwijst productie-uitrols naar Docker Compose met een aparte database.
  4. Ondertekening. Cosign ondertekent images, blobs en SBOM-attestaties, met keyless ondertekening via Fulcio en een Rekor-transparantielog. GitHub artifact attestations bouwen voort op Sigstore en leveren herkomstgegevens op SLSA v1.0 Build Level 2.
  5. Updates. Renovate of Dependabot openen pull requests om afhankelijkheden actueel te houden.
  6. Egresscontrole. StepSecurity Harden-Runner kan uitgaande verbindingen van GitHub Actions-jobs auditen of blokkeren. De Community-laag is gratis voor publieke repositories op door GitHub gehoste runners; privérepositories en self-hosted runners hebben de Enterprise-laag nodig. Het alternatief is uw eigen proxy en firewallregels rond self-hosted runners.
  7. Rapportage. Iemand zet de output van al het bovenstaande om in de documenten die een auditor, een klant of een technisch CRA-dossier nodig heeft.
Functie CRACI DIY-stack
Draait uw builds Jobs draaien op CRACI-runners Tools draaien als stappen in uw CI
SBOM vastgelegd uit de build Waargenomen downloads, inclusief gecachete pakketten Achteraf gereconstrueerd uit bestanden
Volledigheid van de SBOM Vermeld per job en per cache Hangt af van de generator, de instellingen en of u eerst hebt geïnstalleerd
Egressbeleid op de runner Standaard weigeren of toestaan, fail-closed Harden-Runner of uw eigen proxy
Ondertekende herkomst Geen ondertekende herkomstgegevens Cosign of GitHub artifact attestations
Monitoring van geleverde SBOM's Gemonitorde SBOM's continu opnieuw beoordeeld Dependency-Track, zodra u het host
Portfoliobeleid, VEX en triage Triage, VEX en licentiebeleid Beleid en VEX in Dependency-Track
CRA-bewijs en rapporten SBOM's in CycloneDX of SPDX, gegevens via API; geen rapportexport U stelt rapporten zelf samen uit elke tool
Andere CI-systemen, Windows en macOS Vandaag Linux op GitHub Actions; andere CI, Windows en macOS op de roadmap Generators en scanners draaien in elke CI
Draait op uw eigen infrastructuur Vandaag beheerd; door de klant gehoste runners op de roadmap, Enterprise Open-sourcetools die u zelf host
Kosten $0.002 per vCPU-minuut ($0.004 voor 2 vCPU), per seconde gemeten; geen maandbedrag en geen kosten per SBOM Gratis licenties. U betaalt met engineeringtijd, hosting en onderhoud.
  • Inbegrepen
  • Gedeeltelijk
  • Niet inbegrepen
  • Op de roadmap

De kosten zitten in de koppelingen

Een generator kiezen is zijn blinde vlekken kiezen

Richt meerdere SBOM-generators op dezelfde repository en ze zijn het niet eens over wat erin zit. Elke generator leest een andere set bestanden en interpreteert die anders, dus de componentenlijst die u krijgt is evenzeer een eigenschap van de gekozen tool als van het project. Het NTIA-veld voor de leverancier laat hetzelfde van de andere kant zien: de meeste generators hebben er geen bron voor, dus het blijft leeg, wat de repository ook bevat.

Geen van deze tools is kapot. Elke tool neemt een andere, gedocumenteerde beslissing over wat als component telt en welke bestanden te vertrouwen zijn. Maar een DIY-stack erft de beslissingen die u hebt gekozen, en de rest van de pipeline (matching, monitoring, rapportage) kan nooit vollediger zijn dan die eerste stap.

De lijm komt voor uw rekening

Elke tool heeft zijn eigen releasecadans, kwetsbaarheidsdatabase, uitvoerformaat en configuratie. Iemand pint de versies vast, werkt de databases bij, houdt Dependency-Track en de database ervan gepatcht, roteert ondertekeningsidentiteiten, bepaalt welke SBOM waarheen gaat en merkt het op wanneer een stap stilletjes minder gaat opleveren. Dat is doorlopend platformwerk, geen eenmalige installatie.

De tools zijn ook afhankelijkheden

Beveiligingstools draaien in uw builds met toegang tot uw secrets, dus ze horen in uw dreigingsmodel. In maart 2026 publiceerde Aqua Security een advisory waarin stond hoe gecompromitteerde inloggegevens zijn gebruikt om een kwaadaardige Trivy-release te publiceren en de meeste trivy-action-tags ongeveer 12 uur lang met een force-push naar code te laten wijzen die inloggegevens stal. Aqua heeft dit openbaar gedocumenteerd, en het had elk veelgebruikt project kunnen overkomen. Het laat zien waarom egresscontrole op de runner belangrijk is: een beleid dat standaard weigert, beperkt waar een gecompromitteerde stap gegevens naartoe kan sturen, al geldt dat niet voor elk kanaal (de advisory beschrijft ook een terugvaloptie die repositories aanmaakte op het GitHub-account van het slachtoffer).

Wanneer DIY de juiste keuze is

  • Uw CI is niet GitHub Actions. CRACI ondersteunt vandaag alleen GitHub Actions, met GitLab CI en Jenkins op de roadmap. Teams op GitLab, Jenkins en CircleCI kunnen elke open-sourcetool hierboven draaien.
  • U bouwt op Windows of macOS. CRACI-runners draaien vandaag op Linux (x86-64 en ARM64); Windows en macOS staan op de roadmap.
  • Alles moet op uw infrastructuur draaien. CRACI draait vandaag beheerde runners op Europese infrastructuur, met door de klant gehoste runners op de roadmap voor Enterprise.
  • U hebt een platformteam dat het zelf wil beheren. Is het onderhoud van de stack een bewuste investering en draait u Dependency-Track al goed, houd het dan.
  • U hebt één SBOM nodig voor één vragenlijst. Voor een incidenteel verzoek met weinig op het spel kan een handmatige run van een generator genoeg zijn.

Wat CRACI vervangt, en wat niet

CRACI dekt meerdere lagen op één plek, te beginnen bij de build. U wijzigt runs-on in craci, en runs verschijnen nog steeds in de GitHub-interface. Een proxy die pakketten herkent, legt vast wat elke job ophaalt van npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk en Git-bronnen, plus downloadpresets, en het bewijs van afhankelijkheden reist mee met CI-caches. Elke job en cache krijgt een volledigheidsstatus: Complete, Complete with connections, Incomplete, Unavailable of Not recorded.

  • Generatie: CycloneDX en SPDX uit de vastgelegde build, inclusief transitieve afhankelijkheden.
  • Monitoring: bevindingen gebundeld over builds en repositories heen, met gemonitorde SBOM's die continu opnieuw worden beoordeeld.
  • Herkomst: de API levert SBOM's, netwerktraces en herkomstgegevens. CRACI ondertekent herkomstgegevens niet.
  • Egress: beleid per job met 24 ingebouwde presets voor softwarebronnen, gevalideerd voordat de job start, fail-closed en met meldingen bij overtredingen.
  • Export: SBOM's als CycloneDX of SPDX, inclusief kwetsbaarheden; geen rapportexport.

Het vervangt niet alles. Blokkeerlijsten voor pakketten staan op de roadmap. Hebt u ondertekende herkomstgegevens nodig, houd dan Cosign of GitHub artifact attestations. Renovate of Dependabot blijven zinvol om elke afhankelijkheid actueel te houden, niet alleen de kwetsbare. Werkt uw securityteam in Dependency-Track, dan is de CycloneDX-SBOM te downloaden via de REST API van CRACI en kan die Dependency-Track voeden.

Een inventaris van wat waar is uitgerold

De inventarisweergave van CRACI toont precies welke softwareversies in welke producten zijn uitgerold, wereldwijd. Wordt er een nieuwe kwetsbaarheid bekend, dan ziet u welke producten de getroffen versie draaien, in plaats van het bij elkaar te zoeken uit release notes en spreadsheets.

Voor de Cyber Resilience Act

De CRA vraagt fabrikanten kwetsbaarheden en componenten in producten met digitale elementen te identificeren en te documenteren, "onder meer door een softwarestuklijst op te stellen" (bijlage I, deel II). Het melden van actief uitgebuite kwetsbaarheden geldt vanaf september 2026, met 24 uur voor de eerste melding. Een DIY-stack kan dat ondersteunen, zolang iemand eigenaar is van het bewijsspoor van elke release terug naar de SBOM. CRACI automatiseert een aanzienlijk deel van het inzicht in de softwareketen en het bewijs dat bedrijven nodig hebben voor hun bredere CRA-nalevingsproces, en het dient de CRA-meldingen namens u in. Welke route u ook kiest, bepalen wat actief wordt uitgebuit blijft bij uw team. Zie CRA-naleving en SBOM-generatie tijdens de build.

Vergelijk uw stack met één vastgelegde build

Boek een demo, dan draaien we een van uw GitHub Actions-workflows op CRACI en leggen we de SBOM naast die van uw huidige tools.

Demo boeken