{ "bank_id": "formazione:nis2-agile:esercizi", "course_id": "formazione:nis2-agile", "version": "1.0", "language": "it", "exam": { "passing_score": 80, "shuffle": true, "questions_per_attempt": 25 }, "answer_scale": { "single_choice": 1, "multi_choice": 1, "practical_sandbox": 1 }, "_note": "Risposte normative ancorate alle fonti certe (application/config/nis2_sources.php). Esercizi pratici eseguibili nella sandbox org 996002.", "modules": [ { "module_id": "M1", "questions": [ { "id": "M1-Q1", "type": "single_choice", "topic": "soggetti", "text": "Nel regime NIS2, qual è la differenza principale tra soggetti 'essenziali' e 'importanti'?", "options": ["Solo gli essenziali devono adottare misure di sicurezza", "Cambiano l'intensità della vigilanza e il regime sanzionatorio/obblighi, non l'esistenza degli obblighi di base", "Gli importanti non devono notificare gli incidenti", "È una distinzione solo dimensionale senza effetti pratici"], "correct": 1, "rationale": "Entrambe le categorie sono soggette agli obblighi (Art.21 misure, Art.23 notifiche); differiscono per intensità di vigilanza, sanzioni e alcuni obblighi specifici.", "source": "Dir. (UE) 2022/2555 + D.Lgs. 138/2024" }, { "id": "M1-Q2", "type": "single_choice", "topic": "allegati-incidenti", "text": "Nella tassonomia incidenti della Determina ACN 164179/2025, a quali soggetti si riferiscono l'Allegato 3 e l'Allegato 4?", "options": ["Allegato 3 = essenziali, Allegato 4 = importanti", "Allegato 3 = importanti, Allegato 4 = essenziali", "Entrambi solo agli essenziali", "Sono allegati sulle misure, non sugli incidenti"], "correct": 1, "rationale": "Errore ricorrente di inversione: Allegato 3 = soggetti IMPORTANTI, Allegato 4 = soggetti ESSENZIALI.", "source": "Determina ACN 164179/2025, Allegati 3 e 4" }, { "id": "M1-Q3", "type": "single_choice", "topic": "normativa-italiana", "text": "Qual è il decreto italiano che recepisce la direttiva NIS2?", "options": ["D.Lgs. 231/2001", "D.Lgs. 138/2024", "Regolamento (UE) 2024/1689", "D.Lgs. 101/2018"], "correct": 1, "rationale": "Il D.Lgs. 138/2024 recepisce la Dir. (UE) 2022/2555 (NIS2) in Italia.", "source": "D.Lgs. 138/2024" }, { "id": "M1-Q4", "type": "single_choice", "topic": "onboarding", "text": "Durante l'onboarding, come può essere precompilata l'anagrafica aziendale?", "options": ["Solo manualmente", "Da visura camerale (estrazione AI) o fetch CertiSource, oltre all'inserimento manuale", "Solo via API esterna a pagamento", "Non è prevista precompilazione"], "correct": 1, "rationale": "Il wizard supporta visura (estrazione AI), fetch dati azienda e inserimento manuale.", "source": "mappa:18_onboarding" }, { "id": "M1-Q5", "type": "multi_choice", "topic": "ruoli", "text": "Quali tra questi sono ruoli previsti nella piattaforma? (seleziona tutti)", "options": ["org_admin", "compliance_manager", "auditor", "employee", "consultant", "super_admin"], "correct": [0,1,2,3,4,5], "rationale": "Tutti elencati sono ruoli reali del modello multi-tenant.", "source": "CLAUDE.md / BaseController" } ], "exercises": [ { "id": "M1-E1", "type": "practical_sandbox", "view": "settings", "text": "In Impostazioni, individua la classificazione NIS2 dell'organizzazione sandbox e indica se è soggetto essenziale o importante.", "success_criteria": "L'utente legge correttamente entity_type dalla scheda organizzazione." } ] }, { "module_id": "M2", "questions": [ { "id": "M2-Q1", "type": "single_choice", "topic": "dashboard-score", "text": "Cosa rappresenta il gauge principale della dashboard?", "options": ["La percentuale di utenti attivi", "L'avanzamento di implementazione delle misure Art.21 NIS2 (compliance score 0-100)", "Il numero di incidenti chiusi", "Il fatturato dell'azienda"], "correct": 1, "rationale": "Il compliance score (0-100) misura l'avanzamento implementazione misure Art.21; deriva dall'ultimo assessment completato.", "source": "mappa:01_dashboard" }, { "id": "M2-Q2", "type": "single_choice", "topic": "dashboard-deadline", "text": "La sezione 'Scadenze imminenti' della dashboard a cosa serve?", "options": ["A mostrare le fatture", "Ad aggregare le scadenze di compliance (assessment, incidenti, formazione, ecc.) ordinate, overdue per prime", "A pianificare le ferie", "Solo alle scadenze fiscali"], "correct": 1, "rationale": "Aggrega scadenze da più sorgenti, mostrando per prime quelle scadute.", "source": "mappa:01_dashboard" }, { "id": "M2-Q3", "type": "single_choice", "topic": "governance", "text": "Chi può invitare nuovi membri nell'organizzazione?", "options": ["Qualsiasi employee", "I ruoli org_admin (e super_admin); la gestione membri è in Impostazioni", "Solo il consulente esterno", "Nessuno, sono creati automaticamente"], "correct": 1, "rationale": "La gestione membri/inviti è riservata ai ruoli amministrativi dell'organizzazione.", "source": "mappa:16_settings" } ], "exercises": [ { "id": "M2-E1", "type": "practical_sandbox", "view": "dashboard", "text": "Leggi il compliance score della dashboard sandbox e individua la categoria Art.21 con punteggio più basso nella heatmap.", "success_criteria": "Individua score complessivo e categoria peggiore." } ] }, { "module_id": "M3", "questions": [ { "id": "M3-Q1", "type": "single_choice", "topic": "assessment", "text": "Su quante domande e categorie è strutturato l'assessment NIS2 di base?", "options": ["20 domande, 3 categorie", "80 domande su 10 categorie delle misure Art.21", "100 domande senza categorie", "1 domanda per controllo ISO"], "correct": 1, "rationale": "L'assessment ha 80 domande su 10 categorie corrispondenti alle misure dell'Art.21.", "source": "mappa:02_assessment / nis2_questionnaire.json" }, { "id": "M3-Q2", "type": "single_choice", "topic": "assessment-scoring", "text": "Come viene calcolato il punteggio complessivo dell'assessment?", "options": ["Conteggio semplice delle risposte 'sì'", "Media pesata dei punteggi per risposta (implemented/partial/not_implemented/not_applicable) normalizzata 0-100", "Numero di domande totali", "Sempre 100 se completato"], "correct": 1, "rationale": "Lo score è la media pesata dei valori di risposta, normalizzata su 0-100.", "source": "AssessmentController::calculateScores" }, { "id": "M3-Q3", "type": "single_choice", "topic": "acn-gap", "text": "La Gap Analysis ACN di 2° livello (Det. 164179/2025) copre quanti requisiti per i soggetti importanti e per gli essenziali?", "options": ["10 e 20", "37 misure/87 requisiti (importanti) e 43 misure/116 requisiti (essenziali)", "100 per entrambi", "Solo per gli essenziali"], "correct": 1, "rationale": "Importanti: 37 misure / 87 requisiti; essenziali: 43 misure / 116 requisiti.", "source": "Determina ACN 164179/2025 / acn_measures.json" } ], "exercises": [ { "id": "M3-E1", "type": "practical_sandbox", "view": "assessment", "text": "Apri l'assessment completato della sandbox e individua una categoria con maturità parziale; indica una raccomandazione AI associata.", "success_criteria": "Legge categoria + raccomandazione dal report." } ] }, { "module_id": "M4", "questions": [ { "id": "M4-Q1", "type": "single_choice", "topic": "matrice-rischio", "text": "La matrice di rischio della piattaforma usa quale scala?", "options": ["3x3", "5x5 con likelihood e impact secondo scala ISO 27005", "10x10", "Binaria sì/no"], "correct": 1, "rationale": "Matrice 5x5; likelihood e impact seguono la scala ISO 27005; lo score inerente = likelihood × impact.", "source": "mappa:04_risks" }, { "id": "M4-Q2", "type": "single_choice", "topic": "trattamento", "text": "Cosa rappresenta un 'trattamento' del rischio?", "options": ["La cancellazione del rischio", "Il piano di mitigazione con responsabile, scadenza e stato (planned/in_progress/completed)", "Un report PDF", "Il punteggio di likelihood"], "correct": 1, "rationale": "Il trattamento è il piano di mitigazione associato al rischio, con owner, due date e stato.", "source": "mappa:04_risks / risk_treatments" }, { "id": "M4-Q3", "type": "single_choice", "topic": "risk-level", "text": "Come è classificato come 'critico' un rischio in base allo score inerente?", "options": ["score >= 4", "score >= 16 (criticità decrescente: >=16 critico, >=9 alto, >=4 medio, altrimenti basso)", "Qualsiasi score", "Solo se manuale"], "correct": 1, "rationale": "Soglie: >=16 critico, >=9 alto, >=4 medio, altrimenti basso (calcolato da inherent_risk_score).", "source": "MEMORY / risks logic" } ], "exercises": [ { "id": "M4-E1", "type": "practical_sandbox", "view": "risks", "text": "Nella sandbox, crea un nuovo rischio con likelihood e impact tali da ottenere uno score inerente >= 12, poi aggiungi un trattamento con responsabile e scadenza.", "success_criteria": "Rischio creato con score>=12 + 1 trattamento con owner e due_date." } ] }, { "module_id": "M5", "questions": [ { "id": "M5-Q1", "type": "single_choice", "topic": "art23-tempi", "text": "Quali sono le scadenze del ciclo di notifica Art.23 per un incidente significativo?", "options": ["12h / 48h / 7 giorni", "Preallarme 24h, notifica completa 72h, relazione finale entro 1 mese dalla notifica 72h", "24h / 72h / 30 giorni dal rilevamento", "Solo notifica entro 72h"], "correct": 1, "rationale": "Preallarme 24h, notifica 72h, relazione finale entro 1 MESE dalla notifica 72h (NON '30 giorni dal rilevamento').", "source": "Art.23 Dir. 2022/2555 / mappa:05_incidents" }, { "id": "M5-Q2", "type": "single_choice", "topic": "significativita", "text": "Quale di questi NON è tra i criteri di significatività di un incidente proposti nello strumento?", "options": ["Utenti coinvolti >= 500", "Durata > 4 ore", "Impatto economico > 100.000 €", "Il colore del logo aziendale"], "correct": 3, "rationale": "I 5 criteri: utenti>=500, durata>4h, impatto transfrontaliero, attacco cyber/data breach, perdita>100k€.", "source": "mappa:05_incidents (decision tree Art.23)" }, { "id": "M5-Q3", "type": "single_choice", "topic": "tassonomia-IS", "text": "Riguardo alla tassonomia IS-1..IS-4, quale affermazione è corretta?", "options": ["IS-4 (incidenti ricorrenti) si applica anche ai soggetti importanti", "IS-4 NON si applica ai soggetti importanti (solo essenziali)", "Esiste solo IS-1", "Le sigle indicano la gravità da 1 a 4"], "correct": 1, "rationale": "IS-4 (ricorrenti) non si applica agli importanti; i tipi validi per gli importanti sono IS-1..IS-3.", "source": "Determina ACN 164179/2025 / IncidentController" }, { "id": "M5-Q4", "type": "single_choice", "topic": "pir", "text": "Cosa sono le metriche TTD/TTC/TTR nel post-incident?", "options": ["Tasse trimestrali", "Time-to-Detect / Time-to-Contain / Time-to-Recover, usate nella Post-Incident Review", "Codici di errore HTTP", "Tre tipi di backup"], "correct": 1, "rationale": "TTD/TTC/TTR misurano rilevazione, contenimento e ripristino; usate nel PIR (5-whys).", "source": "mappa:05_incidents / incident_pir" } ], "exercises": [ { "id": "M5-E1", "type": "practical_sandbox", "view": "incidents", "text": "Registra nella sandbox un incidente, marcalo come significativo verificando i criteri, e simula l'invio del preallarme 24h.", "success_criteria": "Incidente significativo creato + preallarme registrato; scadenze 24h/72h/1mese popolate." } ] }, { "module_id": "M6", "questions": [ { "id": "M6-Q1", "type": "single_choice", "topic": "policy-ai", "text": "Cosa è importante ricordare su una policy generata con l'AI?", "options": ["È approvata automaticamente", "È una bozza che richiede revisione e approvazione umana (banner di avviso)", "Non può essere modificata", "Sostituisce l'assessment"], "correct": 1, "rationale": "Le bozze AI mostrano un banner di avvertenza e devono passare il flusso di revisione/approvazione.", "source": "mappa:06_policies" }, { "id": "M6-Q2", "type": "single_choice", "topic": "isms-wizard", "text": "Il wizard del Modello Organizzativo SGSI (ISO 27001) è strutturato in quanti step?", "options": ["3", "6 step", "10", "Non è un wizard"], "correct": 1, "rationale": "Il wizard SGSI ha 6 step; pre-popola parte dei dati dalle informazioni NIS2.", "source": "mappa:11_isms" }, { "id": "M6-Q3", "type": "single_choice", "topic": "soa", "text": "Quanti controlli compongono la SoA e come sono composti?", "options": ["93 solo ISO 27001", "111 controlli: 93 di ISO/IEC 27001:2022 + 7 CLD.* (27017 cloud) + 11 PII.* (27018)", "100 generici", "Solo i controlli cloud"], "correct": 1, "rationale": "SoA = 111 controlli: 93 (27001:2022) + 7 CLD.* (27017) + 11 PII.* (codifica interna ispirata a 27018).", "source": "mappa:11_isms / migrazione 038" } ], "exercises": [ { "id": "M6-E1", "type": "practical_sandbox", "view": "isms", "text": "Nella SoA della sandbox, marca un controllo come non applicabile fornendo una giustificazione, e verifica l'aggiornamento della readiness.", "success_criteria": "Controllo SoA aggiornato con giustificazione + readiness ricalcolata." } ] }, { "module_id": "M7", "questions": [ { "id": "M7-Q1", "type": "single_choice", "topic": "fornitori-assessment", "text": "L'assessment di sicurezza fornitori si basa su:", "options": ["Una sola domanda sì/no", "10 domande pesate con esito 0/50/100 e media pesata; soglia di conformità a 70", "Il fatturato del fornitore", "Nessuna valutazione"], "correct": 1, "rationale": "10 domande pesate (sì=100/parziale=50/no=0), media pesata; conforme se >= 70.", "source": "mappa:07_supply-chain / SupplyChainController" }, { "id": "M7-Q2", "type": "single_choice", "topic": "asset-relevance", "text": "Lo scoring di rilevanza NIS2 di un asset (GV.OC-04):", "options": ["È casuale", "Valuta 6 criteri producendo un punteggio 0-100; sopra la soglia 40 l'asset è 'rilevante NIS2'", "Dipende solo dal prezzo", "Esiste solo per il software"], "correct": 1, "rationale": "6 criteri → 0-100; soglia 40 = rilevante; classi critico/alto/medio per fasce 80/60/40.", "source": "mappa:08_assets / AssetScoringService" }, { "id": "M7-Q3", "type": "single_choice", "topic": "asset-classi", "text": "Un asset con relevance_score 92 a quale classe appartiene?", "options": ["basso", "critico", "trascurabile", "non rilevante"], "correct": 1, "rationale": "Fasce: >=80 critico, >=60 alto, >=40 medio; 92 → critico.", "source": "mappa:08_assets" } ], "exercises": [ { "id": "M7-E1", "type": "practical_sandbox", "view": "assets", "text": "Crea un asset nella sandbox e compila i 6 criteri di rilevanza in modo da ottenere classe 'critico'; verifica il flag 'Rilevante NIS2'.", "success_criteria": "Asset con relevance_score >= 80 e is_nis2_relevant = 1." } ] }, { "module_id": "M8", "questions": [ { "id": "M8-Q1", "type": "single_choice", "topic": "formazione-art20", "text": "La formazione del personale nella piattaforma è collegata a quale obbligo NIS2?", "options": ["Nessuno", "All'obbligo di formazione/consapevolezza degli organi di gestione e del personale (Art.20)", "Solo a ISO 9001", "Alla fatturazione elettronica"], "correct": 1, "rationale": "Il modulo Formazione supporta l'obbligo Art.20 (consapevolezza/formazione).", "source": "mappa:09_training" }, { "id": "M8-Q2", "type": "single_choice", "topic": "whistleblowing", "text": "Una segnalazione whistleblowing nella piattaforma:", "options": ["Richiede sempre login", "Può essere anonima e tracciabile via token; la gestione è riservata a org_admin/compliance_manager", "È pubblica", "Viene inviata via email a tutti"], "correct": 1, "rationale": "Submit senza auth (supporta anonimato) + track via token; lista/gestione gate-ate ai ruoli amministrativi.", "source": "mappa:13_whistleblowing" }, { "id": "M8-Q3", "type": "single_choice", "topic": "kb-scope", "text": "La Knowledge Base AI ha visibilità multi-livello. Quali sono gli scope?", "options": ["Solo pubblico", "SYSTEM (vendor, tutti), FIRM (studio di consulenza), ORG (singola organizzazione)", "Solo ORG", "Privato per utente"], "correct": 1, "rationale": "Tre livelli: SYSTEM, FIRM, ORG, con regole di visibilità in VectorService::buildAuthzFilter.", "source": "mappa:14_kb / KB multi-livello" } ], "exercises": [ { "id": "M8-E1", "type": "practical_sandbox", "view": "training", "text": "Assegna un corso obbligatorio a un membro della sandbox e porta un'assegnazione allo stato 'completato'.", "success_criteria": "1 assegnazione in stato completed con quiz_score." } ] }, { "module_id": "M9", "questions": [ { "id": "M9-Q1", "type": "single_choice", "topic": "report-cda", "text": "Il report esecutivo è destinato principalmente a:", "options": ["I clienti finali", "Gli organi di gestione/CdA (supporto all'obbligo di supervisione Art.20)", "I fornitori", "Il pubblico"], "correct": 1, "rationale": "Report esecutivo per il CdA, a supporto della responsabilità degli organi di gestione (Art.20).", "source": "mappa:10_reports" }, { "id": "M9-Q2", "type": "single_choice", "topic": "audit-chain", "text": "Cosa garantisce l'audit log con hash-chain?", "options": ["La velocità del sistema", "L'integrità e non-manomissibilità della sequenza di eventi (ogni record concatenato al precedente via SHA-256)", "Il backup automatico", "La traduzione"], "correct": 1, "rationale": "Hash-chain SHA-256: ogni entry include prev_hash → integrità verificabile, rileva manomissioni.", "source": "mappa:10_reports / AuditService" }, { "id": "M9-Q3", "type": "single_choice", "topic": "aria-fonti-certe", "text": "Qual è un principio chiave dell'assistente AI ARIA quando cita norme?", "options": ["Può inventare riferimenti se utili", "Deve citare solo fonti certe del registro; è vietato inventare riferimenti normativi", "Non cita mai le fonti", "Cita solo Wikipedia"], "correct": 1, "rationale": "Principio 'fonti certe': ogni affermazione normativa cita nis2_sources.php; riferimenti inventati vietati.", "source": "AIService::authoritativeSourcesBlock / nis2_sources.php" } ], "exercises": [ { "id": "M9-E1", "type": "practical_sandbox", "view": "reports", "text": "Nella sandbox, apri il tab Audit Log e individua un evento, poi consulta il tab ISO 27001 per il mapping di un controllo.", "success_criteria": "Legge un evento audit + un mapping ISO." } ] }, { "module_id": "M10", "questions": [ { "id": "M10-Q1", "type": "single_choice", "topic": "consulente", "text": "Nella vista consulente (Le Mie Aziende), cosa permette il pulsante 'Gestisci' su una azienda?", "options": ["Eliminarla", "Selezionare l'organizzazione come attiva e passare alla sua dashboard", "Inviare una fattura", "Cambiare la lingua"], "correct": 1, "rationale": "'Gestisci' imposta l'org attiva (switch) e porta alla dashboard del cliente.", "source": "mappa:17_companies" }, { "id": "M10-Q2", "type": "single_choice", "topic": "admin", "text": "Nell'area amministrazione piattaforma, l'azione 'impersonate' è disponibile per:", "options": ["Qualsiasi utente verso chiunque", "Il super_admin verso utenti non-super_admin attivi (per supporto)", "Gli employee", "Nessuno"], "correct": 1, "rationale": "Impersonate riservato al super_admin verso utenti non-super_admin attivi.", "source": "mappa:22_admin-users" } ], "exercises": [] } ] }