Guida · Cagliari, Sardegna

Skimming sul checkout (Magecart): cos’è e come ridurre il rischio nel tuo e-commerce

di Roberto Pinna · pubblicata il · aggiornata il · 3 min di lettura

In breve. Lo skimming è un frammento di JavaScript inserito di nascosto nella pagina di pagamento di un negozio online per copiare i dati di carta mentre il cliente li digita. Il negozio continua a funzionare, gli ordini arrivano, e il problema si scopre settimane dopo. Si riduce il rischio in tre modi: far pagare fuori dal proprio sito, tenere pochi script sulla pagina di pagamento, e controllare che nulla cambi senza motivo.

Come funziona

Nel browser di chi compra, la pagina di pagamento carica del codice (il tuo e quello di servizi esterni). Un attaccante che riesce a modificare quel codice può aggiungere uno script che copia i campi del modulo e li invia a un server controllato da lui. È la tecnica nota come skimming web, spesso chiamata con il nome di uno dei gruppi che l’hanno resa celebre, Magecart.

Come ci arrivano

  • Un plugin o un tema con una vulnerabilità nota, non aggiornato.
  • Credenziali di amministrazione rubate o indovinate, senza verifica a due fattori.
  • Uno script di un servizio esterno (chat, statistiche, widget) a sua volta compromesso.
  • Un file del sito modificato dopo un accesso non autorizzato.

Perché è difficile accorgersene

L’aspetto del sito non cambia e i pagamenti vanno a buon fine. Di solito i segnali arrivano da fuori: clienti che segnalano addebiti strani, la banca o il provider di pagamento che avvisa. Per questo serve un controllo automatico di cosa carica la pagina di pagamento, non solo un occhio umano.

Tre misure che riducono molto il rischio

1. Far pagare fuori dal tuo sito

Se il cliente viene portato su una pagina del provider di pagamento (redirect completo), i dati della carta non passano mai dalla tua pagina. Se usi un modulo incorporato (iframe) i dati sono comunque gestiti dal provider, ma la pagina che lo contiene resta sotto il tuo controllo e va protetta.

2. Meno script, e solo quelli necessari

Ogni script esterno sulla pagina di pagamento è un rischio in più. Tieni un elenco di cosa viene caricato e perché. Per gli script esterni statici si può usare la Subresource Integrity (SRI): il browser rifiuta il file se non corrisponde all’impronta (hash) attesa. Una Content Security Policy (CSP) limita da dove possono arrivare gli script.

3. Controllare che nulla cambi senza motivo

Un controllo periodico sull’integrità dei file del sito e sugli script caricati dalla pagina di pagamento permette di accorgersi di una modifica non prevista. Se cambia qualcosa e nessuno ha fatto un aggiornamento, è un segnale da verificare subito.

Cosa dice lo standard PCI DSS

Lo standard di sicurezza dei pagamenti con carta (PCI DSS v4.0.1) include dal 31 marzo 2025 due requisiti pensati proprio per questo rischio: il 6.4.3 (autorizzare, inventariare e verificare l’integrità degli script della pagina di pagamento) e l’11.6.1 (rilevare e segnalare modifiche non autorizzate agli script e alle intestazioni di sicurezza della pagina). Per i commercianti che esternalizzano il pagamento esiste il questionario semplificato SAQ A, che per la parte script richiede di confermare che il sito non sia esposto ad attacchi di questo tipo; secondo le sintesi pubblicate dagli operatori del settore, con un reindirizzamento completo il criterio non si applica, con un modulo incorporato sì.

Attenzione: come si applichi al tuo caso dipende dal tuo provider di pagamento e dal tuo acquirer. La cosa utile da fare è chiedere a loro, per iscritto, quale questionario devi compilare e cosa devi garantire sulla tua pagina.

Checklist rapida per il tuo negozio

  • Pagamento su pagina del provider (redirect) o modulo incorporato dal provider.
  • Elenco degli script caricati sulla pagina di pagamento, con la ragione di ciascuno.
  • Plugin, tema e piattaforma aggiornati; account amministratore con verifica a due fattori.
  • Controllo automatico di modifiche ai file e agli script, con avvisi che qualcuno legge.
  • Un numero da chiamare e una procedura se qualcosa non torna.

Per un controllo del tuo negozio o per capire cosa chiedere al tuo provider, scrivimi: ti rispondo con un parere concreto, senza impegno.

Vuoi una verifica sul tuo caso?

Raccontami la tua attività: ti rispondo con un parere concreto, senza impegno.

direct@robpinna.com

Per chi lavora in questo settore: Boutique ed e-commerce di nicchia