[FIX] AIService+IncidentController: Allegato 3/4 invertiti (edit prima fallito) + decorrenza + disclaimer
Il commit 6079311 aveva corretto solo help.js: gli edit ad AIService erano falliti
(old_string non corrispondente) e l'AI continuava a citare l'allegato SBAGLIATO in
produzione. Questo li applica davvero:
- classifyIncident: Allegato 4=essenziali, Allegato 3=importanti (era invertito).
Verificato su docs/nis2/allegati_acn/Allegato{3,4}.txt. La logica IS-4 era gia'
corretta (blocca IS-4 per importanti); era sbagliata solo l'ETICHETTA dell'allegato.
- decorrenza relazione finale: "1 mese DALLA NOTIFICA delle 72h (non dalla data
dell'incidente)", allineato ad Art.23 e guida.
- authoritativeSourcesBlock: +regola 4 (orientamento NON vincolante, art.22 GDPR) e
+regola 5 (ENISA/NIST/ISO best practice non vincolanti). Iniettato in TUTTI i prompt.
- IncidentController:62 commento allineato (Allegato 4 essenziali / 3 importanti).
php -l OK su entrambi.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
60793111a2
commit
0d748c6027
@ -51,7 +51,9 @@ class AIService
|
||||
. "\n\nREGOLE SULLE FONTI (vincolanti):\n"
|
||||
. "1. Ogni affermazione normativa DEVE essere ancorata a una di queste fonti, citata esplicitamente (es. \"ai sensi dell'art. 23 della Direttiva (UE) 2022/2555\" o \"Determinazione ACN n. 164179/2025, Allegato 3\").\n"
|
||||
. "2. NON inventare numeri di articolo, determine, allegati o date: se non sei certo, dichiaralo e invita a verificare la fonte ufficiale.\n"
|
||||
. "3. Preferisci sempre il riferimento normativo italiano (D.Lgs. 138/2024 + Determine ACN) per gli obblighi operativi, e la Direttiva UE per i principi.\n";
|
||||
. "3. Preferisci sempre il riferimento normativo italiano (D.Lgs. 138/2024 + Determine ACN) per gli obblighi operativi, e la Direttiva UE per i principi.\n"
|
||||
. "4. ORIENTAMENTO NON VINCOLANTE: le tue risposte forniscono supporto operativo e orientamento, NON costituiscono consulenza legale ne parere professionale vincolante. Dove la norma richiede una valutazione (perimetro di applicabilita, criticita di un fornitore, significativita di un incidente) dichiara esplicitamente che e' una valutazione da confermare con il referente compliance/legale dell'organizzazione (cfr. art. 22 GDPR per decisioni con effetti giuridici).\n"
|
||||
. "5. ENISA, NIST e ISO sono best practice di settore, NON fonti normative vincolanti: gli obblighi italiani derivano da Direttiva (UE) 2022/2555, D.Lgs. 138/2024 e Determinazioni ACN.\n";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -189,11 +191,12 @@ PROMPT;
|
||||
public function classifyIncident(string $title, string $description, array $organization): array
|
||||
{
|
||||
$entityType = $organization['entity_type'] ?? 'important';
|
||||
// Allegato 3 (soggetti essenziali) vs Allegato 4 (soggetti importanti):
|
||||
// Allegato 4 = soggetti ESSENZIALI, Allegato 3 = soggetti IMPORTANTI
|
||||
// (verificato su Determina ACN 164179/2025, Allegati 3 e 4):
|
||||
// gli importanti NON hanno l'obbligo sugli incidenti ricorrenti (IS-4).
|
||||
$isEssential = ($entityType === 'essential');
|
||||
$allowedIs = $isEssential ? 'IS-1|IS-2|IS-3|IS-4' : 'IS-1|IS-2|IS-3';
|
||||
$allegato = $isEssential ? 'Allegato 3 (soggetti essenziali)' : 'Allegato 4 (soggetti importanti)';
|
||||
$allegato = $isEssential ? 'Allegato 4 (soggetti essenziali)' : 'Allegato 3 (soggetti importanti)';
|
||||
$sourcesBlock = $this->authoritativeSourcesBlock();
|
||||
|
||||
$prompt = <<<PROMPT
|
||||
@ -202,7 +205,7 @@ Sei un analista di incident response NIS2. Classifica il seguente incidente seco
|
||||
## Quadro normativo di riferimento (cita la fonte pertinente in ogni campo motivazionale)
|
||||
- Obbligo di notifica: art. 23 D.Lgs. 138/2024 e Direttiva (UE) 2022/2555.
|
||||
- Classificazione incidenti significativi e tempistiche: Determinazione ACN n. 164179/2025, {$allegato}.
|
||||
- Tempistiche: preallarme entro 24h, notifica completa entro 72h, relazione finale entro 1 mese dalla conoscenza dell'incidente significativo.
|
||||
- Tempistiche: preallarme entro 24h e notifica completa entro 72h dalla conoscenza dell'incidente; relazione finale entro 1 mese DALLA NOTIFICA delle 72h (non dalla data dell'incidente).
|
||||
- Tipologie significative applicabili a questo soggetto ({$entityType}): {$allowedIs}.
|
||||
{$sourcesBlock}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user