Automatiseret cyberrobusthed for udviklere og agenter
Gør hvert build til din første forsvarslinje.
Gør forsyningskædesikkerhed til kernen i din software med hurtige, pålidelige runnere, der koster mindre.
- Sikre runnere
- Build-time SBOM'er
- Sårbarhedsovervågning
- Håndtering af sårbarheder
- 185 pakker registreret
- 6 forbindelser afvist
- SBOM komplet
- Rettet i v2.4.1
- Build
northwind-controls/web-portal
- Pakker
- next 15.2.2
- react 19.0.0
- react-dom 19.0.0
- express 4.21.2
- tailwindcss 4.0.14
- typescript 5.8.2
- Policy-gateBuild #1843 stoppet Build #1844 godkendt
- Udgivet artefakt
ghcr.io/northwind-controls/web-portal:2.4.1
Udgivet som v2.4.1
Teams, der bygger på CRACI
Sårbarhederne kommer hurtigere end nogen rettelse.
Angribere skal kun bruge én vej ind, og agenter hjælper dem med at finde den hurtigere end nogensinde. Dit team skal lukke hvert eneste hul, for det meste manuelt.
2026 indtil nu
- CVE'er offentliggjort om dagen
- 293
- I gennemsnit én for hver 5 minutter.
- Flere om dagen end året før
- +124%
- Sammenlignet med den daglige rate i 2025.
- Vurderet High eller Critical, hver dag
- 148
- Ud fra deres CVSS-scorer.
| År | CVE'er om dagen | High eller Critical om dagen |
|---|---|---|
| 2020 | 39 | 7 |
| 2021 | 54 | 12 |
| 2022 | 68 | 20 |
| 2023 | 78 | 28 |
| 2024 | 109 | 48 |
| 2025 | 131 | 54 |
| 2026 indtil nu | 293 | 148 |
Hvorfor nu
- Alarmer er blevet til støj.
Når hundredvis af fund er akutte, er ingen af dem det. Teams holder op med at styre risiko og begynder at tælle alarmer.
- Mængden løber fra ethvert team.
Triage og rettelser sker stadig manuelt. Ved den her mængde lukker flere ansættelser ikke hullet.
- Rettelser konkurrerer med features.
Produktteams måles på at levere features, så sikkerhedsarbejdet venter på et roligt sprint, der aldrig kommer.
- Scannere giver kun et skøn.
En liste udledt af filer efter buildet overser, hvad der faktisk gik ind, og falsk tryghed får folk til at holde op med at kigge.
Din software tager form under buildet.
Din lockfile låser, hvad der burde blive installeret. Buildet afgør, hvad der faktisk ankommer. CRACI registrerer hver pakke, efterhånden som den kommer ind, med den resolvede version, hvor den kom fra, og om den blev gendannet fra en CI-cache.
"packages": {
…
…
} | Pakke | Resolvet | Kom ind via | Kilde |
|---|---|---|---|
| Via package.json | |||
| express via package.json | 4.21.2 | package.json | registry.npmjs.org |
| next via package.json Nu ramt af CVE-2025-29927 · Critical | 15.2.2 | package.json | registry.npmjs.org |
| react via package.json · fra CI-cache | 19.0.0 | package.json | CI-cache |
| react-dom via package.json · fra CI-cache | 19.0.0 | package.json | CI-cache |
| styled-jsx via next | 5.1.6 | next | registry.npmjs.org |
| Via build-script | |||
| tailwindcss via build-script | 4.0.14 | build-script | registry.npmjs.org |
| typescript via build-script | 5.8.2 | build-script | registry.npmjs.org |
| og 178 flere registrerede pakker | |||
Sikr buildet. Registrér dets afhængigheder.
Dine jobs kører på CRACI-runnere i stedet for GitHub-hostede, dobbelt så hurtigt. Hver pakke, de henter, registreres med version, kilde og licens. Alt fra en kilde uden for din politik bliver afvist.
Secure Build Service
Hvert job kører i sin egen isolerede virtuelle maskine bag en egress-politik, der kontrolleres, før jobbet starter.
- Isoleret VM
- Egress afvist som standard
- Blokerer ved fejl
- Alarm ved brud
Package Analytics
En pakkebevidst proxy registrerer hver pakke, et job henter, med dens resolvede version, kilde og deklarerede licens.
- npm
- PyPI
- RubyGems
- Cargo
- Go
- Nix
- OCI
- Yocto
- og flere
- time2025-03-14 09:13:07 UTC
- jobrelease.yml #1842
- stepnpm run build
- policyDefault deny. Allowed: npm, GitHub, ghcr.io, Docker Hub, example.com
- denied malicious.example:443
- reasonHosten er ikke i politikken
- actionBlokeret ved runneren
{
"bomFormat": "CycloneDX",
"specVersion": "1.7",
…
"components": [{
"name": "next",
"version": "15.2.2",
"purl": "pkg:npm/[email protected]",
"licenses": [
{ "license": { "id": "MIT" } }
]
}, …]
} CRACI ser den trafik, scannere ikke ser.
Andre SBOM-værktøjer læser lockfilen eller buildets output og gætter, hvad der gik ind. CRACI ser, hvad der faktisk kommer ind i hvert build, inklusive de skjulte afhængigheder, som build-time hooks, build-scripts og base-images trækker ind.
Scanner
Konkurrerende scanner
- Metode
- Læser package-lock.json
- Hvornår
- Efter buildet
- Ser
- Det, lockfilen angiver
| Pakke | Version | Licens | Fundet i |
|---|---|---|---|
| next pkg:npm/[email protected] | 15.2.2 | MIT | package-lock.json |
| react pkg:npm/[email protected] | 19.0.0 | MIT | package-lock.json |
| react-dom pkg:npm/[email protected] | 19.0.0 | MIT | package-lock.json |
| express pkg:npm/[email protected] | 4.21.2 | MIT | package-lock.json |
| styled-jsx pkg:npm/[email protected] | 5.1.6 | MIT | package-lock.json |
| Ikke i nogen lockfile, så heller ikke i SBOM'en | |||
| Ikke i nogen lockfile, så heller ikke i SBOM'en | |||
| Ikke i nogen lockfile, så heller ikke i SBOM'en | |||
142 pakker angivet 43 mangler
Registreret SBOM
- Metode
- Ser buildets trafik
- Hvornår
- Under buildet
- Ser
- Det, buildet hentede
| Pakke | Version | Licens | Hentet fra |
|---|---|---|---|
| next pkg:npm/[email protected] | 15.2.2 | MIT | registry.npmjs.org |
| react pkg:npm/[email protected] | 19.0.0 | MIT | registry.npmjs.org |
| react-dom pkg:npm/[email protected] | 19.0.0 | MIT | registry.npmjs.org |
| express pkg:npm/[email protected] | 4.21.2 | MIT | registry.npmjs.org |
| styled-jsx pkg:npm/[email protected] | 5.1.6 | MIT | registry.npmjs.org |
| færdigbygget binærfil skjult via postinstall-hook · pkg:npm/hidden-package | — | — | registry.npmjs.org |
| 2 downloads fra build-script skjult via build-script · pkg:generic/[email protected]?download_url=example.com/tool | — | — | example.com |
| 40 styresystempakker i base-image skjult via Dockerfile FROM · pkg:oci/ubuntu | — | — | registry.hub.docker.com |
185 pakker registreret 43 flere, end lockfilen viser
Eksempel på et build. Træk i skillelinjen for at sammenligne. Sådan virker build-time SBOM'er
Spor potentielle sårbarheder til de præcise releases.
CRACI tjekker løbende registrerede SBOM'er for nye sårbarheder. I dette illustrative eksempel offentliggøres en kritisk sårbarhed 7 dage efter release. Følg build-registreringen fra den ramte pakke til teamets rettelse.
Trin 1 af 4
CVE-2025-29927 offentliggøres
next er en direkte afhængighed, og build #1842 registrerede den præcise version.
- Alvorlighed
- Critical 9.1
- Pakke
- next
- Ramt
- 15.0.0 til 15.2.2
- Rettet i
- 15.2.3
Trin 2 af 4
Én release er ramt
CRACI matcher den mod den registrerede SBOM.
- Release
- web-portal v2.4.0
- Match
- next 15.2.2, direkte afhængighed
- SBOM
- Complete
Trin 3 af 4
Den blev leveret som dette image
Releasen, dens image og dens SBOM holdes samlet.
- Image
- ghcr.io/northwind-controls/web-portal:2.4.0
- Release
- v2.4.0
- SBOM
- Sporet
Trin 4 af 4
Rettelsen har en ejer
Triagér den, send den videre, og følg den til en rettet release.
- Ejer
- Platformteamet
- Handling
- Opgradér next til 15.2.3, og byg igen
- Rettet i
- web-portal v2.4.1, 2025-03-22
Svar hver revisor med beviser.
Hvert build efterlader dokumentation: SBOM'er, sårbarhedsregistreringer og hvordan hver rettelse nåede frem til en release. Brug den i dine processer for CRA, NIS2, ISO 27001 og SOC 2, så en revisors spørgsmål kræver et download, ikke et projekt.
- Sammensætning
- En build-time SBOM for hver release.
- CycloneDX
- SPDX
- Transitive afhængigheder
- Sårbarheder
- Deklarerede licenser
- Håndtering af sårbarheder
- Registrerede SBOM'er genvurderes løbende.
- Triage
- Rettelse
- Gemt med releasen
- Rapportering
- CRACI indberetter på dine vegne.
- Tidlig varsling
- Underretning
- Endelig rapport
Cyber Resilience Act
- Rapporteringsforpligtelserne gælder
- Forordningen gælder fuldt ud
Sårbarhedsindberetning Uddrag
web-portal v2.4.0
northwind-controls/web-portal · build #1842
- SBOM
- CycloneDX · Complete
- Build
- #1842 · commit 9f3c2e1
- Sårbarhed
- CVE-2025-29927 · Critical
- Komponent
- next 15.2.2
- Rapporterer til
- CSIRT og ENISA via CRA Single Reporting Platform
Tidslinje for håndteringen
- Release bygget og SBOM registreret
- Advisory offentliggjort og matchet til denne release
- Triageret af Produktsikkerhed, tildelt Platformteamet
- v2.4.1 udgivet med next 15.2.3
SBOM eksporteres som CycloneDX eller SPDX
Kør dit første build på 5 minutter.
I denne demo tager vi et TanStack Start-site fra tilmelding til dets første kørsel på CRACI. Vi forbinder GitHub, dirigerer jobsene med runs-on: craci og ser den første kørsel. CRACI registrerer hver ekstern afhængighed, buildet henter, markerer kendte sårbarheder og sporer hver enkelt tilbage til det job, der bragte den ind.
From sign-up to your first build on CRACI
CRACI på YouTube: CRACI demo.
Se, hvordan CRACI passer ind i dit leveringsforløb.
CRACI erstatter runneren, ikke GitHub Actions. Dine workflows, reviews og deployment-trin forbliver, som de er.
-
Forbind GitHub-appen
På alle repositories eller kun dem, du vælger.
-
Opdatér din runner
Sæt
runs-on: cracii workflowet. Intet andet ændres. -
Kør dit næste build
Kørsler vises stadig i GitHub. Build-registreringen og SBOM'en vises i CRACI.
- Runnere
- Administrerede Linux-runnere på x86-64 og ARM64 på europæisk infrastruktur.
- Builds
- Docker Engine, Buildx og Compose v2. Yocto- og BitBake-builds er dokumenteret.
- Din kode og dine data
- CRACI behandler kildekode under dit build og gemmer den ikke. Builddata hostes i Europa. Indholdet af cachen afhænger af, hvad dine workflows gemmer. Læs sikkerhedssiden.
- På roadmappen
- GitLab, Jenkins og andre CI-systemer, Windows- og macOS-runnere, on-prem-runnere, Maven og Java.
Spørgsmål, teams stiller før en demo
Kompatibilitet, opsætning, sikkerhed og datahåndtering.
Hvilke CI-miljøer og pakkeøkosystemer understøttes?
GitHub Actions er den understøttede CI-integration i dag, og andre CI-systemer er på roadmappen. CRACI registrerer npm-, PyPI-, RubyGems-, Cargo-, Go-, Nix- og OCI-registries, pakkerepositories til Debian, Ubuntu og Alpine samt Git- og andre kildedownloads. Maven og Java er på roadmappen. Runnerne er Linux på x86-64 og ARM64.
Hvad kræver opsætningen?
Du forbinder CRACI's GitHub-app på alle eller udvalgte repositories og sætter runs-on: craci i dit workflow. CRACI erstatter runneren, ikke GitHub Actions, så dine kørsler vises stadig i GitHub.
Hvilke data får CRACI adgang til, og hvor gemmes de?
GitHub-appen læser din kode og dine Actions-kørsler og administrerer de runnere, den registrerer for din organisation. CRACI behandler kildekode under dit build og gemmer den ikke. Builddata, herunder metadata, pakkedata, netværkstraces, SBOM'er, provenance, caches og auditlogs, hostes i Europa med tilpasset opbevaringsperiode på Enterprise. Indholdet af cachen afhænger af, hvad dine workflows gemmer. Læs om sikkerhed og datahåndtering.
Blokerer CRACI, eller advarer det? Hvad sker der med et build, der bryder en politik?
Egress-politikken håndhæves ved runneren. Den valideres, før jobbet starter, og blokerer ved fejl, så en forbindelse uden for politikken afvises, og du får en alarm. Policy-gates kan også stoppe et build i realtid.
Hvilke formater kan jeg eksportere?
SBOM'er eksporteres som CycloneDX eller SPDX, inklusive transitive afhængigheder, sårbarheder og deklarerede licenser.
Hvad er tilgængeligt i dag, og hvad er på roadmappen?
Tilgængeligt i dag: administrerede Linux-runnere til GitHub Actions, build-time SBOM'er med sårbarheder, egress-politik, løbende sårbarhedsovervågning med triage og policy-gates. På roadmappen: GitLab, Jenkins og andre CI-systemer, Windows- og macOS-runnere samt on-prem-runnere.
Støttet af
Omtalt i
Se vejen fra build til rettelse.
- Udforsk de afhængigheder, der blev registreret under et build.
- Find de releases, en sårbarhed rammer.
- Følg indsatsen fra triage til en rettet release.