Approval Exploit

Un approval exploit è una vulnerabilità di sicurezza in cui gli attaccanti abusano delle autorizzazioni di allowance dei token per trasferire asset oltre quanto l’utente intendeva o credeva di aver autorizzato.

Definizione

Un approval exploit è una categoria di rischio di sicurezza in cui un attaccante sfrutta i meccanismi di approvazione o allowance dei token per spostare gli asset della vittima senza ulteriore consenso. Di solito si verifica quando uno smart contract o un’interfaccia induce l’utente a concedere allowance eccessive o non sicure, che l’attaccante poi utilizza tramite contratti malevoli o compromessi. L’exploit di norma non viola lo standard del token alla base, ma abusa del modello di autorizzazione legittimo codificato nella logica di approval del token. Di conseguenza, il trasferimento di fondi è tecnicamente valido on-chain, anche se viola le aspettative dell’utente in termini di sicurezza e ambito dell’autorizzazione.

Questo rischio è strettamente legato al modo in cui gli stati di allowance dei token vengono memorizzati e richiamati dagli smart contract. Una volta che un attaccante ha accesso a un’allowance elevata o illimitata, può chiamare ripetutamente le funzioni di trasferimento per conto dell’indirizzo dell’utente finché il saldo approvato non viene esaurito. Gli approval exploit spesso si basano su prompt di transazione ingannevoli, nomi di contratto fuorvianti o sul riutilizzo di permessi precedentemente concessi in modi inattesi. La caratteristica centrale è la discrepanza tra ciò che l’utente crede di aver autorizzato e ciò che l’allowance consente effettivamente in pratica.

Contesto e utilizzo

Nelle discussioni sulla sicurezza, un approval exploit viene descritto come un rischio di abuso dei permessi piuttosto che come un fallimento diretto del protocollo. È frequentemente associato a design di token in stile ERC-20, in cui un passaggio di approvazione separato imposta un’allowance che altri contratti possono spendere. Quando queste allowance sono configurate in modo errato, mai revocate o concesse a contratti non affidabili, creano una superficie di attacco persistente che gli avversari possono attivare in un secondo momento. L’exploit si colloca quindi all’intersezione tra design degli smart contract, UX del wallet e comprensione da parte dell’utente delle regole di autorizzazione on-chain.

Il termine è spesso usato insieme al concetto di allowance per descrivere quanto dovrebbero essere granulari o revocabili le autorizzazioni sui token. I security auditor e i designer di protocolli considerano gli approval exploit come una categoria specifica di minaccia da tenere in conto quando si progettano le interfacce dei contratti e i flussi di permessi. Nei report sugli incidenti, definire un attacco come approval exploit mette in evidenza che l’attaccante ha operato all’interno di permessi formalmente concessi, anche se tali permessi sono stati ottenuti o strutturati in modo ingannevole o non sicuro. Questa classificazione aiuta a distinguerlo da bug che derivano da errori aritmetici, reentrancy o altri difetti di basso livello nei contratti.

© 2025 Tokenoversity. Tutti i diritti riservati.