js.skimmer.b64: lo script che copia le carte di credito al checkout
js.skimmer.b64 è la firma di uno skimmer JavaScript codificato in base64: uno script che, nella pagina di pagamento, legge i campi della carta di credito mentre il cliente li compila e li invia a un server dell'attaccante, lasciando che l'ordine vada a buon fine. Nel corpus di misura di WPsec.it dell'agosto 2026 compare su 3 domini e-commerce, nessuno WordPress, tutti sullo stesso server, e in tutti e tre i casi il file era salvato con estensione .png: uno script che si presenta come immagine per superare i controlli sull'estensione.
Famiglia: Skimmer di carte di credito · Anche noto come: skimmer, web skimming, Magecart · Aggiornato il 1 settembre 2026
Le stringhe esatte
Se hai trovato una di queste stringhe sul tuo sito, sei nella pagina giusta.
js.skimmer.b64SMW-BLKH-SA-CLOUDAV-js.skimmer.b64js.skimmerskimmer
Dove si trova
- In un file con estensione da immagine, .png nel 100% dei casi del corpus, caricato in una cartella di risorse statiche
- Richiamato da un tag script aggiunto al tema o al template del checkout, oppure iniettato nel database nelle impostazioni del negozio
- Su piattaforme e-commerce di ogni tipo: nel corpus Magento e PrestaShop, ma la tecnica vale identica per WooCommerce
Cosa fa
- Intercetta i dati della carta prima che arrivino al gateway di pagamento: il cliente paga davvero, l'ordine è regolare, e i dati della carta finiscono anche altrove.
- Resta invisibile per mesi, perché non rompe nulla: nel corpus un caso di skimmer era attivo da nove mesi al momento della bonifica.
- Configura una violazione di dati personali e di pagamento: comporta obblighi di notifica al Garante e ai clienti, e responsabilità verso il circuito delle carte.
Come verificare
Comandi di sola lettura: non modificano nulla. Sostituisci ESEMPIO.it con il tuo dominio ed esegui dalla radice del sito.
Elenca gli script caricati dalla pagina di checkout e verifica ogni dominio
curl -sL -A 'Mozilla/5.0' 'https://ESEMPIO.it/checkout/' | grep -oE '<script[^>]+src="[^"]+"' | sort -uCerca file immagine che contengono JavaScript
find . -type f \( -iname '*.png' -o -iname '*.jpg' -o -iname '*.gif' -o -iname '*.svg' \) -size -300k -exec grep -lIE '(atob\(|fromCharCode|document\.(createElement|write)|XMLHttpRequest|fetch\()' {} + 2>/dev/null | headCerca codice base64 decodificato a runtime nel tema e nelle impostazioni
grep -rnE 'atob\(|eval\(atob|fromCharCode' wp-content/themes/ wp-content/plugins/ 2>/dev/null | grep -vE 'node_modules|\.min\.js' | head; wp option list --search='*script*' --fields=option_name 2>/dev/null | head
Cosa non basta fare
- Rimuovere lo script e riaprire il checkout: senza sapere da quando era attivo non si può stimare quali carte sono state esposte, e l'obbligo di notifica non sparisce.
- Cambiare gateway di pagamento: lo skimmer legge il modulo prima che i dati partano, qualunque sia il gateway.
- Fidarsi del certificato HTTPS: la connessione è cifrata, lo script gira dentro la pagina e vede i dati in chiaro.
Cosa fare
- Metti il checkout in manutenzione finché non hai rimosso lo skimmer e verificato che la pagina carichi solo script noti.
- Ricostruisci la finestra di esposizione dalla data del file e dai log: serve per la notifica al Garante, entro 72 ore dalla scoperta, e ai clienti.
- Informa il fornitore del servizio di pagamento: i circuiti hanno procedure proprie per gli esercenti compromessi.
- Cerca la porta di ingresso e gli altri artefatti: lo skimmer è il carico, la backdoor che lo ha installato è ancora lì.