-
Notifications
You must be signed in to change notification settings - Fork 0
5 Collaudo DevTools
Il collaudo e la manutenzione del motore ๐ช Panzer v7.6+ all'interno delle infrastrutture della Pubblica Amministrazione richiedono un monitoraggio rigoroso tramite i DevTools (F12), applicando il protocollo di hardening e la sterilizzazione forense dei log ( ๐ณ๏ธ Black-Hole ).
Warning
โก๏ธ Falsi Positivi in Debug: Quando i DevTools di Chrome sono aperti con l'opzione "Disable cache" attiva, il Service Worker potrebbe bypassare le logiche del Bunker. Disattiva questa opzione per i test di resilienza reale.
getNetworkProfile richiede monitoraggio RTT. Non disabilitare le API di rete.
Caution
๐ NOTA: ๐ช Panzer v7.6+: Non alterare le costanti di cifratura *var encryptionKey ** o le soglie minAbsoluteByte in fase di runtime;
il protocollo ๐ณ๏ธ Black-Hole interpretando la manipolazione come tentata iniezione, attiverร automaticamente la Purga Atomica.
- Durante le sessioni di ispezione attiva, l'operatore tecnico deve fare riferimento alla seguente mappatura semantica delle stringhe generate nativamente dal Service Worker nei log di console:
๐น๐ Log
| Alcuni esempi di Log di Console ( SW Panzer v7+ ๐ช) | |
|---|---|
๐ฆ๐ก๏ธ SW: Risorsa validata e salvata: ${targetUrl} |
Successo cache. |
๐พ๐ก๏ธ SW: Risorsa estratta dal, ${targetCache} |
Decrittazione in RAM. |
๐ก๏ธ๐งน SW: Bonifica RAM eseguita per: ${finalPath} |
fill(0) anti Memory ispection |
โ ๏ธ SW Security: Firma fallita per ${url} |
Errore firma. |
๐โ SW: Fallimento validazione/download su: ${url} |
Violazione soglie/dimensioni. |
๐โ SW: Offline in ${mode} (Profilo: ${profileName}) |
Stato resilienza. |
๐ SW: Background Sync avviato... |
Sincronizzazione async. |
๐จ SW: Storage Pieno! - Emergency Clean... |
Gestione QuotaExceeded. |
โ ๏ธ SW: ErrorPage B64 Not Blob... |
Errore fallback grafico. |
๐๏ธ๐จ SW: COMPROMISSIONE RILEVATA! ACTIVATION_ABORTED_SECURITY_BREACH |
Purga atomica. |
๐๏ธ๐ฅ SW: Tabula rasa completata con successo. |
Risultato della Purga atomica. |
โ ๏ธ๐ฃ ANOMALIA CRITICA: Vault compromesso, chiave sparita! |
DB presente ma chiave assente... |
โ๐ก๏ธ SW: Errore durante la cifratura del file. |
Errore di Cifratura con (throw err).per il chiamante try/catch |
โ๐ก๏ธ SW: Fallimento decrittazione. Dati non integri o chiave errata. |
throw new Error("VAULT_LOCKED_DECRYPTION", { cause: err }. |
๐๐ฆ SW: TTL Scaduto, Del: ${request.url} |
Pulizia dei dati non cifrati ogni X giorni. |
๐งน SW: UserCache svuotata, recupera spazio critico. |
Usata quado interviene: QuotaExceeded |
๐ SW: Primo avvio, inizializzazione chiave. |
Creazione Della Key_master. |
๐ก๏ธ๐ SW: Check di Sicurezza... |
Avvio Controllo di Integritร sulla Key_master . |
๐ก๏ธโ
SW: Integritร Bunker confermata. |
Controllo di Integritร sulla Key_master, Riscontro negativo di Manipolazione/Corruzione. |
๐๐ฎโโ๏ธ SW: Rete Degradata, [ ${profileName} ].\n SWR(Stale-While-Revalidate), ON per continuitร operativa... |
profili di rete degradati Low & VeryLow forzati ad usare SWR come strategia di resilienza... |
๐น๐ฆ๐ก๏ธ (Bunker), (mappato in `CONFIG.cacheName`)
Indica operazioni di lettura, scrittura o ripristino di un asset di sistema core.
๐น Questa zona รจ protetta da cifratura hardware-assisted AES-GCM ๐, isolata e vitale per il funzionamento offline.
๐น Il frontend riceve queste risorse marchiate dall'header personalizzato:
`X-PWA-Source: Bunker-Decrypted`
๐น๐ฆ๐ (Magazzino), (mappato in `CONFIG.userCacheName`)
๐น Indica la gestione delle risorse utente sussidiarie. ร un'area di storage dinamica, volatile, non cifrata e sacrificabile in caso di emergenza, vincolata al ciclo di vita di `CONFIG.userCacheTTL`.
- In presenza di anomalie hardware o tentativi di manipolazione (es. iniezione di chiavi corrotte), il motore esegue il protocollo distruttivo definito nel diagramma sottostante:
๐นScattato `QuotaExceededError` (Memoria Piena)
๐น Causa: Il dispositivo client ha esaurito lo spazio disco. Durante il download o la cifratura degli asset pesanti la scrittura fallisce.
๐น Azione: Poichรฉ il test del canarino eseguito all'avvio in RAM ha giร dovuto convalidare l'integritร del Vault, il sistema interrompe la sincronizzazione in modo pulito.
๐น Nessuna purga viene avviata, preservando l'integritร dei file giร archiviati.
๐น๐๏ธ๐จ๐ฃ `VAULT_SECURITY_BREACH_INTEGRITY` (Purga Atomica)
๐น Causa: Rilevata alterazione strutturale dei byte della chiave master, fallimento del test crittografico di decrittazione sul Canary Data, oppure totale e inspiegabile assenza del record della chiave da IndexedDB a Service Worker giร inizializzato.
๐น Azione del software (Tabula Rasa & Reset): Il Service Worker attiva il protocollo distruttivo immediato:
Cancellazione radicale di tutte le cache (`CONFIG.cacheName` e `CONFIG.userCacheName`), rasa al suolo l'intera struttura di IndexedDB (`PWA_Vault`), azzera le variabili in RAM ed emette un segnale broadcast.
sequenceDiagram
participant SW as โ๏ธ Guardiano (SW)
participant CA as ๐พ Magazzino (Cache)
participant DB as ๐๏ธ Caveau (DB)
participant FE as ๐ฅ๏ธ Schermo (App)
Note over SW: Rilevato pericolo/corruzione
SW->>CA: ๐งน "Butta via tutto!"
SW->>DB: ๐งจ "Distruggi il caveau!"
SW->>SW: ๐ง "Pulisci la memoria RAM"
SW->>FE: ๐ข "Ricarica tutto da zero!"
๐น๐๏ธโ๏ธ Effetto Nuova Installazione:
๐น Il browser si ritrova davanti a una tabula rasa assoluta e avvia un ciclo di re-installazione ex-novo.
๐น Se la comunicazione diretta con il frontend dovesse fallire durante la crisi, l'effetto si concretizza in modo deterministico alla primissima riapertura o aggiornamento manuale dell'applicazione da parte dell'utente, costringendo il sistema a ripartire da uno stato nativo pulito e a riscaricare tutti gli asset core integri direttamente dal server d'origine.
๐น Nel caso limite in cui la rete sia totalmente assente e il re-fetch fallisca, il motore si isolerร definitivamente nello stato logico protetto `VAULT_LOCKED_NO_KEY`, dirottando l'erogazione verso `CONFIG.fallbackImage` o stampando la pagina d'emergenza HTML 503.
- Chiunque puรฒ testare la reattivitร e l'affidabilitร del sistema seguendo questa batteria di test guidati direttamente dai DevTools del browser.
๐น1. ๐๏ธโโ๏ธ Test di Stabilitร Asincrona (Cold Start)
๐น Verifica che il riavvio forzato del motore non provochi perdite di dati o falsi positivi.
๐น Apri i DevTools (`F12`) -> scheda Application -> Service Workers.
๐น Clicca sul pulsante Stop (il pallino verde diventerร bianco, svuotando la RAM del Worker).
๐น Torna sulla pagina e premi `F5` per ricaricare.
๐น Risultato atteso:
Il Service Worker si riavvia, rileva `lastVaultCheck = 0`, esegue immediatamente `deepVaultValidation()`, estrae la ๐ chiave intatta dal disco e convalida il canarino.
L'applicazione si avvia normalmente senza alcun errore crittografico.
๐น2. โ ๏ธ ๐ฆ Test di Isolamento per Spazio Pieno (Quota Exceeded)
๐น Verifica che la saturazione della memoria non inneschi per errore la purga.
๐น Nei DevTools, vai sulla scheda Application -> menu Storage (Archiviazione).
๐น Spunta la casella "Simulate custom storage quota" e imposta il limite a 1 MB.
๐น Svuota la cache e ricarica la pagina (`F5`) per forzare la sincronizzazione `performSync`.
๐น Risultato atteso:
La scrittura dei file pesanti fallisce generando un'eccezione, ma la console mostra che il Vault รจ stato promosso come integro. Nessun log di purga compare, le vecchie cache non vengono toccate.
๐น3. ๐๏ธ Test di Violazione per Chiave Rimossa ( NOVITร v7.6+ ๐ช )
๐น Obiettivo Forense: Verificare la reazione autonoma del Service Worker in caso di ๐โ๐พ Rimozione dolosa della chiave master dal disco, distinguendo tra rallentamenti hardware (I/O Throttle) e attacchi reali.
๐น Procedura Operativa di Test:
1. Nei DevTools di Chrome, navigare nel pannello Application -> IndexedDB -> `PWA_Vault` -> `keys`.
2. Selezionare il record
master_key e premere il tasto Canc.
3. In Service Workers, cliccare su Stop per forzare il kill del processo e la purga della RAM.
4. Ricaricare la pagina con `F5`.
๐น Risultato Atteso:
Al boot,
deepVaultValidation() attiva una Promise.race tra la query al database e waitTillIdle() con ๐ฒ Jittering (250ms-600ms).
Il sistema isola lo stato in due scenari:
๐งฑ SCENARIO A (Falso Positivo - I/O Stress): Se l'I/O del dispositivo รจ bloccato, lo Scudo Termico vince la gara. Il Panzer attiva il Bunker Shield (Blocco 403) per congelare la sessione a scopo cautelativo, MA NON esegue la purga โ๐ฃ, preservando l'integritร dei dati cifrati in attesa di ripristino stabilitร .
๐ฅ SCENARIO B (Vero Attacco - I/O Stabile): L'anomalia dolosa รจ confermata al 100%, Il canale risponde istantaneamente, confermando l'assenza della chiave (
isIOStable = true). Il protocollo della v7.6+ ๐ช scatta immediatamente:
โข Attivazione Black-Hole ๐ณ๏ธ: Sterilizzazione forense dell'errore tramite oggetto
SecurityOrchestrationError anonimizzato.
โข ๐ฃ Purga Atomica Immediata: Esegue
Destroy_ALL_Caches("VAULT_COMPROMISED") e indexedDB.deleteDatabase("PWA_Vault").
โข Bonifica & Blocco: Sovrascrittura RAM (`.fill(0)`) ๐งผ๐งน, chiusura sessione e rendering forzato di
HTTP 403 Forbidden, impedendo ogni ricostruzione forense della logica violata.
๐น4. ๐ชฑ๐ Test di Violazione per Chiave Corrotta (Iniezione di Codice)
๐น Verifica la reazione se i byte della chiave vengono manipolati dall'esterno.
Poichรฉ la chiave รจ protetta nativamente in sandbox hardware/software con `extractable: false`, per simulare la corruzione รจ necessario iniettare un Oggetto sostitutivo fasullo tramite console.
๐น Nei DevTools, posizionati sulla scheda Console
๐น Sblocco del Browser (Protezione Self-XSS):
Se la console blocca l'incolla, digita manualmente a schermo la stringa `consenti incolla` (o `allow pasting` se il browser รจ in inglese) e premi Invio.
๐น Copia e incolla il seguente script d'iniezione e premi Invio:
let req = indexedDB.open("PWA_Vault", 1);
req.onsuccess = function(e) {
let db = e.target.result;
let tx = db.transaction("keys", "readwrite");
let putReq = tx.objectStore("keys").put({ finta_chiave: "dati_corrotti_12345" }, "master_key");
putReq.onsuccess = function() {
console.log("๐ชฑ๐๐ฏ Chiave corrotta iniettata con successo nel DB!");
db.close();
};
};- Per forzare la verifica delle routine di rete, si raccomanda di configurare il pannello Network dei DevTools emulando profili di connessione degradati (es. Fast 3G o Slow 3G).
- Questo permette di validare visivamente il corretto funzionamento della routine
getNetworkProfile, l'estrazione dei limiti daCONFIG.networkResilient.profilese lo scatto automatico dei relativi timeout dinamici.
Tip
๐๐ก๏ธ SIMULAZIONE DEL TOTAL BLACKOUT NEI TEST DI COLLAUDO:
๐๏ธ Nel pannello Application -> Service Workers dei DevTools, spunta la casella "Offline" e monitora i log.
Se il sistema รจ a regime, vedrai comparire esclusivamente stringhe con il marcatore ๐ฆ๐ก๏ธ [Bunker-Decrypted], a testimonianza del fatto che la PWA sta girando in Totale isolamento dal server e decifrando le risorse al volo via Web Crypto API.
๐ ๐๏ธ Perchรฉ la PA deve adottare
l'Architettura ๐ช Panzer v7+
- ๐ Studio comparativo sul risparmio economico, indipendenza tecnologica (No Vendor Lock-in ๐ซ๐) e sicurezza dei dati dei cittadini.
๐ ๐ก๏ธ Capitolo 5:
Paradigma Difensivo Avanzato
e Logiche di Autodifesa
- Ingegneria inversa del rischio applicata al web. Analisi dei vettori d'attacco client-side, mitigazione del tampering e protocolli di ๐งฝ Zeroization (Purga Atomica ๐ฃ๐ฅ).
-
๐ Home
๐ Pagina principale del Progetto -
๐ Capitolo 1: Introduzione
๐จโโ๏ธ Requisiti legali e conformitร CAD (Art. 68/69) ๐ -
โ๏ธ Capitolo 2: Architettura
๐ก๏ธ๐ฆ Bunker Mode e crittografia AES-GCM del Vault ๐๐๏ธ -
๐ก Capitolo 3: Note Finali
โ๏ธ Esempi di utilizzo pratico nella PA ๐๏ธ -
๐๏ธ Perchรฉ ๐ช Panzer v7+
๐ฝ Indipendenza ed eliminazione del Vendor Lock-in ๐ซ๐ -
๐ฅ Capitolo 4: Collaudo
๐ฅ Battesimo di Fuoco, Debug e Log ๐๐ -
๐ก๏ธ Capitolo 5: Paradigma Difensivo
Logiche di ๐ซ๐ฅ anti-tampering e Zeroization ๐งฝ -
๐ Capitolo 6: Determina
๐จ๏ธ Modello pronto ed esecutivo per i dirigenti ๐ผ -
๐ง Capitolo 7: Estensione Zero-Trust ๐
๐๐งช Concept: Architetturale e Framework di Sicurezza per le PA ๐๏ธ -
๐๏ธ๐จ Capitolo 8: Protezione PA
๐ Disciplinare Tecnico di Tutela dell'Ente con linee guida per Affidamenti Esterni. ๐ข -
๐โข๏ธ Capitolo 9: La Difesa Oltre il Confine
๐๐งช Concept: di un sistema di difesa attiva per operare in modalitร Out-of-Sandbox ๐๐ซ -
๐๏ธ๐ฎ PA Futuro Digitale
๐๐ Concept: Manifesto tecnologico e linee guida d'architettura per l'Iper Cloud PA ๐ฉ๏ธ