Il fascicolo CRA che non esce dalla vostra rete
Tre cose insieme, nello stesso prodotto:
- Si installa presso di voi, in container su un server Linux o Windows, anche in una rete
senza accesso a Internet. Il codice sorgente non lascia la vostra infrastruttura. - Produce i documenti, non solo la lista dei problemi: fascicolo tecnico CRA, SBOM, VEX,
dichiarazione di conformità e politica di gestione delle vulnerabilità in bozza, bozze delle
segnalazioni con le scadenze, fascicoli delle norme di settore. - Serve anche chi eroga il servizio a più clienti (MSP, MSSP, consulenti): ogni cliente
isolato, un pannello unico con punteggio CRA e andamento di ciascuno.
Che cosa analizza
39 strumenti di analisi in 12 categorie, eseguiti in parallelo e normalizzati in un unico
documento SARIF 2.1.0.
| Categoria | Alcuni degli strumenti | Che cosa cerca |
|---|---|---|
| SAST, analisi statica | Bandit, Semgrep, ESLint-security, SpotBugs + FindSecBugs, analisi Roslyn per .NET, Flawfinder | Difetti nel codice sorgente, configurazioni predefinite insicure, rotte esposte senza autorizzazione, chiamate in uscita senza timeout |
| SCA, dipendenze | pip-audit, npm-audit, OWASP Dependency-Check, dotnet list --vulnerable, osv-scanner, Grype |
Vulnerabilità note nelle librerie e nelle immagini container, pacchetti malevoli |
| DAST e IAST | nuclei, schemathesis, OWASP ZAP, verifica delle autorizzazioni, sonde DICOM e HL7-MLLP | L'applicazione in esecuzione |
| Segreti | detect-secrets, Gitleaks, ricerca nei binari | Credenziali nel codice, nella storia del repository e negli eseguibili |
| SBOM, IaC, licenze | Syft, Checkov, analisi delle licenze | Inventario dei componenti, Terraform, Kubernetes, Helm, Dockerfile, licenze a rischio |
| Igiene, PLC, qualità, architettura | controlli del repository, analisi IEC 61131-3, lizard, grafo dei moduli | File che non dovrebbero esserci, logica di controllo, complessità, dipendenze circolari |
Linguaggi: Python, JavaScript e TypeScript, Java, C# e .NET, C e C++, infrastruttura come
codice, immagini container, PLC (IEC 61131-3). Con i verticali anche RPG, CL e COBOL su IBM i e
COBOL, PL/I, JCL e CICS su z/OS.
Il conteggio comprende gli strumenti dei verticali e dei moduli opzionali: ogni installazione
esegue quelli della propria licenza, e ogni scansione dichiara quali strumenti non ha eseguito e
perché. Uno strumento che non ha girato non produce «zero problemi».
Deduplica e decisioni di triage
- Lo stesso problema trovato da più strumenti è una riga sola. Due risultati con lo stesso
file, la stessa riga, la stessa CWE e la stessa regola si uniscono, resta quello dello
strumento più preciso e la riga dice chi altro l'ha visto. Una vulnerabilità che due strumenti
chiamano in modo diverso (GHSA, CVE, PYSEC) è una voce sola, quando gli strumenti ne
pubblicano gli alias. - Le decisioni di triage non dipendono dal numero di riga. Falso positivo, rischio accettato,
corretto: la decisione si riconosce da percorso, regola, CWE e messaggio. Se il codice si sposta
di riga o si aggiunge un import in cima al file, la decisione resta. Se lo stesso problema
compare in un altro file, Cerbercode propone la decisione già presa e un revisore la conferma. - Ciò che la scansione decide da sola (codice di test, dipendenze di sviluppo) porta il motivo e
si revoca con un clic.
Le vulnerabilità che contano
- Priorità: prima le vulnerabilità sfruttate attivamente (catalogo CISA KEV), poi quelle con
probabilità di sfruttamento alta (EPSS), poi le gravi per CVSS (NVD). - Raggiungibilità leggera: per ogni pacchetto vulnerabile Cerbercode dice se il codice lo
importa. Se nessun progetto lo importa, propone il «non colpito» per il VEX con la motivazione,
e il revisore decide. L'analisi guarda gli import, non le chiamate. - Pacchetti malevoli: gli avvisi del feed OpenSSF malicious-packages diventano critici, con
il consiglio di togliere la dipendenza e ruotare le credenziali; le versioni pubblicate da pochi
giorni sono segnalate. - Correzione come pull request in bozza per le dipendenze vulnerabili con una versione
corretta nota (npm, Python, Maven).
Segnalazioni CRA e DORA
Dall'11 settembre 2026 l'articolo 14 del CRA obbliga il fabbricante a segnalare le
vulnerabilità sfruttate attivamente e gli incidenti gravi: preallarme entro 24 ore,
notifica entro 72 ore, relazione finale entro 14 giorni dalla correzione (vulnerabilità)
o entro un mese dalla notifica (incidenti).
- Quando una vulnerabilità del catalogo KEV compare nell'ultima scansione di un prodotto,
Cerbercode apre da solo la bozza della segnalazione. - Per ogni fase calcola la scadenza, mostra quanto manca e avvisa a 6 ore, a 1 ora e alla
scadenza (email e SIEM). Gli avvisi possono arrivare anche in Slack e Microsoft Teams. - Prepara il testo di ogni fase con i dati del fascicolo e del registro delle vulnerabilità.
- L'invio resta vostro. La piattaforma unica di segnalazione dell'ENISA non offre un'API:
il testo si incolla lì, e in Cerbercode si registra il protocollo ricevuto. Una bozza che non
va notificata si archivia con la motivazione, che resta nel registro di audit.
Per DORA, la stessa logica per gli incidenti ICT gravi: notifica iniziale entro 4 ore, intermedia
entro 72 ore, finale entro un mese.
I documenti che produce
- Fascicolo tecnico CRA: Allegato I, Parti I e II, Allegato VII. Si genera dai dati delle
scansioni, si sigilla (impronta crittografica, sola lettura) e si firma in PAdES. Nell'edizione Enterprise la firma porta anche la marca temporale RFC 3161 di una TSA,
anche qualificata eIDAS (PAdES B-T, oppure B-LT per la conservazione a lungo termine). - Dichiarazione UE di conformità (Allegato V) e politica di gestione delle vulnerabilità
in bozza, security.txt (RFC 9116) e pacchetto di consegna per l'Organismo Notificato. - SBOM in CycloneDX 1.5 e SPDX 2.3; VEX in OpenVEX e CSAF 2.0 (profilo
VEX), per dire a un cliente che una CVE nota non lo riguarda, e perché. - Fascicoli dei verticali, sigillati e firmati PAdES.
- Report tecnici ed esecutivi, esportazioni CSV e XLSX, andamento storico; per chi eroga il
servizio, la scheda di ogni cliente e il report di servizio mensile.
Ancoraggio su catena e verifica indipendente
Nell'edizione Enterprise, a ogni scansione e a ogni fascicolo sigillato Cerbercode scrive un
manifesto: commit, strumenti con la versione, banche dati usate, impronte di SARIF, SBOM e
PDF, esito e lacune. Le impronte, raccolte in lotti, si ancorano su Bitcoin con
OpenTimestamps (oppure, a scelta, sulla Notary Platform di Objlab).
- Chi verifica lo fa fuori dalla piattaforma: con il client ufficiale OpenTimestamps o con
lo script che accompagna la prova, senza fidarsi di Cerbercode. - «Ancorato» solo con la conferma della catena; senza Internet i manifesti restano in attesa, e
lo stato lo dice. - L'ancoraggio prova che il manifesto esisteva in quel momento e non è cambiato dopo; non prova
che la scansione fosse corretta. Affianca firma e marca temporale, non le sostituisce.
Anche senza Internet
Con il modulo Banca dati vulnerabilità offline le fonti stanno in copia locale: OSV, NVD,
CISA KEV, EPSS, EUVD, GitHub e gli avvisi CSAF dei fornitori OT (Siemens, Schneider Electric,
ABB, CISA ICS), insieme alle banche dati di Grype, osv-scanner e Trivy.
- Si aggiorna con un pacchetto firmato da Objlab: il server verifica firma, impronta di ogni
file e versione, rifiuta un pacchetto più vecchio di quello installato e lo installa in modo
atomico. - Il fascicolo dice quale istantanea ha usato ogni strumento. Uno scanner senza banca dati è
dichiarato non eseguito, mai «nessuna vulnerabilità».
Codice di terze parti: sandbox in micro-VM
Per analizzare software che non avete scritto voi: l'applicazione si costruisce e si avvia in una
macchina virtuale isolata (KVM) che non raggiunge né l'host né la rete, e anche gli scanner
SAST, SCA e dei segreti possono girare in una VM a parte con il sorgente in sola lettura. Se la
VM non può partire, gli scanner non girano sul server e il report lo dichiara.
Utenti, ruoli e integrazioni
- SSO con OpenID Connect; SAML 2.0 e provisioning SCIM 2.0 nell'edizione Enterprise.
- Ruoli per progetto (edizione Enterprise): responsabile su un progetto, analista su un altro,
lettore su un terzo; progetti ad accesso riservato. - Repository GitHub, GitLab e Bitbucket: una scansione a ogni push e pull request, con l'esito
sulla PR; CLI, GitHub Action e GitLab CI per le pipeline; SARIF caricabile nella scheda Security
di GitHub. - Connettori: Jira, GitHub Issues, GitLab Issues, Azure DevOps Boards, ServiceNow, SIEM
(syslog/CEF) e Splunk. - Slack e Microsoft Teams: notifiche per cliente o per progetto (finding nuovi, vulnerabilità
sfruttate, allarmi della sorveglianza, scadenze delle segnalazioni CRA e DORA). In Slack si
prende in carico, si marca un falso positivo o si apre un ticket con un clic; in Teams,
tramite Workflows, il clic porta alla conferma in Cerbercode.
Norme coperte
Nel nucleo il Cyber Resilience Act. Come verticali: NIS2 e ISO/IEC 27001, DORA,
IEC 62443-4-1, 4-2 e 3-3, EN IEC 81001-5-1 (dispositivi medici), FprEN 50742 (macchine,
in voto finale), OWASP ASVS 5.0, IBM i / AS-400, e per i fornitori di siti americani
NIST SSDF (attestazione DOE) e NRC RG 5.71.
Installazione
In container: PostgreSQL, backend, interfaccia e proxy con TLS. Su un server Linux
(consigliato per l'esercizio) oppure su Windows con Docker Desktop o Podman, con gli stessi
strumenti di analisi; anche in Kubernetes con chart Helm. Nessuna dipendenza da servizi
esterni o da abbonamenti cloud.
| Voce | Minimo | Consigliato |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| Memoria | 4 GB | 8 GB |
| Disco | 20 GB | 50 GB |
Come si prova
Chiedete la prova a Objlab: per 30 giorni Cerbercode gira in un solo container, con i dati
di una demo (clienti di fantasia) e una licenza di prova firmata da Objlab. Alla scadenza resta
consultabile in sola lettura.
Limiti dichiarati
- Nessuno strumento automatico rende conforme un prodotto. Cerbercode produce l'evidenza
tecnica e la organizza secondo la norma; la valutazione resta del fabbricante e, dove previsto,
dell'Organismo Notificato. - Le segnalazioni non partono da Cerbercode: le prepara, calcola le scadenze e avvisa; l'invio
alla piattaforma ENISA lo fa il fabbricante. - Raggiungibilità: guarda gli import, non le chiamate; per questo il «non colpito» è una
proposta che un revisore accetta. - IEC 62443 e ASVS: maturità, livelli SL e livello ASVS li dichiara il fabbricante, Cerbercode
non li attesta. - La sandbox in micro-VM richiede KVM sulla macchina o sul nodo Kubernetes.
- L'ancoraggio su catena prova esistenza e integrità del manifesto, non la correttezza della
scansione.

