Coinnoti
☰
Italianoit
Torna al blog

Perché il tuo wallet mostra un trasferimento che non hai mai inviato: transazioni a valore zero e avvelenamento degli indirizzi

Una transazione in uscita sconosciuta non significa automaticamente che il tuo wallet sia stato violato. Scopri che cosa dimostrano davvero le registrazioni a valore zero, gli indirizzi somiglianti e i movimenti reali di asset.

Che cosa dimostra questa voce sul mio wallet?

Se nella cronologia compare improvvisamente un invio di 0 USDT a un indirizzo sconosciuto, quella voce da sola non dimostra che qualcuno abbia avuto accesso alla tua chiave privata. Un terzo può creare determinati eventi di trasferimento di zero token indicando il tuo indirizzo senza la tua firma né il permesso di spendere un importo diverso da zero. La registrazione può esistere sulla blockchain anche se non l'hai mai avviata.

Le domande utili sono più specifiche: Di quale asset si tratta? Quanto è stato effettivamente trasferito? Chi ha inviato la transazione? Che cosa ha autorizzato un'eventuale spesa reale?

  • Un evento di trasferimento di importo zero non dimostra che tu abbia firmato o speso qualcosa. Per un token autentico, un importo esattamente pari a zero significa che quel trasferimento non ha spostato alcun token.
  • Un trasferimento con il nome di un token familiare non identifica l'asset. Un contratto non collegato può utilizzare lo stesso nome e simbolo.
  • Un piccolo pagamento in entrata può essere autentico e al tempo stesso inserire nella cronologia un indirizzo del mittente ingannevole.
  • Un movimento in uscita confermato e inspiegabile di asset autentici richiede un'indagine. Non ignorarlo solo perché un altro campo indica zero.

Questa guida riguarda Ethereum, BNB Smart Chain (BSC) e reti simili che utilizzano contratti di token in stile Ethereum. Gli esempi sono registrazioni inventate e volutamente semplificate, non schermate né risultati relativi a un wallet specifico.

Prima di tutto, individua quale campo indica zero

L'espressione transazione a valore zero viene usata per situazioni diverse. Solo una di queste diciture indica che la quantità di token è zero:

  • Quantità di token: 0 USDC. Per il contratto USDC autentico, un importo esattamente pari a zero significa che quel trasferimento non sposta alcun USDC.
  • Valore della transazione: 0 ETH. Alla transazione principale non è stato associato ETH. I token possono comunque essere trasferiti e le operazioni del contratto possono essere eseguite.
  • Valore stimato: $0.00. L'interfaccia mostra una valutazione in valuta fiat. Questo non dimostra quale sia la quantità di token.

Su BSC, il campo della moneta nativa utilizza normalmente BNB anziché ETH. Un'interazione con un contratto con valore nativo pari a zero può trasferire token, modificare le autorizzazioni di spesa o attivare altre operazioni. Il valore nativo è distinto dai dati di input della transazione.

Un piccolo importo positivo può essere arrotondato a $0.00. Anche un asset senza una quotazione affidabile può avere una valutazione fiat poco utile. Espandi la quantità di token fino alla massima precisione: persino una quantità visualizzata come 0.00 può nascondere un importo positivo più piccolo. La variazione del valore del portafoglio non è una prova affidabile delle unità entrate o uscite da un conto.

Zero è una quantità di token consentita, quindi da solo non indica un attacco. Indirizzi somiglianti e dati di pagamento copiati sono indizi da verificare.

Perché i due campi From possono non coincidere

La cronologia di un wallet può combinare informazioni di livelli diversi:

  1. La transazione: l'istruzione firmata e inviata alla rete. Per una transazione Ethereum convenzionale, il campo From principale identifica l'account firmatario.
  2. L'evento del token: una registrazione emessa da un contratto durante l'esecuzione. Un evento Transfer ha campi From, To e importo propri.
  3. La riga della cronologia: il modo in cui il wallet o l'explorer presenta queste informazioni. Può etichettare un evento come OUT perché l'evento indica il tuo indirizzo come mittente.

I due campi From non sono intercambiabili. La presenza del tuo indirizzo in un evento non equivale a una firma del wallet. Un contratto malevolo può inserire il tuo indirizzo nei dati dell'evento, ma ciò non significa che il suo log provenga dal contratto del token autentico. Il contratto che emette l'evento è quindi una parte essenziale delle prove.

Analogamente, l'hash di una transazione identifica la transazione, ma non dimostra il tuo consenso. Una transazione inclusa e contrassegnata come Success indica che l'esecuzione esterna non è stata annullata. Non è una garanzia sul token, sul destinatario o sullo scopo.

Cinque esempi commentati di cronologia delle transazioni

Esempio 1: un trasferimento in uscita di zero token che non hai mai firmato

Voce della cronologia: OUT · 0 USDC · Dal tuo indirizzo a un indirizzo sconosciuto ma somigliante.

  • From della transazione: la transazione è stata inviata da un account non collegato.
  • From dell'evento del token: l'evento indica il tuo indirizzo.
  • Contratto del token emittente: il contratto USDC autentico su questa rete.
  • Quantità esatta di token: zero.

Che cosa dimostra: il contratto del token autentico ha registrato un trasferimento di zero token indicando il tuo indirizzo. Quel trasferimento non ha spostato alcun USDC. Non dimostra che il tuo wallet abbia firmato la transazione, che il chiamante sia autorizzato a spendere un importo positivo o che la tua chiave sia stata rubata.

Come accade: ERC-20, lo standard comune dei token, richiede che anche i trasferimenti di importo zero emettano eventi Transfer. Nelle implementazioni comuni, la funzione di trasferimento delegato, transferFrom, verifica se l'importo richiesto supera l'allowance del chiamante. Zero non supera un'allowance pari a zero. Fatte salve le altre regole del contratto, la chiamata può riuscire senza un'approvazione precedente.

Questa non è una garanzia universale per tutti i token. I singoli contratti possono imporre restrizioni aggiuntive.

Che cosa controllare dopo: esamina il resto della transazione. Una riga a zero descrive solo quella riga; un'altra operazione potrebbe avere effetti diversi. Se si tratta di una registrazione isolata di avvelenamento, senza spese o modifiche delle autorizzazioni sospette, la risposta adeguata è evitare l'indirizzo inserito, non presumere che il wallet debba essere sostituito.

Esempio 2: una transazione falsa che mostra una grande quantità di token

Voce della cronologia: OUT · 2,500 USDC · Dal tuo indirizzo a un indirizzo sconosciuto.

  • Simbolo del token visualizzato: USDC.
  • Contratto emittente: un contratto non collegato, non l'USDC autentico.
  • Importo dichiarato dall'evento: 2,500.
  • Movimento di USDC autentici in questa transazione: nessuno.

Che cosa dimostra: un altro contratto ha emesso una registrazione presentata con l'etichetta USDC. Non dimostra che 2,500 USDC autentici siano usciti dal tuo account.

Una transazione falsa in un wallet può corrispondere a dati blockchain reali interpretati in modo fuorviante. Gli aggressori possono copiare nome e simbolo di un token ed emettere eventi simili ai tuoi pagamenti precedenti, inclusi gli importi. Anche contratti non standard possono emettere registrazioni di trasferimento non corrispondenti alle variazioni dei propri saldi.

Che cosa controllare dopo: identifica la rete e il contratto esatto che ha emesso l'evento. Confronta quell'indirizzo con i dati del contratto dell'emittente ottenuti indipendentemente per quella rete. Un ticker, un logo o un'indicazione di verifica del codice sorgente familiari non bastano a dimostrare l'identità dell'emittente.

Esempio 3: un minuscolo pagamento reale da un indirizzo somigliante

Voce della cronologia: IN · 0.000001 USDC · Da un indirizzo sconosciuto al tuo indirizzo.

Supponiamo che il contratto del token autentico confermi il trasferimento e che il saldo aumenti di quel minuscolo importo. In questo caso sono arrivati token reali. Riceverli non ti ha richiesto di approvare il mittente e non gli conferisce alcun potere di spesa.

La trappola è l'indirizzo. Considera questi esempi inventati, suddivisi con spazi per mostrare ogni carattere. Gli indirizzi reali non contengono spazi; i gruppi centrali in grassetto sono diversi:

Destinatario verificato: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d

Indirizzo inserito: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d

Un'interfaccia che mostra soltanto l'inizio e la fine potrebbe visualizzarli entrambi come 0x7a2f...9c4d.

Che cosa dimostra: qualcuno ti ha inviato un piccolo importo da quell'indirizzo. Non dimostra che il mittente sia il tuo destinatario abituale o un account che controlli. La corrispondenza dei caratteri visibili non dimostra la proprietà.

Che cosa controllare dopo: recupera la destinazione prevista da un contatto verificato separatamente o dalla pagina affidabile dell'account del destinatario. Confronta l'intero indirizzo. L'avvelenamento degli indirizzi tenta di trasformare una voce inserita nella cronologia nell'indirizzo che selezionerai per un pagamento futuro. La perdita può verificarsi dopo, quando autorizzi un trasferimento perfettamente valido verso la destinazione sbagliata.

Esempio 4: zero ETH, ma escono 2,500 token autentici

Intestazione della transazione: Value · 0 ETH.

  • Valore nativo associato alla chiamata: 0 ETH.
  • Trasferimento del token autentico: 2,500 USDC dal tuo indirizzo.
  • Variazione del saldo USDC causata dalla transazione: diminuzione di 2,500 USDC.
  • Stato dell'esecuzione: Success.

Che cosa dimostra: in questo esempio sono usciti USDC autentici. Lo zero descrive gli ETH associati alla chiamata. Non descrive il trasferimento USDC né esclude i costi del gas.

Che cosa resta sconosciuto: perché sia avvenuto il pagamento e se lo desiderassi. Potrebbe trattarsi di uno swap, un deposito, un'operazione programmata, un pagamento all'indirizzo sbagliato o una spesa non autorizzata. Confrontalo con l'azione che hai eseguito e la destinazione prevista prima di classificarlo.

Esempio 5: escono token autentici, ma la transazione è stata inviata da un altro account

Voce della cronologia: OUT · 500 USDC autentici · Destinazione sconosciuta.

Supponiamo che la transazione riuscita abbia ridotto il tuo saldo di USDC autentici di 500, ma che il campo From principale indichi un'altra persona.

Che cosa dimostra: i token sono stati trasferiti. Un mittente diverso della transazione non rende falso il movimento.

Un soggetto precedentemente autorizzato può utilizzare un'allowance del token senza chiederti di firmare una nuova transazione per ogni prelievo. Alcuni token supportano anche firme permit, che autorizzano un'allowance mediante un messaggio firmato inviabile da un'altra parte. Account intelligenti e wallet delegati offrono ulteriori modi per inviare un'operazione autorizzata tramite terzi.

Che cosa controllare dopo: esamina lo spender, l'allowance pertinente o l'autorizzazione firmata e l'operazione del wallet. Se l'addebito resta inspiegabile, trattalo come un incidente di sicurezza. Le prove possono indicare un'approvazione dannosa, una firma ingannevole o la compromissione del controllo dell'account; la sola riga non consente di distinguerli.

Per una normale transazione firmata direttamente, il tuo indirizzo nel campo From principale è prova di una firma valida per quell'account. Non dimostra comunque che tu abbia capito l'azione, voluto quel destinatario o avviato personalmente la transazione. Un campo From dell'evento del token fornisce prove molto più deboli.

Che cosa hanno effettivamente misurato i 270 milioni di tentativi di avvelenamento

Un'analisi di due anni dell'attività su Ethereum e BSC, dal 1° luglio 2022 al 30 giugno 2024, ha individuato circa 270 milioni di registrazioni di trasferimenti di avvelenamento indirizzate a 17 milioni di indirizzi.

Le registrazioni rientravano in tre categorie:

  • 147.7 milioni di trasferimenti a valore zero.
  • 118.4 milioni di trasferimenti di token contraffatti.
  • 4.0 milioni di piccoli trasferimenti.

Si trattava di registrazioni di trasferimento all'interno di circa 18.2 milioni di transazioni, poiché gli aggressori possono raggruppare più registrazioni. Gli indirizzi presi di mira non equivalgono a persone, wallet compromessi o vittime che hanno perso denaro.

L'analisi ha identificato 6,633 trasferimenti di pagamento riusciti per almeno $83.8 milioni complessivi. Alcune vittime hanno pagato più di una volta. Il rilevamento si è concentrato su stablecoin selezionate, quindi la stima delle perdite è un limite inferiore entro quell'ambito, non un totale per tutti i token o tutte le chain.

La conseguenza pratica è che controllare soltanto gli importi pari a zero fa perdere una parte considerevole dell'attacco. Le voci contraffatte possono imitare un pagamento significativo e un piccolo trasferimento in entrata può spostare token reali introducendo un indirizzo pericoloso.

Come esaminare la tua voce specifica

  1. Apri la transazione sulla rete corretta. Usa l'opzione explorer del wallet o un explorer noto come Etherscan o BscScan. Controlla lo stato della transazione. Leggere i dettagli pubblici non richiede di connettere un wallet, approvare token, firmare un messaggio o inserire una frase di recupero.
  2. Identifica l'asset effettivo. Distingui ETH o BNB nativi da un token che usa lo stesso nome. Per i token, confronta rete e contratto emittente esatti con una fonte affidabile dell'emittente.
  3. Leggi l'importo alla massima precisione. Separa la quantità di token dal valore nativo della transazione e dalla stima in valuta fiat.
  4. Distingui il mittente della transazione da quello dell'evento. Per uno smart account, esamina anche l'operazione del wallet e le autorizzazioni. Il fatto che qualcun altro paghi il gas non prova che i tuoi asset non possano essere stati trasferiti.
  5. Esamina l'intera transazione. Controlla tutti i movimenti di token, i trasferimenti della moneta nativa e le modifiche pertinenti alle autorizzazioni. Se l'explorer mostra variazioni di saldo per transazione, usale per riconciliare il risultato. Un saldo invariato oggi è una prova più debole: depositi successivi o trasferimenti compensativi possono nascondere movimenti precedenti.
  6. Verifica la destinazione in modo indipendente. Usa i dati di pagamento affidabili del destinatario o una voce della rubrica già verificata. Una riga recente della cronologia è una prova da esaminare, non una conferma della destinazione corretta.

Se l'explorer non chiarisce il risultato, fornisci al supporto ufficiale del wallet la rete e l'hash pubblico della transazione. Descrivi l'azione prevista, se ce n'era una. Questi dettagli aiutano a distinguere un'operazione sconosciuta ma voluta da spese inspiegabili senza rivelare i segreti che controllano il wallet.

Che cosa fare dopo la verifica

Se hai trovato soltanto una registrazione isolata di avvelenamento

Nascondi o segnala lo spam se il wallet lo consente ed evita di usare quegli indirizzi. Nascondere una riga modifica l'interfaccia, non cancella la cronologia blockchain né revoca le autorizzazioni.

Un trasferimento di importo zero può avvenire con un'allowance pari a zero, quindi la registrazione da sola non è un motivo per revocare ogni approvazione o spostare tutti i fondi. Potrebbe non esserci alcuna autorizzazione di spesa associata da rimuovere. Non usare mai il sito pubblicizzato da un token o un link di recupero fornito da uno sconosciuto per «ripulire» il wallet.

Se hai trovato un'autorizzazione di spesa sospetta

Usa la funzione affidabile di gestione delle approvazioni del wallet per controllare e revocare l'allowance pertinente. Disconnettere un sito dal wallet non revoca le approvazioni dei token già presenti on-chain. La revoca riguarda quell'autorizzazione; non può rimediare a una chiave privata rubata.

Se asset autentici sono stati trasferiti senza la tua intenzione

Conserva l'hash della transazione, la rete, l'asset interessato e gli indirizzi pertinenti. Rivedi firme, approvazioni e operazioni recenti del wallet attraverso i canali di assistenza ufficiali.

Se esistono prove dell'esposizione della frase di recupero o della chiave privata, crea un nuovo wallet con una nuova frase di recupero su un dispositivo affidabile e segui un piano prudente per trasferire gli asset residui. Un altro account derivato dalla frase compromessa non risolve l'esposizione. Se i fondi scompaiono automaticamente, non continuare ad aggiungere denaro per il gas: potrebbe sottrarlo un programma sweeper.

Se hai firmato consapevolmente un pagamento ma hai copiato una destinazione avvelenata, documenta questa distinzione. Il pagamento potrebbe essere stato firmato ed eseguito correttamente, pur essendo arrivato al destinatario sbagliato. Questo risultato, da solo, non dimostra che la tua chiave privata sia stata rubata.

Domande frequenti sulle transazioni sconosciute

L'aggressore mi ha fatto pagare il gas?

Nel normale scenario di avvelenamento, l'aggressore invia la transazione e ne paga la commissione di rete. La semplice presenza del tuo indirizzo in un evento del token non addebita costi al tuo account. Tuttavia, transazioni sponsorizzate e smart account fanno sì che il solo soggetto che paga le commissioni non basti a dimostrare che un'operazione fosse innocua. Controlla gli effetti effettivi.

E se la transazione non è riuscita?

Un trasferimento di token annullato non ha completato quel trasferimento, anche se il gas può comunque essere addebitato. Se il wallet utilizza la delega dell'account, controllala separatamente: Ethereum può conservare una delega anche quando l'esecuzione successiva fallisce. Una delega sconosciuta merita attenzione.

Un hardware wallet impedirebbe l'avvelenamento degli indirizzi?

Offre un altro punto in cui verificare la destinazione prima di firmare. Non può rendere corretto un indirizzo controllato dall'aggressore se lo approvi. Confronta l'intero indirizzo sul display affidabile di firma con i dati del destinatario verificati indipendentemente.

Posso impedire agli sconosciuti di aggiungere queste voci?

In generale non puoi impedire a terzi di inviare asset o generare registrazioni applicabili che coinvolgano un indirizzo pubblico. I filtri dei wallet e degli explorer possono ridurre ciò che vedi. Salva i destinatari verificati e controlla l'intera destinazione prima di pagare: nascondere solo le voci a valore zero non rileva tutte le varianti con token contraffatti o piccoli trasferimenti.