Siamo partner di affiliazione di Binance: se ti registri tramite un link o un codice di invito di questo sito, potremmo ricevere una commissione, senza alcun effetto sul tuo tasso. Contenuto solo didattico, non consulenza finanziaria.

HomeGuide › Anti-truffa

Da leggere prima di riscattare: come evitare firme malevole e truffe di autorizzazione

Illustrazione di una finestra di firma del portafoglio, con accanto una mano pronta a premere il pulsante di conferma e una spia di avviso accesa in alto
Ti possono svuotare anche senza la chiave privata: la chiave sta proprio in cosa firmi davvero nel momento in cui premi «conferma».

Tanti pensano: «non ho dato la frase di recupero o la chiave privata a nessuno, quindi il portafoglio è al sicuro.» A questo ragionamento manca un pezzo, e quel pezzo è proprio il punto in cui inciampano più persone. Nel mondo decentralizzato non devi consegnare le chiavi: basta premere una volta «conferma» in una finestra ben progettata da un sito malevolo, e la controparte può legalmente portarti via le monete. Non perché l'hacker sia tecnicamente bravissimo, ma perché l'hai «autorizzato con le tue mani». Anche la spiegazione su autorizzazioni token e revoca di Binance Academy lo mette tra i punti chiave della sicurezza del portafoglio.

Riscattare airdrop, giocare con la DeFi, interagire con qualsiasi smart contract: quasi nulla si fa senza le due azioni della firma e dell'autorizzazione. Capirle e sapere quale richiede attenzione speciale ti dà il modo di fermarti prima di premere conferma. Questo pezzo spiega la cosa da capo a fondo.

Non ho dato la chiave privata, come fanno a svuotarmi

Prima un concetto chiave: sulla blockchain, «usare le tue attività» ha due strade. Una è che sei tu a iniziare un trasferimento; l'altra è che tu autorizzi un certo smart contract a «poter usare al posto tuo, in seguito, una certa moneta». Quest'ultima strada è proprio la base su cui funziona la DeFi: autorizzi il contratto dell'exchange a usare i tuoi USDT, e solo così può scambiarti le monete; ma i malintenzionati usano la stessa strada, e basta che ti carpiscano una sola autorizzazione per spostare via le monete a tua insaputa.

Quindi il punto è questo: farsi svuotare non vuol dire per forza aver rivelato le chiavi, spesso è perché si è «firmata la cosa sbagliata». Le chiavi sono ancora nelle tue mani, ma quel permesso di autorizzazione che hai rilasciato ha dato alla controparte la facoltà di toccare le tue attività.

Un paragone aiuta a capire. La chiave privata è come la chiave di casa: darla via è perdere l'intera casa; mentre l'autorizzazione è più come firmare una procura che permette a una certa persona di «entrare in seguito in una tua stanza a prendere roba». Credi di firmare «lascia che il sistema mi riscatti l'airdrop», e in realtà firmi «permetto a questo sconosciuto di venire quando vuole a portarmi via questa moneta». La chiave la tieni sempre tu, ma una procura data alla persona sbagliata porta allo stesso risultato disastroso. È anche per questo che tante vittime restano dopo del tutto disorientate: «ma io la password non l'ho detta a nessuno!» — il problema non è la password, è quella procura che hai firmato con le tue mani.

Firma e autorizzazione, in cosa differiscono

Le finestre che il portafoglio apre si dividono a grandi linee in due categorie, con un grado di pericolo molto diverso:

TipoCosa faRischio
Firma di un messaggio
(signature / sign message)
Per lo più accesso, verifica che sei il proprietario di quell'indirizzo, non tocca direttamente le attività on-chain e di solito non costa gasGeneralmente più basso, ma c'è un'eccezione, la «firma di autorizzazione offline», vedi avviso sotto
Autorizzazione di una transazione
(approve / transaction)
Approva un certo contratto a «poter usare una tua moneta», o invia direttamente una transazione, e costa gasAlto. L'approve malevolo è la tecnica più comune per portare via le monete

La cosa di cui chiunque deve diffidare di più è l'approve (autorizzazione). Quando la finestra mostra «permetti a un certo contratto di usare i tuoi USDT / USDC / una certa moneta» e per giunta l'importo è «senza limite (unlimited)», hai praticamente firmato un assegno in bianco. La controparte, ottenuta quell'autorizzazione, può in futuro spostare via tutta quella tua moneta quando vuole. Per capire meglio il meccanismo e i rischi dell'autorizzazione token (token approval), la pagina sulla sicurezza di ethereum.org ha una sintesi in parole semplici.

Non pensare che «è solo una firma di un messaggio» sia per forza sicuro. Esiste una firma di autorizzazione offline chiamata Permit / Permit2 che sembra solo una firma, non costa gas, ma in realtà autorizza anch'essa la controparte a toccare le tue monete. Quindi, comunque si chiami la finestra, il punto è sempre: chi autorizza a usare quale tua moneta e per quale importo.

Come un approve malevolo porta via le tue monete

Ti scompongo il copione completo, così capisci perché bisogna fare tanta attenzione:

  1. Vieni attirato da un finto airdrop o da un finto sito e connetti il portafoglio (a questo punto ancora niente).
  2. Il sito apre una finestra, con un'interfaccia scritta tipo «riscatta l'airdrop» o «verifica i requisiti», ma il contenuto effettivo è fare l'approve di un contratto che controlla loro, a usare una tua moneta, con importo senza limite.
  3. Premi conferma senza guardare bene e paghi il gas. In apparenza «non è successo niente», e magari pensi pure di non aver ricevuto l'airdrop.
  4. Ma la controparte ora ha l'autorizzazione. Può, subito o tra qualche giorno quando ti sei dimenticato della cosa, richiamare quel contratto e portarti via tutte le monete in un colpo.

Il punto subdolo sta nel terzo passaggio: in quel momento il tuo saldo non è calato, non hai alcuna sensazione di furto, quasi nessuno se ne accorge, e quando le monete spariscono davvero spesso è già dopo. È anche per questo che «controllare e ritirare periodicamente le autorizzazioni» è così importante, e lo vediamo dopo.

C'è una variante ancora più subdola: alcuni attacchi non agiscono subito, ma «coltivano» la tua autorizzazione, aspettando che il portafoglio accumuli un certo importo, o che tu ti sia ormai dimenticato della cosa, per svuotarti in un colpo solo. Nel momento in cui autorizzi è come installarti addosso un interruttore che possono azionare quando vogliono. È proprio per questo che «non autorizzare a caso senza motivo, e ripulire periodicamente le autorizzazioni» è l'abc della sicurezza del portafoglio.

Due scenari di truffa molto comuni, scomposti

Spiegato il principio, ti scompongo i due più comuni in pratica, così quando li incontri li riconosci.

Scenario uno: l'«approve senza limite» della finta pagina di riscatto airdrop. Vedi sulla community un progetto che fa un airdrop, entri in un sito dall'aria molto ufficiale, connetti il portafoglio, premi «Claim (riscatta)». Il portafoglio apre una finestra: credi di riscattare monete, ma il contenuto è un approve, autorizzi il contratto dietro il sito a «poter usare una tua moneta, con importo senza limite». Premi conferma senza guardare bene, paghi un po' di gas, la schermata dice successo, ma «non hai ricevuto alcun airdrop» e pensi che il progetto non abbia ancora distribuito. In realtà hai appena ceduto la facoltà di prelievo su quella moneta, dopo qualche giorno ormai te ne sei dimenticato e la controparte con un solo comando svuota le monete. La chiave per smascherarlo: riscattare un airdrop normalmente richiede solo di firmare un messaggio per verificare l'indirizzo, non dovrebbe chiederti un approve per usare le monete; appena vedi un approve, appena vedi l'uso dei tuoi USDT/USDC, ferma subito.

Scenario due: la trappola della «firma offline» Permit / Permit2. Questo è ancora più subdolo, non costa nemmeno gas. Il sito di phishing ti chiede di «firmare per verificare», la finestra mostra una firma (signature) e non una transazione, e pensando «firmare non costa soldi» firmi. Ma esiste uno standard chiamato Permit, Permit2, che ti permette con una firma offline di autorizzare la controparte a usare le tue monete: quel bigliettino apparentemente innocuo è in sostanza una procura. Non va on-chain, non costa gas, e persino il block explorer in quel momento non ne trova traccia, e solo quando la controparte porta la tua firma a eseguirla on-chain le monete spariscono. La chiave per smascherarlo: che la finestra si chiami «firma» o «autorizzazione», appena menziona il permesso a un indirizzo di usare una tua moneta, o compare Permit, o parole come importo, trattala come ad alto rischio; non capire e venire incalzato a firmare in fretta è già di per sé un segnale.

Il tratto comune dei due scenari è: «credi» di fare una cosa innocua e invece cedi la facoltà di prelievo sulle attività. Il criterio di giudizio è sempre il contenuto effettivo della finestra.

Capire quella finestra che il portafoglio apre

Smettila di premere conferma per riflesso. Quando la finestra appare, fai questi controlli in dieci secondi:

  • È una firma di un messaggio o un'autorizzazione di una transazione? Riscattare un airdrop di solito richiede solo di firmare un messaggio; appena vedi un approve, appena vedi che ti chiede di autorizzare l'uso di una tua moneta, fermati.
  • Qual è l'importo dell'autorizzazione? Senza limite (unlimited / una lunga stringa di numero molto grande) è il più pericoloso. Anche se devi davvero autorizzare, scegli «autorizza solo l'importo necessario stavolta».
  • Qual è l'indirizzo del contratto della controparte? Incolla quella stringa di indirizzo su Etherscan o BscScan e controlla se è verificato e se ha un mucchio di registri sospetti.
  • L'URL è giusto? Molte autorizzazioni malevole nascono da siti di phishing. Verifica il dominio prima di entrare, come spiegato in la verifica dell'indirizzo del portafoglio.
  • Se non capisci, annulla. Questa è la più utile. Non capire ma essere incalzato a premere è già di per sé un segnale di pericolo. Anche MetaMask ha una guida ufficiale all'uso sicuro che vale la pena leggere.

I portafogli più recenti di solito ti segnalano «questa è una transazione di autorizzazione» o danno un avviso sui siti sospetti, ma lo strumento è solo un aiuto: a premere conferma alla fine sei tu. Tieni il potere di giudizio nelle tue mani.

Revoca periodicamente, ritira le vecchie autorizzazioni

Anche se sei molto attento, basta aver giocato con la DeFi o riscattato airdrop e il portafoglio ha per lo più accumulato un mucchio di vecchie autorizzazioni che hai dimenticato. Una qualsiasi di esse, se il soggetto autorizzato all'epoca ha problemi, è una falla potenziale. La buona notizia è: le autorizzazioni si possono ritirare (revoke).

L'approccio comune è usare uno strumento di gestione delle autorizzazioni, far elencare tutto ciò che un tuo indirizzo «ha autorizzato — quali contratti, quali monete, quale importo», e poi ritirare uno a uno i permessi che non ti servono più o di provenienza sconosciuta. Ritirare costa un po' di gas, ma rispetto a farsi svuotare un giorno, questo costo vale la pena.

In pratica puoi usare uno strumento come Revoke.cash per esaminare e revocare le autorizzazioni: connetti il portafoglio (ricordati di verificare prima l'URL) e vedi la lista. Prendi l'abitudine: ogni tanto, o dopo ogni nuovo progetto con cui hai giocato, torna a controllare e ripulisci le autorizzazioni che non usi.

Come controllare da soli? Ci sono due strade. La prima è usare uno strumento di gestione delle autorizzazioni, incollando il tuo indirizzo (per vedere solo la lista non serve connettere il portafoglio, lo connetti solo quando devi revocare): elenca quali contratti il tuo indirizzo ha autorizzato, su quale moneta, con quale importo; guarda soprattutto se c'è del «senza limite (unlimited)» e se ci sono contratti che proprio non ricordi o di provenienza sconosciuta. La seconda è usare un block explorer, incollando l'indirizzo su Etherscan (Ethereum) o BscScan (BSC): hanno per lo più una pagina «Token Approvals» con la stessa lista, e puoi anche vedere di seguito se quel contratto è verificato. Trovato qualcosa di strano, torna allo strumento di gestione e fai revoke.

BNB3311

Se ti svuotano, cosa fare per prima cosa

Prima un fatto crudo ma da sapere: le transazioni blockchain sono irreversibili, e le monete già spostate via sono in pratica irrecuperabili. Quindi il punto di questo paragrafo è «fermare l'emorragia», salvare ciò che non è ancora stato portato via.

  1. Sposta subito le attività ancora nel portafoglio verso un altro portafoglio nuovo e sicuro. Fai in fretta, fai a gara con la controparte.
  2. Vai a revocare le autorizzazioni sospette. Con uno strumento di gestione, fai revoke di tutti gli approve di provenienza sconosciuta che riesci a trovare, per tappare la strada che le permette di continuare a prelevare.
  3. Questo portafoglio svuotato d'ora in poi non usarlo più. La sua chiave privata o le sue autorizzazioni potrebbero essere già esposte, non rimetterci dentro nulla.
  4. Conserva i registri e, se serve, denuncia. Annota l'hash della transazione, l'indirizzo della controparte e l'ora. Anche se le probabilità di recupero sono basse, conservare le prove è sempre giusto.
  5. Controlla gli altri portafogli. Se con la stessa frase di recupero hai derivato più indirizzi, verifica se gli altri sono al sicuro.
Nel momento in cui ti svuotano, la cosa peggiore è bloccarsi nel panico o firmare a caso. Ricorda l'ordine: prima sposta ciò che resta, poi revoca le autorizzazioni, abbandona il vecchio portafoglio. Le analisi su quale passo è andato storto le fai dopo.

Prova della redazione: un giro tra autorizzazione e revoca

Prova della redazione

Quello che ci ha davvero fatto cambiare la cattiva abitudine è stato quando, su un colpo di testa, abbiamo preso il portafoglio principale con cui avevamo giocato a vari progetti e l'abbiamo passato in rassegna su uno strumento di gestione delle autorizzazioni. Nel momento in cui la schermata ha tirato fuori la lista siamo rimasti un po' spiazzati: una fila lunga, parecchi contratti di cui non riconoscevamo nemmeno il nome, e l'importo scritto dietro ognuno era «senza limite». In altre parole, questi contratti che ci eravamo dimenticati da un pezzo potevano in teoria portar via la moneta corrispondente in qualsiasi momento, solo che (per ora) non l'avevano ancora fatto.

La prima cosa che abbiamo capito quella volta è: le informazioni che la finestra del portafoglio dà nel momento dell'autorizzazione bastano in realtà per giudicare, solo che nessuno si ferma in quell'istante a leggerle riga per riga. Quella frase «permetti al contratto X di usare la tua moneta Y, importo senza limite» è scritta chiarissima: il problema non è mai stato non vederla, è non averla letta. La seconda cosa è che fare revoke di quelle autorizzazioni inutili una a una, e vedere la lista passare da una fila lunga a pulita, costa un po' di gas, ma quella tranquillità è concreta. Da allora abbiamo fissato una regola: dopo ogni nuovo progetto ripuliamo le autorizzazioni, per non lasciare quella parola «senza limite» appesa dove nessuno la sorveglia.

Quello che davvero devi portarti via sono in realtà solo tre cose: quello che non capisci non firmarlo, dai l'autorizzazione solo per l'importo minimo, e quando hai finito ricordati di ritirarla. Fatte queste tre cose, hai evitato on-chain la categoria di disastri più comune e più costosa. Non ti serve saper programmare, non ti serve essere chissà quanto in gamba, ti serve solo essere disposto a rallentare di qualche secondo prima di premere conferma.

Le truffe di autorizzazione sono il punto in cui si sbatte più facilmente riscattando un airdrop, e quello con le perdite più gravi, e merita di dedicarci tempo. Per vedere com'è fatto un airdrop falso e come smascherarlo a colpo d'occhio, continua con 5 segnali di un airdrop truffa; per conoscere in modo sistematico i vari trucchi che incontri con i portafogli, vedi Le 5 truffe più comuni sui portafogli; e conservare bene la frase di recupero è la base di tutto, non saltare come conservare la frase di recupero. Fai tutto il giro del flusso di sicurezza, e poi torna a la guida completa agli airdrop di criptovalute per metterti all'opera: sarà molto più solido.

Se sei ancora in fase di preparazione e vuoi un ambiente con assistenza, dove in caso di problemi c'è qualcuno a cui chiedere, per fare pratica con calma, puoi partire dall'exchange. Registrati su Binance con il codice BNB3311 e portati dietro già lo sconto sulle commissioni (lo sconto effettivo è quello indicato sulla pagina di Binance e può cambiare secondo le policy); quando sei pratico, va' a toccare il mondo on-chain con questa attenzione verso le autorizzazioni.