Tutti gli articoli
IntermedioSicurezza

Phishing di approvazione dei token: il prosciugatore silenzioso di wallet

Il phishing di approvazione svuota un wallet senza mai toccare la seed phrase. Firmi un permesso e in seguito l'attaccante sposta i tuoi token. Ecco come funziona e come difendersi.

31 luglio 2026
7 min di lettura

Approfondisci con l'IA

Clicca → prompt copiato → incolla nella chat IA

Il phishing di approvazione svuota un wallet senza mai toccare la seed phrase. Quando "approvi" (approve) un token per uno smart contract, concedi a quel contratto il permesso di spostare quei token per tuo conto. I truffatori ti inducono ad approvare un contratto malevolo e poi, nel momento che scelgono, portano via tutto. La tua frase di recupero non viene mai esposta: il furto è un permesso che hai firmato tu stesso.

Questa è la risposta breve. Il resto della pagina spiega il meccanismo dietro quel permesso, perché alcune approvazioni sembrano del tutto innocue e come chiudere la porta.


Perché un'approvazione non è un trasferimento

Su Ethereum e su ogni catena EVM, i token ERC-20 non si trovano "dentro" il tuo wallet come il contante in una tasca. I saldi vivono all'interno del contratto del token, associati al tuo indirizzo. Per permettere a una dApp — un DEX, un mercato di prestiti, una pagina di mint — di spostare i tuoi token, invii una transazione approve che imposta un allowance: l'importo che il contratto spenditore è autorizzato a prelevare da te.

Questo è normale e necessario. Uniswap non può scambiare il tuo USDC finché non lo approvi. Il problema è che l'allowance persiste dopo lo scambio. Resta attivo finché non lo revochi o non lo esaurisci. E se lo spenditore è malevolo, l'allowance è un diritto permanente di prelievo sul tuo saldo.

Per gli NFT l'equivalente è setApprovalForAll. Invece di un importo, commuta un valore booleano che concede a un contratto il permesso di spostare ogni NFT che possiedi in quella collezione — presente e futuro. Una firma, l'intera collezione.


Approvazioni illimitate e firme senza gas

Due comodità di progettazione lo rendono molto più pericoloso di quanto dovrebbe essere.

La prima è l'approvazione illimitata. Per non pagare gas per una nuova approvazione prima di ogni scambio, la maggior parte delle dApp richiede per impostazione predefinita 2^256 - 1 — un allowance praticamente infinito. Comodo, e al tempo stesso un assegno in bianco. Se quello spenditore viene mai compromesso o era malevolo fin dall'inizio, può svuotare l'intero saldo di quel token, non solo l'importo che volevi scambiare.

La seconda è Permit e Permit2. Permettono di approvare token firmando un messaggio off-chain invece di inviare una transazione on-chain — un'approvazione senza gas. È proprio questo a renderle pericolose. Un sito malevolo presenta ciò che sembra un innocuo "firma per continuare" o "firma per accedere". Nessuna commissione gas, nessun trasferimento visibile, niente che gridi "transazione". Ma quella firma è un permesso valido e riutilizzabile che consente al contratto dell'attaccante di prelevare i tuoi token in seguito. Molti kit di drainer oggi avviano l'attacco con firme Permit2 esattamente per questo motivo.


Come la truffa ti raggiunge

Il contratto è solo metà della storia. L'attaccante deve comunque metterti davanti alla finestra di approvazione facendoti credere che sia legittima. I metodi di consegna comuni:

  • Siti di mint falsi — un "drop limitato" con conto alla rovescia, dove il pulsante di mint in realtà richiede setApprovalForAll o una firma Permit.
  • Richieste di airdrop false — "sei idoneo, connetti e reclama", dove reclamare approva un drainer.
  • dApp clonate — una copia identica al pixel di un vero exchange o bridge su un dominio ingannevolmente simile, spesso spinta tramite pubblicità o un Discord compromesso.
  • Finestre di "convalida del wallet" — un pop-up che sostiene che il tuo wallet deve essere "verificato", "sincronizzato" o "riconvalidato", che è semplicemente un'approvazione travestita.

Il filo conduttore è l'urgenza più una richiesta di firma. Vedi i cloni di siti di phishing per come viene falsificato il front-end, e i kit di drainer di wallet per l'industria dietro il back-end.


Cosa concede davvero ogni firma

Tipo di firma / approvazioneCosa concedeRischio
ERC-20 approve (limitata)Lo spenditore può prelevare fino a un importo fissato di un tokenLimitato a quell'importo
ERC-20 approve (illimitata)Lo spenditore può prelevare l'intero saldo di un token, a tempo indeterminatoPerdita totale di quel token
Firma Permit / Permit2Approvazione off-chain, senza gas — stesso potere di approve, spesso illimitataAlto: sembra una firma innocua
setApprovalForAll (NFT)Lo spenditore può spostare ogni NFT di una collezione, ora e in futuroPerdita totale di quella collezione
Transazione di trasferimento sempliceSposta un importo preciso una volta solaVedi esattamente cosa esce

Lo schema: più una richiesta nasconde ciò che autorizza — nessun importo, nessun trasferimento visibile, nessun gas — più merita sospetto.


Come difendersi

  • Leggi ciò che firmi. I wallet moderni decodificano le approvazioni e i messaggi Permit. Se una finestra mostra setApprovalForAll, un importo illimitato o uno spenditore che non riconosci, fermati.
  • Preferisci approvazioni limitate. Quando una dApp consente di impostare un allowance personalizzato, approva solo ciò che serve allo scambio. Costa un po' più di gas nel tempo e rimuove l'assegno in bianco.
  • Usa uno strumento di revoca delle approvazioni. I servizi di questa categoria — revoke.cash e i verificatori di approvazioni token dei block explorer (per esempio quello di Etherscan) — elencano ogni allowance concesso dal tuo indirizzo e ti permettono di revocarli.
  • Revoca periodicamente le approvazioni obsolete. Le approvazioni di dApp che non usi più sono puro rischio permanente. Cancellale.
  • Fai mint da un hot wallet separato. Tieni un wallet con saldo ridotto per il mint e le richieste. Se approva qualcosa di dannoso, la perdita è limitata. Non fare mai mint dal wallet che custodisce i tuoi fondi principali.

I limiti onesti

Revocare non è gratis. Ogni revoca è una transazione on-chain e costa gas, motivo per cui le persone lasciano accumulare le approvazioni.

Ancora più importante, questo protegge solo da furti futuri. Se un drainer ha già prelevato i tuoi token, revocare non serve a nulla: un trasferimento eseguito non può essere annullato. La finestra per agire è prima che l'attaccante attivi il prelievo, non dopo.

E un punto che sorprende: un wallet hardware non ferma questo. I wallet hardware proteggono la chiave privata dall'estrazione. Non ti impediscono di firmare un'approvazione malevola, perché la firmi volontariamente. Il dispositivo mostra la finestra, tu la confermi. L'unica difesa è capire cosa autorizza la finestra — che è anche l'ultima linea di difesa per la sicurezza della tua seed phrase.


FAQ

Il phishing di approvazione può rubare le mie cripto senza la mia seed phrase? Sì. È l'intero meccanismo. Non riveli mai la frase. Firmi un'approvazione o un messaggio Permit che concede a un contratto il permesso di spostare i tuoi token, e l'attaccante usa quel permesso in seguito. La seed phrase resta privata per tutto il tempo.

Che cos'è un'approvazione illimitata? Un allowance impostato al valore massimo possibile, così che il contratto spenditore può spostare l'intero saldo di quel token, ripetutamente, senza limite né scadenza. Molte dApp la richiedono per impostazione predefinita per farti risparmiare gas — ma è un assegno in bianco se lo spenditore si rivela malevolo.

Le firme Permit senza gas sono pericolose? Possono esserlo. Una firma Permit o Permit2 porta la stessa autorità di un'approvazione on-chain, ma arriva come una semplice finestra "firma questo messaggio" senza commissione gas, quindi sembra innocua. Tratta ogni richiesta di firma che menziona un token, uno spenditore o un Permit con la stessa serietà di una transazione.

Come revoco le approvazioni dei token? Connetti il tuo wallet a uno strumento di revoca delle approvazioni come revoke.cash, oppure usa il verificatore di approvazioni token del tuo block explorer (per esempio su Etherscan). Esamina l'elenco degli allowance concessi dal tuo indirizzo e revoca tutto ciò che è illimitato, sconosciuto o appartiene a una dApp che non usi più. Ogni revoca costa gas.

Leggi anche

Ti è piaciuto questo articolo? Seguimi!

@t0tty3
#approval-phishing#wallet-drainer#scams#erc20#wallet-security#permit2

Approfondisci con l'IA

Clicca → prompt copiato → incolla nella chat IA