Il wallet address poisoning è una truffa che sfrutta un gesto apparentemente innocuo: copiare dalla cronologia un indirizzo usato in passato. L’attaccante crea un indirizzo visivamente simile a quello della vittima, lo fa comparire tra le transazioni del wallet e aspetta che l’utente lo selezioni senza verificarlo per intero. Non viola la chiave privata e non modifica la blockchain. Manipola invece il contesto in cui prendiamo una decisione irreversibile.
La difesa più efficace è semplice ma rigorosa: non usare la cronologia come rubrica, verificare l’indirizzo completo su un secondo canale e fare un invio di prova quando l’importo è rilevante. Questa guida spiega il meccanismo, mostra un esempio concreto e costruisce una procedura che riduce sia il rischio di address poisoning sia gli errori ordinari di invio.
Come funziona il wallet address poisoning
Gli indirizzi crypto sono lunghi e difficili da distinguere a colpo d’occhio. Molte interfacce mostrano soltanto i primi e gli ultimi caratteri, per esempio 0x12ab…90ef. Un truffatore genera molte chiavi finché trova un indirizzo con un prefisso o suffisso simile a quello legittimo. Non deve ottenere una corrispondenza perfetta: gli basta imitare i caratteri che l’interfaccia rende visibili e che l’utente tende a controllare.
Poi invia verso il wallet bersaglio una quantità minima di token, oppure crea un trasferimento di token senza valore che appare nella cronologia di un explorer. In alcune reti può sfruttare token-spam o eventi che sembrano provenire dall’utente. La transazione resta pubblica e valida, ma il suo scopo non è trasferire valore: è inserire l’indirizzo esca nel posto in cui la vittima cercherà il destinatario la volta successiva.
MetaMask descrive questa dinamica nella propria guida ufficiale sulle truffe di address poisoning. Anche Ledger raccomanda di non copiare indirizzi dalla cronologia e di controllare l’intera stringa sul display del dispositivo nella sua documentazione di sicurezza. Il punto comune è importante: una transazione inattesa non prova che il mittente sia affidabile.
Un esempio pratico, dalla transazione esca alla perdita
Immaginiamo che Marta invii regolarmente USDC al wallet operativo della sua azienda. L’indirizzo corretto inizia con 0x71C4 e termina con 8A2F. Un attaccante individua quei movimenti on-chain, genera un indirizzo che mostra gli stessi quattro caratteri iniziali e finali, quindi invia a Marta un token senza valore. Nel wallet compare così una nuova riga con un identificatore molto familiare.
Una settimana dopo Marta deve trasferire 8.000 USDC. Apre la cronologia, copia la riga più recente con il prefisso e il suffisso attesi, incolla l’indirizzo e conferma. La rete esegue esattamente l’istruzione firmata: non sa che Marta intendeva pagare un altro soggetto. Se i fondi arrivano all’attaccante, non esiste un annullamento automatico e il wallet non può recuperarli.
Questo esempio chiarisce perché controllare soltanto sei o otto caratteri non basta. Le cosiddette vanity address possono essere generate cercando somiglianze parziali. Più breve è il segmento verificato, più economico diventa produrre una collisione visiva. Per capire bene la relazione tra destinatario, chiave e stringa pubblica è utile la guida CryptoRoad sull’indirizzo wallet e gli errori da evitare.
Address poisoning, dusting e crypto clipper non sono la stessa cosa
Nel dusting tradizionale piccole quantità vengono inviate a molti indirizzi per analizzarne i movimenti e tentare di collegare identità o cluster. Nel wallet address poisoning il trasferimento minimo serve soprattutto a contaminare la cronologia. Un crypto clipper, invece, è malware locale: intercetta gli appunti e sostituisce l’indirizzo copiato prima che venga incollato. I tre rischi possono produrre un destinatario errato, ma richiedono controlli diversi.
Se l’indirizzo cambia tra copia e incolla, bisogna sospettare il dispositivo e seguire una procedura di bonifica. La guida al crypto clipper che sostituisce gli indirizzi copre quel caso. Se invece la stringa copiata è identica alla voce scelta ma la voce appartiene a uno sconosciuto, il problema è la provenienza del dato: la cronologia è stata trattata come un elenco di contatti attendibili.
I segnali che devono fermare l’invio
- Una micro-transazione o un token sconosciuto compare senza una ragione chiara.
- Il mittente assomiglia a un indirizzo noto soltanto nei caratteri abbreviati.
- La riga più recente non corrisponde all’operazione che ricordi di avere eseguito.
- Il wallet propone un destinatario dalla cronologia, ma non dalla rubrica verificata.
- L’explorer mostra un token con nome familiare ma contratto diverso dall’asset autentico.
- La controparte non conferma l’indirizzo attraverso il canale concordato.
Nessun singolo segnale dimostra da solo un attacco. Una micro-transazione può essere spam generico; un token può essere un airdrop non richiesto. Tuttavia non serve attribuire con certezza l’intenzione dell’autore. Basta considerare ogni voce inattesa come dato non fidato. TronScan offre una spiegazione ufficiale delle transazioni di address poisoning e ricorda che la somiglianza grafica non equivale all’identità crittografica.
La procedura sicura prima di ogni trasferimento
| Passaggio | Controllo | Perché conta |
|---|---|---|
| 1. Origine | Recupera l’indirizzo da rubrica, sito ufficiale o QR verificato | Esclude la cronologia contaminata |
| 2. Integrità | Confronta l’intera stringa, non solo inizio e fine | Blocca le collisioni visive parziali |
| 3. Rete | Conferma blockchain, token e contratto | Evita asset inviati sulla rete sbagliata |
| 4. Prova | Invia una piccola quantità e attendi conferma | Limita il danno di un errore |
| 5. Importo | Firma il saldo solo dopo la conferma del destinatario | Separa verifica e trasferimento principale |
Per pagamenti ricorrenti, salva il destinatario in una rubrica con un nome univoco e annota rete e scopo. Se il wallet supporta allowlist o whitelist con ritardo temporale, abilitala. Un ritardo di sicurezza rende più difficile aggiungere e usare immediatamente un indirizzo fraudolento. In un’organizzazione, una seconda persona dovrebbe verificare fuori banda i trasferimenti sopra una soglia prestabilita.
Il test non sostituisce il confronto completo. Un attaccante può vedere il piccolo invio e sperare che la vittima continui verso lo stesso indirizzo sbagliato. Dopo il test, chiedi al destinatario di confermare importo e hash, oppure verifica l’accredito nel sistema controllato dalla controparte. La checklist per inviare crypto senza errori aggiunge controlli su memo, rete, commissioni e conferme.
Hardware wallet e firme: cosa proteggono davvero
Un hardware wallet isola le chiavi e mostra i dettagli dell’operazione su un display fidato. Non può però sapere quale destinatario avevi in mente. Se copi volontariamente l’indirizzo dell’attaccante, il dispositivo firmerà una transazione valida verso quell’indirizzo. La protezione funziona soltanto se leggi e confronti i dati visualizzati, senza approvare in modo automatico.
La verifica sul display protegge anche contro alcune alterazioni dell’interfaccia del computer, ma gli schermi piccoli spesso abbreviano le stringhe. Scorri tutti i caratteri quando possibile e non fidarti del solo colore, avatar o nome associato. Per importi elevati, usa indirizzi salvati e testati, policy multisig o un processo con doppia approvazione. La sicurezza nasce dalla procedura, non dal semplice possesso del dispositivo.
Errori comuni che mantengono aperto il rischio
Il primo errore è eliminare o nascondere il token spam e considerare risolto il problema. L’indirizzo può restare nella cronologia o riapparire in un explorer. Il secondo è confrontare soltanto prefisso e suffisso, proprio i segmenti che l’attaccante ha scelto di imitare. Il terzo è usare uno screenshot: può essere vecchio, ritagliato o inviato attraverso un account compromesso.
Un altro errore è interagire con il token ricevuto per “rimuoverlo”. Visitare il sito indicato, firmare una richiesta o concedere un’approvazione può trasformare uno spam passivo in phishing attivo. Nascondere l’asset nell’interfaccia è sufficiente; non occorre venderlo, trasferirlo o collegarsi a una dApp. Se una firma è già stata concessa, controlla subito le allowance e valuta la revoca.
Cosa fare dopo un invio all’indirizzo sbagliato
Interrompi gli altri trasferimenti e conserva hash, rete, orario, indirizzo destinatario e schermate. Se i fondi raggiungono un exchange identificabile, contatta rapidamente il suo supporto e le autorità competenti: il congelamento non è garantito, ma una segnalazione completa è più utile di messaggi generici. Non pagare presunti recovery agent che promettono di invertire una transazione in cambio di un anticipo.
Verifica poi se l’errore deriva da cronologia contaminata o da malware. Nel secondo caso scollega il dispositivo, esegui controlli da un ambiente pulito e valuta la migrazione verso un nuovo wallet. Nel primo, rimuovi i destinatari non verificati dai preferiti, ricostruisci la rubrica da fonti affidabili e aggiorna la procedura interna. Spostare tutti i fondi non è automaticamente necessario se le chiavi non sono state esposte.
Checklist finale contro il wallet address poisoning
- Non copiare mai un destinatario dalla cronologia delle transazioni.
- Usa una rubrica verificata e annota la rete corretta.
- Confronta l’indirizzo completo su un secondo canale.
- Controlla sul dispositivo di firma ciò che stai autorizzando.
- Fai un test per importi rilevanti e verifica l’accredito.
- Tratta micro-transazioni e token inattesi come dati non affidabili.
- Non interagire con token spam né con link associati.
- Attiva allowlist, multisig o doppia approvazione quando disponibili.
Il wallet address poisoning funziona perché una stringa familiare sembra una prova sufficiente. Non lo è. La blockchain garantisce che la transazione firmata venga eseguita, non che il destinatario scelto corrisponda alla tua intenzione. Separare rubrica e cronologia, verificare l’intera stringa e usare un test trasforma un controllo di pochi minuti in una barriera concreta contro una perdita irreversibile.
Prima di chiudere il wallet, documenta anche chi può modificare la rubrica e come viene approvata una variazione. Un contatto verificato mesi fa può diventare obsoleto se la controparte cambia custode, rete o infrastruttura. La verifica non è quindi un evento unico: va ripetuta quando cambiano strumenti, persone o coordinate di pagamento. Questa disciplina rende il controllo sostenibile senza trasformare ogni invio in un’indagine.
