Come revocare le approvazioni di token delle DApp prima che svuotino il wallet crypto

Come revocare le approvazioni di token delle DApp prima che svuotino il wallet crypto

Per rimuovere l’accesso di una DApp ai suoi token, deve individuare l’approvazione che detiene e revocarla con una transazione on-chain separata - disconnettere la DApp non rimuove il permesso, e i suoi token restano esposti finché l’allowance non viene impostata a 0.

Punti chiave

  • Le approvazioni vivono on-chain - chiudere l’app o la sessione WalletConnect non cambia nulla; il permesso di spesa resta attivo finché non lo revoca.
  • Le approvazioni illimitate aumentano il danno - un singolo permesso illimitato consente a un contratto di spendere l’intero saldo attuale e futuro del token.
  • La revoca previene le spese future, non i furti passati - reimpostare un’allowance blocca i nuovi trasferimenti ma non può recuperare gli asset che un drainer ha già spostato.

Cosa sono le approvazioni di token delle DApp?

Un’approvazione di token di una DApp è un permesso che il proprietario di un wallet concede a uno smart contract per spendere un token specifico fino a un importo stabilito. Senza quell’approvazione, un exchange decentralizzato, un mercato di prestito o qualsiasi altra DApp non può muovere i suoi token - l’approvazione è ciò che le permette di fare swap, staking o di trasferirli per suo conto quando Lei vi interagisce.

Uno smart contract è un programma basato su blockchain che esegue automaticamente delle azioni quando vengono soddisfatte condizioni predefinite.

Come funzionano le approvazioni di token delle DApp

Un’approvazione di token segue una sequenza fissa: Lei collega il suo wallet a una DApp, la DApp richiede un’approvazione, questa viene registrata on-chain e da quel momento la DApp esegue l’azione approvata senza chiedere di nuovo. È così che funzionano DApp note come Aave e Uniswap. Poiché il permesso vive sulla blockchain e non nella sessione dell’app, resta in vigore molto tempo dopo che ha smesso di usare la DApp.

Le approvazioni si presentano in alcune forme distinte:

  • Approvazione limitata: la DApp può spendere solo l’importo impostato, per esempio 500 USDC, e deve richiedere una nuova approvazione per spendere di più.
  • Approvazione illimitata: la DApp può spendere qualsiasi quantità del token scelto, inclusi i token che arrivano nel suo wallet in un secondo momento.
  • Approvazione di token: lo smart contract riceve il permesso di gestire uno specifico token fungibile, come USDC o USDT.
  • Approvazione NFT: il permesso può riguardare un singolo NFT o un’intera collezione, per esempio tramite setApprovalForAll.

L’approvazione di token non rivela la sua frase segreta né dà a una DApp accesso illimitato all’intero wallet. Si applica solo al token, all’NFT, all’importo e allo smart contract approvati.

Quando gli utenti di wallet crypto concedono le approvazioni di token?

Le approvazioni di token compaiono durante le normali azioni DeFi: swap di token, prestito, staking e vendita di NFT. Possono restare attive dopo che l’azione è conclusa o dopo che la DApp è stata disconnessa.

Swap di token su un DEX: supponiamo che stia facendo lo swap di USDC in ETH su Uniswap - prima approva il contratto Permit2 (un gestore di permessi di Uniswap Labs) per usare USDC. Un’approvazione illimitata può restare attiva dopo che lo swap è completato o annullato.

Fornire token a un protocollo di prestito: per prestare USDT su Aave, approva il contratto Aave Pool a spostare i token fuori dal wallet. Un’allowance inutilizzata può rimanere dopo che il deposito è stato prelevato o dopo che la DApp è stata disconnessa.

Fare staking di token tramite una DApp: quando fa staking tramite Aave Umbrella, approva il contratto di staking a spostare i token scelti nella pool. Se l’approvazione supera il deposito, l’allowance residua può continuare a funzionare dopo che è uscito dallo staking.

Mettere in vendita un NFT: metta in vendita un NFT su OpenSea e il marketplace può richiedere l’accesso a un singolo NFT o all’intera collezione tramite setApprovalForAll. Un’approvazione estesa a tutta la collezione resta in vigore finché l’utente non la revoca con una transazione separata.

Rivendicare token da un airdrop: un sito di airdrop falso può nascondere un’approvazione illimitata o una firma Permit dietro un normale pulsante Claim. Dopo che conferma, un wallet drainer può spostare i token o gli NFT approvati senza alcuna nuova richiesta nel wallet.

Quali sono i rischi delle approvazioni di token?

Il pericolo non è l’approvazione in sé, ma ciò in cui può trasformarsi nel tempo. Tre rischi contano più di tutti:

  • Allowance illimitata: il contratto può spendere l’intero saldo attuale e futuro del token approvato, non solo l’importo che intendeva usare.
  • Approvazione persistente: il permesso continua a funzionare per mesi o anni dopo l’ultima volta che ha usato la DApp, quindi un’approvazione dimenticata resta sfruttabile.
  • Contratto compromesso: anche una DApp legittima può essere violata dopo che Lei ha concesso l’approvazione, consegnando a un aggressore l’accesso che aveva già autorizzato.

Cosa sono i wallet drainer crypto?

Un wallet drainer crypto è uno strumento dannoso che usa un sito di phishing o una DApp falsa per indurLa a concedere il permesso di trasferire i suoi token o NFT. Invece di indovinare la sua frase segreta, un drainer fa in modo che Lei firmi l’accesso volontariamente, poi lo usa per portare fuori i suoi asset più preziosi. I drainer sono una minaccia ampia e attiva: hanno rubato 494 milioni di dollari da circa 332.000 indirizzi di wallet nel 2024, con un aumento del 67 % rispetto all’anno precedente (Scam Sniffer, 2024).

Come i wallet drainer sfruttano le approvazioni di token

Un attacco drainer di solito si svolge attraverso una catena di passaggi prevedibile:

  1. L’utente arriva su un sito falso di mint, airdrop o investimento.
  2. Il sito invita l’utente a collegare il suo wallet.
  3. L’utente firma un’approvazione o una firma permit.
  4. Il drainer analizza il wallet e individua gli asset più preziosi.
  5. I token o gli NFT approvati vengono trasferiti fuori senza alcuna nuova conferma.

Collegare un wallet da solo non consente a nessuno di spostare i suoi asset - il pericolo inizia solo dopo che firma un’approvazione o una transazione dannosa. Quella singola firma è la linea di confine tra una connessione innocua e un wallet svuotato.

Perché disconnettere una DApp non ne revoca l’approvazione

Disconnettere e revocare sono due azioni diverse, e solo una delle due rimuove il permesso di spesa di un contratto. Disconnettere chiude l’interfaccia tra il suo wallet e la DApp; l’approvazione continua a vivere on-chain.

AzioneCosa faCosa resta attivo
DisconnessioneChiude la connessione tra il wallet e l’interfaccia della DAppLe approvazioni on-chain concesse in precedenza
RevocaRimuove o reimposta il permesso di spesa dello smart contractLa DApp deve richiedere una nuova approvazione per accedere di nuovo al token

Per mostrare la differenza, abbiamo collegato Gem Wallet alla DApp legittima Uniswap e concesso a Permit2 un’approvazione illimitata su USDC. Dopo aver disconnesso Uniswap, non è rimasta nessuna sessione WalletConnect attiva, ma Revoke.cash mostrava ancora l’approvazione con l’intero saldo USDC come valore a rischio. Disconnettere chiude solo la connessione alla DApp - l’approvazione on-chain resta finché non si effettua una transazione di revoca separata.

Uniswap requesting unlimited USDC approval, Gem Wallet showing no active WalletConnect sessions, and Revoke.cash still listing one active approval Approvi in Uniswap, disconnetta la DApp - e l’approvazione è ancora attiva on-chain in Gem Wallet.

Come revocare le approvazioni di token delle DApp: passo dopo passo

Revocare un’approvazione richiede pochi minuti. Ecco l’intero processo a colpo d’occhio:

  1. Apra il verificatore di approvazioni.
  2. Inserisca l’indirizzo del suo wallet.
  3. Selezioni la blockchain.
  4. Esamini le approvazioni attive.
  5. Revochi o riduca l’allowance.
  6. Confermi la transazione.
  7. Verifichi il risultato.

Esaminiamo ogni passaggio nel dettaglio.

Passo 1: apra un verificatore di approvazioni affidabile

Apra un verificatore di approvazioni come Revoke.cash o l’Etherscan Token Approval Checker, e digiti Lei stesso l’indirizzo invece di seguire un link. Esistono copie di phishing di questi strumenti, quindi ricontrolli il dominio prima di collegare qualsiasi cosa.

Passo 2: inserisca l’indirizzo del suo wallet crypto

Inizi in modalità di sola lettura incollando l’indirizzo pubblico del suo wallet - questo Le consente di vedere ogni approvazione attiva senza collegarsi né firmare. Il collegamento tramite WalletConnect serve solo quando è pronto a revocare.

Passo 3: selezioni la blockchain corretta

Scelga la rete su cui è stata concessa l’approvazione, perché ogni chain conserva le proprie approvazioni. Ethereum, BNB Chain, Polygon, Base e altre reti vanno controllate separatamente - un’approvazione su una chain è invisibile su un’altra.

Passo 4: esamini lo spender e l’allowance

Per ogni voce, controlli il token, lo smart contract (spender), l’importo approvato, la data in cui è stato concesso e il valore a rischio. Uno spender sconosciuto o un importo illimitato su un token che possiede è il segnale più chiaro che un’approvazione va rimossa.

Passo 5: revochi o riduca l’approvazione di token

Rimuova del tutto un’approvazione che non Le serve più, oppure riduca l’allowance all’importo che intende effettivamente usare. Toccando Revoke si crea una transazione che reimposta a 0 l’allowance di spesa per quel contratto.

Passo 6: confermi la transazione nel suo wallet

La richiesta si apre nel suo wallet, come Gem Wallet, tramite WalletConnect. Prima di confermare, verifichi che:

  • Importo: l’allowance approvata cambia a 0 USDC.
  • Contratto: USDC.
  • Metodo: Approve.
  • Spender: Permit2.
  • Rete: Ethereum.

La conferma richiede una commissione di rete (per esempio ETH), poiché è la transazione on-chain che rimuove effettivamente il permesso. La approvi in Gem Wallet per inviarla.

Passo 7: verifichi che l’approvazione sia stata rimossa

Ricarichi Revoke.cash e confermi che l’approvazione sia sparita o che il suo importo sia cambiato. Nel nostro test, la dashboard si è aggiornata a 0 approvazioni, 0 dollari di valore a rischio e un elenco di approvazioni vuoto - la prova che il contratto non può più spendere USDC finché non lo richiede di nuovo.

Tapping Revoke in Revoke.cash, confirming the 0 USDC allowance in Gem Wallet, and the dashboard verifying 0 approvals with no value at risk Tocchi Revoke, confermi l’allowance di 0 USDC in Gem Wallet e verifichi che l’approvazione sia sparita.

Quali approvazioni di token dovrebbe revocare?

Non tutte le approvazioni vanno rimosse, ma alcune sono candidate evidenti. Revochi un’approvazione quando:

  • DApp inutilizzata: non usa più la DApp che la detiene.
  • Spender sconosciuto: non riconosce il contratto spender.
  • Importo illimitato: l’approvazione è stata concessa per un importo illimitato.
  • Vecchia inserzione NFT: il permesso è legato a un’inserzione NFT che ha chiuso.
  • Hack segnalato: il progetto ha reso noto un hack o un exploit.
  • Fonte sospetta: l’approvazione è comparsa dopo un mint o un airdrop discutibile.
  • Motivo dimenticato: non ricorda perché l’ha concessa in primo luogo.

Cosa fare se il suo wallet crypto è già stato svuotato

Revochi immediatamente ogni approvazione attiva: la revoca ferma le spese successive ma non recupera gli asset già rubati. Se la sua frase segreta o la sua chiave privata sono state esposte, crei un nuovo wallet su un dispositivo pulito e vi sposti i fondi rimanenti. Se un bot sweeper sta sorvegliando l’indirizzo, non invii gas all’indirizzo compromesso senza un piano di recupero degli asset separato.

Come usare le DApp senza farsi svuotare

La revoca ripulisce i permessi già concessi - ma l’abitudine più sicura è intercettare un’approvazione rischiosa prima ancora di firmarla. Poche regole coprono la maggior parte dei casi:

  • Verifichi il dominio: controlli l’URL esatto della DApp prima di collegarsi.
  • Ignori le esche di approvazione: non firmi approvazioni poco chiare solo per rivendicare un airdrop.
  • Limiti l’importo: limiti l’importo approvato invece di concederne uno illimitato.
  • Attenzione a setApprovalForAll: tratti con particolare cautela i permessi NFT estesi a tutta la collezione.
  • Controlli lo spender: confermi che l’indirizzo spender appartenga al protocollo reale.
  • Faccia pulizia con regolarità: rimuova le vecchie approvazioni con cadenza periodica.
  • Isoli il rischio: usi un wallet separato per le DApp nuove e non attendibili.

Usi le DApp su oltre 100 blockchain con Gem Wallet - un wallet in autocustodia completamente open-source che conserva le chiavi private sul suo dispositivo e non raccoglie alcun dato personale. Scarichi Gem Wallet e si colleghi alle app compatibili con WalletConnect mantenendo il pieno controllo delle sue chiavi.

Prova Gem Wallet!

Portafoglio self-custody per oltre 100 blockchain

App Store 4,9 stelle su App Store | Google Play 4,8 stelle su Google Play
Scarica ora

Domande frequenti

No - la disconnessione chiude la sessione WalletConnect, ma l'approvazione on-chain resta attiva fino a una transazione di revoca separata.
Apra Revoke.cash, trovi l'approvazione tramite il suo indirizzo pubblico, colleghi Gem Wallet tramite WalletConnect e confermi la transazione che imposta l'allowance a 0.
No - una volta impostata l'allowance a 0, lo smart contract deve richiedere una nuova approvazione prima di poter usare di nuovo il token.
No - la revoca blocca le spese future, ma non annulla le transazioni che un wallet drainer ha già effettuato.
Sì - la revoca è una transazione on-chain e richiede una commissione di rete nel token nativo della chain, come ETH su Ethereum.