Deoffuscatore JavaScript
Formatta e analizza script JS offuscati o compressi per comprenderne il comportamento.
Quando trovi uno script JavaScript offuscato sulle pagine del tuo sito web, è fondamentale verificarne subito la natura: potrebbe trattarsi di una libreria commerciale protetta dal fornitore oppure di codice malevolo inserito a tua insaputa.
Come deoffuscare uno script JavaScript
- Incolla il codice JavaScript compresso o offuscato nel riquadro principale.
- Risolvi il captcha di sicurezza e clicca sul pulsante per avviare l’elaborazione.
- Esamina il risultato formattato, individuando le chiamate di rete e i domini contattati.
- Decodifica manualmente eventuali array di stringhe o valori codificati residui.
- Traccia le funzioni iniziali per ricostruire l’esatto flusso di esecuzione dello script.
Segnali di allarme nell’analisi JavaScript
| Elemento controllato | Indicatori di potenziale rischio |
|---|---|
| Chiamate di rete | Richieste verso domini esterni sconosciuti o beacon di tracciamento non autorizzati |
| Accesso a dati sensibili | Lettura non giustificata di cookie, token di sessione o campi di moduli riservati |
| Esecuzione dinamica | Ricorso a costrutti generici per caricare ed eseguire payload non verificati |
Cosa ispezionare durante l’audit del codice JavaScript
La prima verifica riguarda sempre il traffico verso l’esterno. Qualsiasi chiamata effettuata tramite fetch, XMLHttpRequest, tag <script> generati dinamicamente o immagini beacon rivela subito dove vengono inviate le informazioni: un host sconosciuto rappresenta l’indizio più evidente di una violazione.
Controlla poi quali dati vengono letti dall’ambiente: accessi a document.cookie, a localStorage, ai campi di input dei moduli o listener collegati a dati di pagamento e password devono allarmare immediatamente. Presta attenzione anche all’uso di eval e new Function, spesso impiegati per trasformare un piccolo loader compresso in un payload molto più esteso.
Concetti chiave della deoffuscazione JavaScript
- Struttura logica — La sequenza di istruzioni e blocchi condizionali che permette di comprendere le azioni effettive del software.
- Control flow flattening — Una tecnica di offuscamento complessa che altera il normale flusso lineare del programma per renderne difficile la lettura.
- String array — Vettore di stringhe utilizzato per nascondere URL, nomi di proprietà o chiamate API all’interno del codice.
- Card skimmer — Script occultato che intercetta dati inseriti nei campi dei moduli di pagamento prima dell’invio.
Domande sulla deoffuscazione JavaScript
È possibile deoffuscare qualsiasi frammento di JavaScript?
In linea teorica sì, poiché il browser deve comunque poter interpretare ed eseguire il codice. A livello pratico, un semplice script impacchettato si analizza in pochi istanti, mentre strutture logiche pesantemente alterate richiedono un lungo lavoro manuale.
Il processo restituisce il codice sorgente originale completo?
No. Viene ricostruita una struttura formattata e comprensibile, ma i commenti originali e i nomi reali delle variabili non possono essere recuperati poiché vengono eliminati durante l’offuscamento.
Come si riconosce uno script potenzialmente malevolo?
Osserva dove vengono spediti i dati e cosa viene estratto dalla pagina. Chiamate di rete verso domini sospetti, lettura di campi protetti e l’esecuzione dinamica con eval rappresentano i principali campanelli d’allarme.
L’analisi di uno script offuscato è un’operazione lecita?
Esaminare script eseguiti sulle proprie piattaforme o all’interno del proprio browser costituisce una normale pratica di sicurezza informatica. La redistribuzione di codice proprietario di terzi resta invece vincolata alle licenze originali.
Il codice incollato viene caricato sul vostro server?
Sì, il testo inviato viene elaborato direttamente sul server per completare la formattazione, ma non viene conservato nei nostri archivi.