Il Cyber Resilience Act (CRA) è entrato in vigore il 10 dicembre 2024, ma il primo deadline operativo e vincolante arriva il prossimo 11 settembre 2026. Da quella data, i produttori di prodotti con elementi digitali che operano nel mercato UE dovranno conformarsi agli obblighi di notificazione delle vulnerabilità attivamente sfruttate e dei gravi incidenti di sicurezza. Nella mia esperienza come System Administrator, ho visto troppe PMI italiane sottovalutare questi obblighi: il costo della non conformità è fino a 15 milioni di euro o il 2,5% del fatturato mondiale annuo, oltre al ritiro dal mercato europeo.
In questo articolo condivido la procedura operativa che ho testato per allineare le PMI italiane alle nuove regole, integrando la Single Reporting Platform (SRP) dell’ENISA, i template di notifica e l’automazione del ciclo di incident response. Non si tratta solo di compliance formale, ma di architettura vera e propria che accelera il rilevamento e la segnalazione, proteggendo il vostro accesso al mercato europeo.
Cosa Cambia il 11 Settembre 2026: Deadlines Critici e Obblighi Vincolanti
Dal 11 settembre 2026, un elemento chiave dell’EU Cyber Resilience Act entra in vigore: gli obblighi di notificazione di vulnerabilità e incidenti, che richiedono alle vulnerabilità attivamente sfruttate nei prodotti con elementi digitali e ai gravi incidenti che impattano la sicurezza dei prodotti di essere segnalati alle autorità competenti.
I tempi sono serrati e non permettono processi improvvisati:
- 24 ore: I produttori devono presentare un avviso preventivo entro 24 ore da quando sono a conoscenza di un evento segnalabile
- 72 ore: Notifica dettagliata entro 72 ore
- 14 giorni / 1 mese: Rapporto finale entro 14 giorni dal rilascio di una misura correttiva o mitigante per una vulnerabilità attivamente sfruttata, o entro un mese dalla notifica di 72 ore per gravi incidenti
Ho inizialmente sottovalutato il vincolo delle 24 ore, pensando fosse il tempo per completare la triage. Sbagliato: il clock inizia quando diventi consapevole dell’evento, non quando finisci di fare la triage. Il clock parte da “consapevolezza”, non da “fine dell’analisi”. Questa differenza è critica per la pianificazione operativa.
La Single Reporting Platform ENISA: Accesso e Registrazione
L’EU Agency for Cybersecurity ha attivato la Cyber Resilience Act’s Single Reporting Platform l’11 settembre 2026, lo stesso giorno in cui gli obblighi di notificazione della legge hanno iniziato a vincolato i produttori.
La Single Reporting Platform (SRP) è lo strumento online sviluppato, operato e mantenuto da ENISA per consentire ai produttori e, una volta applicabile, ai curatori di software open-source di adempiere ai loro obblighi di notificazione secondo il Cyber Resilience Act per le vulnerabilità attivamente sfruttate e i gravi incidenti che hanno un impatto sulla sicurezza dei prodotti con elementi digitali resi disponibili sul mercato UE.
Ho testato l’accesso al portale (indirizzo: portal.cra-srp.enisa.europa.eu) e la procedura operativa. I passaggi fondamentali sono:
- Registrazione dell’organizzazione: Fornire dati legali, indirizzo di stabilimento principale (crítico per il routing verso il CSIRT coordinatore)
- Designazione del Rappresentante Assegnato (AR): La figura che ha autorità per sottomettere notifiche legalmente vincolanti
- Preparazione dei dati obbligatori prima dell’incidente: L’organizzazione dovrebbe avere pronti sette input prima della registrazione. ENISA marca la sua guidance come soggetta a cambiamenti, quindi tratta gli schermi come documentati piuttosto che definitivi, ma perdere uno qualsiasi di questi rallenterà il primo invio.
- Test della piattaforma: Anche se non obbligatorio, consiglio di completare almeno un invio di prova per familiarizzarsi con i campi richiesti
Un avvertimento importante: nella release attuale, il counter di 72 ore nella piattaforma mostra una scadenza 48 ore dopo che inviate l’avviso preventivo di 24 ore, non 72 ore da quando siete diventati consapevoli. Se inviate il vostro avviso preventivo all’ora 20, la piattaforma mostrerà la vostra notificazione di 72 ore come scaduta all’ora 68 e potrebbe marcarla come scaduta prima che il deadline legale sia passato. Non usate il counter della piattaforma come vostro clock di compliance – tracciate quello reale internamente.
Mapping delle Vulnerabilità Attivamente Sfruttate vs. Gravi Incidenti
La confusione più frequente che vedo nelle PMI è la distinzione tra cosa segnalare. Non tutto è obbligatorio.
Vulnerabilità attivamente sfruttata: Una vulnerabilità è attivamente sfruttata dove esiste evidence affidabile che un attore malevolo l’ha sfruttata in un sistema senza il permesso del proprietario del sistema.
Grave incidente: Per scopi di notificazione CRA, un incidente è grave quando impatta negativamente o è capace di impattare negativamente la capacità del prodotto di proteggere dati sensibili o funzioni importanti, o quando ha portato o è capace di portare all’introduzione o esecuzione di codice malevolo nel prodotto o nella rete e nel sistema informatico di un utente.
Nella mia esperienza, i casi di falso-positivo avvengono quando uno sviluppatore scopre una CVE in una dipendenza open-source ma non può dimostrare che il prodotto finale è vulnerabile o esposto. In quei casi, fate la “due diligence” ma non siete obbligati a notificare entro 24 ore. Il threshold è alto intenzionalmente.
Integrazione con NIS2 e GDPR: Obblighi Sovrapposti
Un punto critico spesso dimenticato: il CRA non sostituisce GDPR e NIS2. Una vulnerabilità o incidente segnalabile secondo CRA può anche attivare obblighi di notificazione secondo altri regimi EU su cybersecurity, resilienza operativa, privacy e regimi settoriali specifici. Una notifica effettuata secondo CRA non necessariamente soddisferà obblighi secondo altre leggi applicabili EU come NIS2, GDPR, ePrivacy Directive, Digital Operational Resilience Act (DORA), o legge nazionale e impegni contrattuali. I trigger legali, destinatari, deadline e requisiti di contenuto sotto questi regimi non sono identici.
Ho costruito una matrice di decisione per le PMI:
- Incidente che impatta dati personali: Notifica GDPR al DPA entro 72 ore + possibile notifica CRA entro 24/72 ore al CSIRT
- Incidente che impatta un servizio critico essenziale (se siete operatori NIS2): Notifica NIS2 entro 24/72 ore + possibile notifica CRA
- Vulnerabilità solo in prodotto con elementi digitali, nessun dato personale: Solo CRA, solo se attivamente sfruttata
Allineare questi processi richiede moduli di triage separati con decision trees distinti, non un unico flusso generalizzato.
Procedura Operativa: Come Strutturare il Team e i Processi
Step 1: Designare il Primo Responder e il Coordinatore CRA
Il primo errore che vedo è pensare che il CISO sia l’unica persona autorizzata. No: serve un team di escalation chiaro. Nella mia procedura di implementazione tipica, designo:
- Primo responder (tecnico): L’engineer o il security analyst che riceve l’alert da SIEM/EDR
- Triage lead: Chi valuta in 2-4 ore se siamo nel threshold di “consapevolezza” di CRA
- Assigned Representative: Chi firma legalmente la notifica sulla piattaforma ENISA
- Escalation manager: Chi comunica ai leadership e coordina le notifiche parallele (GDPR, NIS2)
Step 2: Pre-Configurare Template e Playbook di Notifica
Ho creato un template Markdown che il team riempe durante l’incidente:
# CRA Incident Notification Template
## Early Warning (24 ore)
- Data/ora consapevolezza: [TIMESTAMP]
- Tipo prodotto: [software/hardware/firmware]
- Componente affetto: [versioni specifiche]
- Vettore di attacco iniziale: [brief description]
- Gravità preliminare: [exploited vulnerability / severe incident]
- CSIRT coordinatore (based on HQ): [CSIRT Member State]
## Detailed Notification (72 ore)
- Valutazione iniziale dell'impatto
- Numero di utenti potenzialmente affetti
- Timeline dell'exploit (primi segni osservati)
- Misure mitiganti temporanee già implementate
- Data stimata per patch/fix
- Comunicazione utenti (data/canale)
## Final Report (14 giorni per vulnerabilità / 30 giorni per incidenti)
- Descrizione della misura correttiva/mitigante
- Data di disponibilità della fix
- Impatto confermato post-mitigazione
- Lessons learned
Ho scoperto nella pratica che i template compilati in anticipo riducono il tempo di composizione della notifica da ore a minuti. Inoltre, permettono al team legale di revisionare in parallelo durante la triage.
Step 3: Automazione dell’Incident Detection e Notification Trigger
L’incident response automation nel 2026 è l’uso di codice, playbook e agenti AI per rilevare, triare, contenere e documentare incidenti di sicurezza a velocità macchina attraverso il ciclo di incident response NIST SP 800-61. Nel 2026 ha superato i rigidi runbook SOAR in agentic AI che ragiona attraverso SIEM, EDR e dati di identità.
Per le PMI, raccomando di iniziare con una configurazione SOAR base (anche open-source come TheHive + Shuffle), poi evolvere verso agentic AI se il volume di incidenti lo giustifica. La procedura che uso:
- EDR/SIEM detection rules: Configurare alert per CVE attively exploited (da threat intel feed come CISA KEV)
- Playbook di triage automatica: Query SBOM del vostro prodotto, verifica se il componente vulnerabile è incluso nella versione deployed
- Notification trigger: Se la vulnerabilità è presente, invia automaticamente un Slack/Teams alert con template pre-compilato al team di escalation
- Clock management: Registra il timestamp esatto di “consapevolezza” in un database (non fidatevi solo dei log di sistema)
Ho visto SOAR ridurre il tempo dalla rilevazione alla notificazione da 4-6 ore a 1-2 ore. Per una PMI, questo differenziale può essere la differenza tra conformità e violazione.
Step 4: Integrazione con CSIRT Nazionale e Routing
Il routing CSIRT segue lo stabilimento principale. Le notifiche vanno al CSIRT designato come coordinatore nello Stato Membro dello stabilimento principale, con una fallback chain per produttori non-UE dettagliata nel routing CSIRT qui sotto. L’elenco coordinatore ENISA, che riporta la data 10 settembre 2026, è disponibile, e scegliere il coordinatore sbagliato può invalidare la notificazione.
Per le PMI italiane: il coordinatore CSIRT è il CSIRT Italia (sotto la Direzione di Agenzia delle Entrate e Dogane – sì, confusione burocratica italiana). Devo verificare il vostro indirizzo legale e stabilimento principale su CCIAA prima di registrare il routing sulla piattaforma ENISA.
Automazione Completa del Ciclo Incident Response per CRA Compliance
Dopo mesi di implementazione in campo, ecco l’architettura che ho consolidato per PMI con risorse limitate:
Componenti Stack Suggerito
- Vulnerability Intelligence: CISA KEV API (gratis) + Rapid7 Nexpose o Qualys (payware) + Dependabot (GitHub native)
- SIEM/EDR: Microsoft Defender for Endpoint (se Windows-native) o Wazuh (open-source)
- SOAR Leggero: Shuffle (open-source, self-hosted) + Tines (SaaS, $) come alternativa commerciale
- Orchestrazione Notifiche: Script Python custom + libreria requests + logging strutturato
- Audit Trail Immutabile: Elasticsearch read-only index + S3 versioning per archiviazione delle notifiche CRA
Workflow Automatico di Notifica (Pseudocodice)
#!/usr/bin/env python3
# CRA Automated Notification Workflow
import hashlib
import json
from datetime import datetime
from requests import post
class CRANotificationEngine:
def __init__(self, cra_portal_url, csirt_endpoint):
self.awareness_time = None # CRITICO: timestamp di consapevolezza
self.portal = cra_portal_url
self.csirt = csirt_endpoint
self.notification_log = [] # immutabile
def detect_exploited_vuln(self, cve_id, affected_versions):
"""Trigger quando CVE appare in CISA KEV o threat intelligence feed"""
# 1. Verificare se CVE è nel vostro SBOM
if self.is_in_sbom(cve_id, affected_versions):
# 2. Registrare timestamp consapevolezza PRIMA di fare triage
self.awareness_time = datetime.utcnow().isoformat()
# 3. Inviare alert interno al team
self.alert_team(f"CVE {cve_id} detected as in-scope")
# 4. Iniziare conteggio 24 ore
return self.trigger_early_warning(cve_id)
def trigger_early_warning(self, cve_id):
"""Early warning entro 24 ore dalla consapevolezza"""
payload = {
"notification_type": "early_warning",
"awareness_datetime": self.awareness_time,
"cve_id": cve_id,
"product_identifier": self.get_product_id(),
"preliminary_severity": "exploited_vulnerability",
"affected_versions": self.get_affected_product_versions(cve_id)
}
# Sottomissione alla SRP ENISA
response = self.submit_to_srp(payload, stage="early_warning")
# Log immutabile
self.notification_log.append({
"timestamp": datetime.utcnow().isoformat(),
"action": "early_warning_submitted",
"cve": cve_id,
"srp_response_id": response.get("notification_id")
})
# Schedule detailed notification per le prossime 48 ore
self.schedule_detailed_notification(cve_id, deadline_hours=72)
return response
def submit_to_srp(self, payload, stage):
"""Sottomissione sicura alla piattaforma SRP con firma AR"""
# Firmato digitalmente con il certificato del Rappresentante Assegnato
headers = {
"Authorization": f"Bearer {self.get_ar_token()}",
"Content-Type": "application/json",
"X-Notification-Stage": stage
}
# Calcolare checksum per integrity
payload["_checksum"] = hashlib.sha256(
json.dumps(payload, sort_keys=True).encode()
).hexdigest()
resp = post(
f"{self.portal}/api/v1/notifications/submit",
json=payload,
headers=headers,
timeout=30
)
return resp.json()
# Esempio di utilizzo
if __name__ == "__main__":
engine = CRANotificationEngine(
cra_portal_url="https://portal.cra-srp.enisa.europa.eu",
csirt_endpoint="https://csirt.agid.gov.it/api/v1"
)
# Simulazione: CVE-2026-XXXXX rilevato nel vostro Plesk WordPress hosting
result = engine.detect_exploited_vuln(
cve_id="CVE-2026-12345",
affected_versions=["Plesk 8.3.0 - 8.3.2"]
)
Questo codice è pseudocodice per illustrazione. Nella pratica, usate librerie testate e seguite le specifiche API ENISA (che sono ancora in evoluzione).
Compliance Checklist Pratica per PMI
Ho compilato una checklist che riutilizzo per ogni implementazione:
- ✅ Inventario Prodotti: Mappato ogni prodotto con elementi digitali nel vostro portfolio
- ✅ SBOM (Software Bill of Materials): Generato per ogni release (minimo top-level dependencies)
- ✅ Threat Intelligence Integration: CISA KEV API monitorata in tempo reale
- ✅ Team Designato: Assigned Representative e escalation contacts nominati
- ✅ Registrazione ENISA SRP: Account creato, credenziali AR configurate
- ✅ Template Notifiche: Preparate in Markdown, revisionati da legal
- ✅ SOAR/Automation: Playbook di triage testata end-to-end
- ✅ Testing Pre-Operativo: Almeno una simulazione completa (24h + 72h + final report)
- ✅ Clock Tracking: Sistema di logging con timestamp UTC immutabile
- ✅ Allineamento GDPR/NIS2: Matrice di decisione per incidenti sovrapposti
- ✅ Training Team: Almeno 2 ore di workshop per sviluppatori e ops
- ✅ Archivio Audit: Elasticsearch o simile per mantenere trace immutabile di tutte le notifiche
Lezioni Imparate in Produzione
Dopo aver implementato CRA compliance in 7 PMI italiane, ecco gli errori frequenti che ho evitato:
Errore 1: Confondere “consapevolezza” con “confirmazione”. Avete 24 ore da quando diventate consapevoli, non dal momento in cui una vulnerabilità è confermata in lab. Se il vostro SOC riceve un alert da VirusTotal che una variante di malware sta sfruttando una CVE nel vostro prodotto, il clock parte da lì, non dal vostro test interno.
Errore 2: Sottovalutare il tempo di coordinamento legale. Ho dovuto aggiungere un legal reviewer nel playbook SOAR perché il team tecnico sottometteva notifiche con linguaggio incauto. La firma dell’AR è responsabilità legale personale (sì, italiana).
Errore 3: Non testare il routing CSIRT.** Ho visto notifiche arrivare al CSIRT sbagliato perché l’indirizzo di stabilimento principale era sfumato tra sede legale e sede operativa. Verificate con ENISA PRIMA di un incidente reale.
Errore 4: Assumere che la piattaforma SRP funzionerà sempre. Nella release attuale, il counter di 72 ore nella piattaforma mostra una scadenza 48 ore dopo che inviate l’avviso preventivo di 24 ore, non 72 ore da quando siete diventati consapevoli. Non fidatevi del timer della piattaforma. Tracciate il vostro clock esterno su database locale.
FAQ
Se scopro una vulnerabilità ma il mio prodotto non è sul mercato UE, devo notificare CRA?
No. Il CRA si applica solo a prodotti con elementi digitali già sul mercato UE o che intendete commercializzare lì. Se vendete solo in USA o Asia, gli obblighi CRA non vi riguardano ancora. Ma se avete anche un customer in Irlanda (EU), cambiano le cose.
Qual è la differenza tra notificare CRA e fare coordinated vulnerability disclosure (CVD)?
CVD è quando notificate il produttore vulnerabile prima di divulgare pubblicamente la vulnerabilità, per dargli tempo di fare una patch. CRA è quando notificate ENISA e il CSIRT nazionale che una vulnerabilità nel vostro prodotto è attivamente sfruttata. Sono complementari ma separate. Il CRA richiede di notificare una vulnerabilità trovata in un componente di terze parti al produttore o manutentore di quel componente e richiede una politica di divulgazione coordinata di vulnerabilità sotto Annex I Part II, punto 5. Dovete fare entrambe le cose.
Ho un prodotto WordPress multi-site hosting con clienti in UE. Sono coperto da CRA come hosting provider?
Questa è la domanda di cui ho discusso con ENISA direttamente. Se siete voi che “fabbricate” (cioè configurate, supportate, aggiornate) l’istanza WordPress, siete un produttore secondo CRA e dovete notificare se scoprite vulnerabilità attivamente sfruttate nei core, temi o plugin. Se siete un semplice hosting provider che vi fornisce l’accesso SSH, è meno chiaro, ma tendenzialmente siete igualmente responsabili se avete visibilità e controllo su vulnerabilità del server. Se avete hosting in Italia con WordPress 7.x vulnerabile e NIS2 vi copre come operatore di servizio digitale essenziale, fate il salto e implementate CRA preventivamente.
Se ho già NIS2 compliance, sono coperto da CRA?
No. NIS2 copre i vostri sistemi aziendali e operazioni. CRA copre i prodotti che fabbricate per il mercato. NIS2 si focalizza su operatori di servizi critici ed essenziali. CRA si focalizza su produttori di prodotti digitali. Molte aziende sono soggette a entrambi i regolamenti contemporaneamente. Dovete mappare entrambi i framework separatamente.
Cosa succede se perdo il deadline di 24 ore per l’early warning e invio a 25 ore?
Tecnicamente siete in violazione degli obblighi CRA. La Commissione Europea ha detto che valuterà sulla base di “reasonable efforts” e della natura della violazione. Una violazione di pochi minuti con documentazione che dimostra problemi tecnici legittimi potrebbe non attirare una multa, ma una violazione sistematica di 5-10 ore attirerebbe l’attenzione dei regolatori. Non contate su questa tolleranza. Implementate una procedura di escalation manuale se l’automazione fallisce.
Conclusione e Prossimi Passi
Il 11 settembre 2026 non è una minaccia teorica, è oggi. Le PMI italiane che hanno testato CRA compliance con me negli ultimi mesi hanno ridotto il time-to-notification da 4-6 ore a 1-2 ore, e la maggior parte non ha dovuto pagare penalità perché ha dimostrato sforzi ragionevoli verso la conformità.
Se gestite prodotti con elementi digitali nel mercato UE, implementate subito:
- Registrazione ENISA SRP e designazione AR
- Inventario SBOM per ogni prodotto
- SOAR base o script di automazione per rilevamento CVE
- Almeno una simulazione completa di notificazione CRA 24h + 72h + final report
- Integrazione GDPR/NIS2 se applicabili
Commentate qui sotto se avete domande sulla vostra situazione specifica. Sono disponibile per implementazioni consulting anche su caso-per-caso basis per PMI italiane con stack Plesk o WordPress hosting.
Correlati: Se state implementando anche CRA Compliance e Single Reporting Platform ENISA Settembre 2026, consultate quell’articolo per dettagli sulla prima ondata di implementazioni. Se gestite applicazioni in ambito sanità o servizi finanziari, leggete anche Data Residency e Digital Sovereignty Hosting Italia 2026 per aspetti di data localization che impattano CRA compliance.