Cyber resilienza automatizzata per sviluppatori e agenti
Faccia di ogni build la Sua prima linea di difesa.
Metta la sicurezza della supply chain al centro del Suo software, con runner veloci, affidabili e meno costosi.
- Runner sicuri
- SBOM in fase di build
- Monitoraggio delle vulnerabilità
- Risposta alle vulnerabilità
- 185 pacchetti registrati
- 6 connessioni rifiutate
- SBOM completa
- Corretto in v2.4.1
- Build
northwind-controls/web-portal
- Pacchetti
- 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 fermata Build #1844 riuscita
- Artefatto rilasciato
ghcr.io/northwind-controls/web-portal:2.4.1
Rilasciato come v2.4.1
I team che sviluppano con CRACI
Le vulnerabilità arrivano più velocemente di qualsiasi correzione.
Agli attaccanti basta una sola via d'accesso, e gli agenti li aiutano a trovarla più in fretta che mai. Il Suo team deve chiudere ogni falla, per lo più a mano.
2026 finora
- CVE pubblicate al giorno
- 293
- Una ogni 5 minuti, in media.
- In più al giorno rispetto all'anno precedente
- +124%
- Rispetto al ritmo giornaliero del 2025.
- Di gravità alta o critica, ogni giorno
- 148
- In base ai punteggi CVSS.
| Anno | CVE al giorno | Alta o critica al giorno |
|---|---|---|
| 2020 | 39 | 7 |
| 2021 | 54 | 12 |
| 2022 | 68 | 20 |
| 2023 | 78 | 28 |
| 2024 | 109 | 48 |
| 2025 | 131 | 54 |
| 2026 finora | 293 | 148 |
Perché ora
- Gli alert sono diventati rumore.
Quando centinaia di risultati sono urgenti, nessuno lo è davvero. I team smettono di gestire il rischio e iniziano a contare gli alert.
- Il volume supera le capacità di qualsiasi team.
Triage e correzioni si fanno ancora a mano. Con questi volumi, assumere più persone non colma il divario.
- Le correzioni competono con le funzionalità.
I team di prodotto vengono valutati sulle funzionalità rilasciate, quindi il lavoro di sicurezza aspetta uno sprint tranquillo che non arriva mai.
- Gli scanner si limitano a stimare.
Un elenco ricavato dai file dopo la build non vede ciò che vi è entrato davvero, e una falsa sicurezza fa smettere di controllare.
Il Suo software prende forma durante la build.
Il lockfile fissa ciò che dovrebbe essere installato. È la build a decidere che cosa arriva davvero. CRACI registra ogni pacchetto nel momento in cui entra, con la versione risolta, la sua provenienza e se è stato ripristinato da una cache CI.
"packages": {
…
…
} | Pacchetto | Risolta | Arrivato tramite | Sorgente |
|---|---|---|---|
| Tramite package.json | |||
| express tramite package.json | 4.21.2 | package.json | registry.npmjs.org |
| next tramite package.json Ora colpito da CVE-2025-29927 · Critical | 15.2.2 | package.json | registry.npmjs.org |
| react tramite package.json · dalla cache CI | 19.0.0 | package.json | Cache CI |
| react-dom tramite package.json · dalla cache CI | 19.0.0 | package.json | Cache CI |
| styled-jsx tramite next | 5.1.6 | next | registry.npmjs.org |
| Tramite script di build | |||
| tailwindcss tramite script di build | 4.0.14 | script di build | registry.npmjs.org |
| typescript tramite script di build | 5.8.2 | script di build | registry.npmjs.org |
| e altri 178 pacchetti registrati | |||
Protegga la build. Registri le sue dipendenze.
I Suoi job vengono eseguiti sui runner CRACI invece che su quelli ospitati da GitHub, con una velocità doppia. Ogni pacchetto che scaricano viene registrato con versione, sorgente e licenza. Tutto ciò che proviene da una sorgente esterna alla Sua policy viene rifiutato.
Secure Build Service
Ogni job viene eseguito nella propria macchina virtuale isolata, dietro una policy di egress verificata prima dell'avvio del job.
- VM isolata
- Egress negato per default
- Fail closed
- Alert in caso di violazione
Package Analytics
Un proxy che riconosce i pacchetti registra ogni pacchetto scaricato da un job, con versione risolta, sorgente e licenza dichiarata.
- npm
- PyPI
- RubyGems
- Cargo
- Go
- Nix
- OCI
- Yocto
- e altri
- 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
- reasonL'host non è nella policy
- actionBloccato sul runner
{
"bomFormat": "CycloneDX",
"specVersion": "1.7",
…
"components": [{
"name": "next",
"version": "15.2.2",
"purl": "pkg:npm/[email protected]",
"licenses": [
{ "license": { "id": "MIT" } }
]
}, …]
} CRACI vede il traffico che gli scanner non vedono.
Gli altri strumenti SBOM leggono il lockfile o l'output della build e tirano a indovinare che cosa vi è entrato. CRACI vede ciò che entra davvero in ogni build, comprese le dipendenze nascoste introdotte da hook in fase di build, script di build e immagini base.
Scanner
Scanner della concorrenza
- Metodo
- Legge package-lock.json
- Quando
- Dopo la build
- Vede
- Ciò che elenca il lockfile
| Pacchetto | Versione | Licenza | Trovato in |
|---|---|---|---|
| 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 |
| Assente da qualsiasi lockfile, quindi assente dalla SBOM | |||
| Assente da qualsiasi lockfile, quindi assente dalla SBOM | |||
| Assente da qualsiasi lockfile, quindi assente dalla SBOM | |||
142 pacchetti elencati 43 mancanti
SBOM registrata
- Metodo
- Vede il traffico della build
- Quando
- Durante la build
- Vede
- Ciò che la build ha scaricato
| Pacchetto | Versione | Licenza | Scaricato da |
|---|---|---|---|
| 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 |
| binario precompilato nascosto tramite hook postinstall · pkg:npm/hidden-package | — | — | registry.npmjs.org |
| 2 download dello script di build nascosto tramite script di build · pkg:generic/[email protected]?download_url=example.com/tool | — | — | example.com |
| 40 pacchetti OS dell'immagine base nascosto tramite Dockerfile FROM · pkg:oci/ubuntu | — | — | registry.hub.docker.com |
185 pacchetti registrati 43 in più di quanti ne mostri il lockfile
Build di esempio. Trascini il divisore per confrontare. Come funzionano le SBOM in fase di build
Riconduca le potenziali vulnerabilità alle release esatte.
CRACI controlla di continuo le SBOM registrate alla ricerca di nuove vulnerabilità. In questo esempio illustrativo, una vulnerabilità critica viene resa nota 7 giorni dopo il rilascio. Segua il registro della build dal pacchetto colpito fino alla correzione del team.
Passaggio 1 di 4
CVE-2025-29927 viene resa nota
next è una dipendenza diretta, e la build #1842 ne ha registrato la versione esatta.
- Gravità
- Critical 9.1
- Pacchetto
- next
- Colpito
- da 15.0.0 a 15.2.2
- Corretto in
- 15.2.3
Passaggio 2 di 4
Una release è colpita
CRACI la confronta con la SBOM registrata.
- Release
- web-portal v2.4.0
- Corrispondenza
- next 15.2.2, dipendenza diretta
- SBOM
- Complete
Passaggio 3 di 4
È stata distribuita con questa immagine
La release, la sua immagine e la sua SBOM restano collegate.
- Immagine
- ghcr.io/northwind-controls/web-portal:2.4.0
- Release
- v2.4.0
- SBOM
- Tracciata
Passaggio 4 di 4
La correzione ha un responsabile
La esamini, la assegni e la segua fino a una release corretta.
- Responsabile
- Team piattaforma
- Azione
- Aggiornare next alla 15.2.3 e ricompilare
- Corretto in
- web-portal v2.4.1, 2025-03-22
Risponda a ogni auditor con le prove.
Ogni build lascia evidenze: SBOM, registri delle vulnerabilità e il percorso di ogni correzione fino a una release. Le usi per i Suoi processi CRA, NIS2, ISO 27001 e SOC 2: così la domanda di un auditor richiede un download, non un progetto.
- Composizione
- Una SBOM in fase di build per ogni release.
- CycloneDX
- SPDX
- Dipendenze transitive
- Vulnerabilità
- Licenze dichiarate
- Gestione delle vulnerabilità
- Le SBOM registrate vengono rivalutate di continuo.
- Triage
- Correzione
- Conservata con la release
- Segnalazione
- CRACI invia le segnalazioni per Suo conto.
- Preallarme
- Notifica
- Relazione finale
Cyber Resilience Act
- Si applicano gli obblighi di segnalazione
- Il regolamento si applica integralmente
Segnalazione di vulnerabilità Estratto
web-portal v2.4.0
northwind-controls/web-portal · build #1842
- SBOM
- CycloneDX · Complete
- Build
- #1842 · commit 9f3c2e1
- Vulnerabilità
- CVE-2025-29927 · Critical
- Componente
- next 15.2.2
- Destinatari
- CSIRT ed ENISA, tramite la piattaforma unica di segnalazione del CRA
Cronologia della gestione
- Release compilata e SBOM registrata
- Advisory pubblicato e associato a questa release
- Esaminata da Sicurezza di prodotto, assegnata a Team piattaforma
- v2.4.1 rilasciata con next 15.2.3
La SBOM si esporta in CycloneDX o SPDX
Avvii la Sua prima build in 5 minuti.
In questa demo portiamo un sito TanStack Start dalla registrazione alla sua prima esecuzione su CRACI. Colleghiamo GitHub, instradiamo i job con runs-on: craci e osserviamo la prima esecuzione. CRACI registra ogni dipendenza esterna scaricata dalla build, segnala le vulnerabilità note e riconduce ciascuna al job che l'ha introdotta.
From sign-up to your first build on CRACI
CRACI su YouTube: CRACI demo.
Scopra come CRACI si inserisce nel Suo flusso di delivery.
CRACI sostituisce il runner, non GitHub Actions. I Suoi workflow, le review e i passaggi di deployment restano come sono.
-
Colleghi la GitHub App
Su tutti i repository o solo su quelli che sceglie.
-
Aggiorni il runner
Imposti
runs-on: cracinel workflow. Nient'altro cambia. -
Esegua la prossima build
Le esecuzioni continuano a comparire in GitHub. Il registro della build e la SBOM compaiono in CRACI.
- Runner
- Runner Linux gestiti su x86-64 e ARM64, su infrastruttura europea.
- Build
- Docker Engine, Buildx e Compose v2. Le build Yocto e BitBake sono documentate.
- Il Suo codice e i Suoi dati
- CRACI elabora il codice sorgente durante la build e non lo conserva. I dati di build sono ospitati in Europa. Il contenuto delle cache dipende da ciò che salvano i Suoi workflow. Legga la pagina sulla sicurezza.
- In roadmap
- GitLab, Jenkins e altri sistemi CI, runner Windows e macOS, runner on-prem, Maven e Java.
Le domande che i team pongono prima di una demo
Compatibilità, configurazione, sicurezza e trattamento dei dati.
Quali ambienti CI ed ecosistemi di pacchetti sono supportati?
Oggi l'integrazione CI supportata è GitHub Actions, e altri sistemi CI sono in roadmap. CRACI registra i registry npm, PyPI, RubyGems, Cargo, Go, Nix e OCI, i repository di pacchetti Debian, Ubuntu e Alpine, e i download da Git e da altre sorgenti. Maven e Java sono in roadmap. I runner sono Linux su x86-64 e ARM64.
Che cosa richiede la configurazione?
Lei collega la GitHub App di CRACI a tutti i repository o a quelli selezionati e imposta runs-on: craci nel workflow. CRACI sostituisce il runner, non GitHub Actions, quindi le Sue esecuzioni continuano a comparire in GitHub.
A quali dati accede CRACI e dove vengono conservati?
La GitHub App legge il Suo codice e le Sue esecuzioni di Actions e gestisce i runner che registra per la Sua organizzazione. CRACI elabora il codice sorgente durante la build e non lo conserva. I dati di build, compresi metadati, dati sui pacchetti, tracce di rete, SBOM, provenance, cache e registri di audit, sono ospitati in Europa, con conservazione personalizzata nel piano Enterprise. Il contenuto delle cache dipende da ciò che salvano i Suoi workflow. Scopra di più su sicurezza e trattamento dei dati.
CRACI blocca o invia alert? Che cosa succede a una build che viola una policy?
La policy di egress viene applicata sul runner. Viene convalidata prima dell'avvio del job e opera in modalità fail closed: una connessione esterna alla policy viene rifiutata e Lei riceve un alert. I policy gate possono anche fermare una build in tempo reale.
Quali formati posso esportare?
Le SBOM si esportano in CycloneDX o SPDX, comprese dipendenze transitive, vulnerabilità e licenze dichiarate.
Che cosa è disponibile oggi e che cosa è in roadmap?
Disponibile oggi: runner Linux gestiti per GitHub Actions, SBOM in fase di build con vulnerabilità, policy di egress, monitoraggio continuo delle vulnerabilità con triage e policy gate. In roadmap: GitLab, Jenkins e altri sistemi CI, runner Windows e macOS e runner on-prem.
Con il sostegno di
Ne hanno parlato
Veda il percorso dalla build alla correzione.
- Esplorare le dipendenze registrate durante una build.
- Individuare le release colpite da una vulnerabilità.
- Seguire la risposta dal triage fino a una release corretta.