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.
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
setApprovalForAllo 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 / approvazione | Cosa concede | Rischio |
|---|---|---|
ERC-20 approve (limitata) | Lo spenditore può prelevare fino a un importo fissato di un token | Limitato a quell'importo |
ERC-20 approve (illimitata) | Lo spenditore può prelevare l'intero saldo di un token, a tempo indeterminato | Perdita totale di quel token |
| Firma Permit / Permit2 | Approvazione off-chain, senza gas — stesso potere di approve, spesso illimitata | Alto: sembra una firma innocua |
setApprovalForAll (NFT) | Lo spenditore può spostare ogni NFT di una collezione, ora e in futuro | Perdita totale di quella collezione |
| Transazione di trasferimento semplice | Sposta un importo preciso una volta sola | Vedi 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
Kit di drenaggio dei wallet: l'economia dello scam-as-a-service
Un drainer di wallet è codice malevolo venduto come kit pronto all'uso che svuota il tuo wallet nel momento in cui firmi una transazione contraffatta. Ecco come funziona il business e come difendersi.
Airdrop falsi e come riconoscerli
Un airdrop falso ti alletta con token gratuiti per portarti su un sito che svuota il portafoglio — tramite un'approvazione dannosa, una commissione anticipata o un token truffa avvelenato già presente sul tuo indirizzo. Ecco come funziona ogni variante e come restare al sicuro.
Wallet freddi e caldi: quando ha senso ciascuno
Un wallet caldo è online e comodo; un wallet freddo tiene le chiavi offline e al sicuro. La vera decisione è adattare la tua esposizione alla frequenza con cui hai davvero bisogno di accesso.