L'Approve (autorisation) de token est le mecanisme standard qui permet aux tokens ERC20 d'interagir avec des contrats intelligents, mais c'est aussi le plus grand vecteur d'attaque DeFi de 2024-2026. Cet article detaille le mecanisme Approve et les operations de revocation. Conclusion d'abord : chaque interaction DeFi peut laisser un residu d'Approve, ne jamais revoquer a long terme accumule un risque enorme, et auditer chaque mois avec Revoke.cash puis revoquer les autorisations inutiles est une habitude indispensable pour tout utilisateur DeFi. Pour votre compte principal comme secondaire, inscrivez-vous via le Site Officiel de Binance, installez l'Application Officielle Binance sur Android, et les utilisateurs iOS consulteront la Page de Telechargement pour basculer sur un Apple ID etranger.

Principes du mecanisme Approve

Le double mecanisme des tokens ERC20 :

Le standard ERC20 definit deux modes de transfert :

  1. transfer : l'utilisateur transfere lui-meme (vous envoyez des USDC a quelqu'un)
  2. transferFrom : le contrat transfere a votre place (un contrat intelligent preleve des USDC depuis votre compte)

transferFrom necessite d'abord un Approve :

Etape 1 : l'utilisateur appelle approve(spender, amount) sur le contrat USDC
        - spender = adresse du contrat
        - amount = montant autorise

Etape 2 : le contrat appelle transferFrom(user, recipient, amount)
        - doit rester dans la limite de amount pour reussir

Exemple avec Uniswap :

Etape 1 : l'utilisateur Approve le Router Uniswap pour prelever des USDC (Approve unique de 1000 USDC)
Etape 2 : l'utilisateur lance un swap USDC vers ETH sur Uniswap
Etape 3 : le Router Uniswap appelle USDC.transferFrom pour prelever les USDC
Etape 4 : le Router Uniswap envoie a l'utilisateur le montant correspondant d'ETH

Approve est le mecanisme fondamental de toute interaction DeFi avec les tokens ERC20.

Q : Faut-il refaire un Approve a chaque interaction ?

Non. L'Approve est persistant :

C'est la source du risque d'accumulation d'Approve : sans revocation a long terme, un grand nombre d'Approve historiques s'accumulent.

Les deux types d'Approve

Autorisation limitee (Limited Approval) :

Autorisation illimitee (Unlimited Approval / MaxUint256) :

Pourquoi l'autorisation illimitee existe :

Les risques de l'autorisation illimitee :

Cas reel :

En decembre 2024, un utilisateur avait Approve un montant illimite d'USDC sur Uniswap des 2022. En decembre 2024, son wallet a recu un versement de 50 000 USDC, et 2 heures plus tard un contrat malveillant (un faux Router se faisant passer pour Uniswap V3) a appele transferFrom pour tout transferer. L'enquete a revele que le contrat de phishing avait exploite une faille dans un Approve historique de l'utilisateur.

Q : Faut-il choisir l'autorisation limitee ou illimitee ?

Camp de la securite (recommande) : Approve manuellement un montant precis a chaque interaction

Camp de la commodite : autorisation illimitee par defaut

Strategie dominante :

Les formes courantes d'attaques Approve

Forme 1 : attaque Approve via site de phishing

Un site de phishing imite l'interface reelle, l'utilisateur connecte son wallet puis signe une transaction Approve :

Forme 2 : attaque par signature Permit

L'EIP-2612 introduit la fonction permit, qui permet d'autoriser par signature (hors chaine) :

Le danger des attaques Permit :

Forme 3 : piratage de protocole via un Approve historique

Piratage d'un protocole ayant un Approve historique :

Forme 4 : Token Drainer malveillant

Un site de phishing fait signer plusieurs Approve en une seule autorisation :

Q : Une signature Permit est-elle plus dangereuse qu'un Approve ?

Oui, le Permit est bien plus dangereux :

Dimension Approve Permit
Sur chaine Oui Non (signature seulement)
Consomme du gas Oui Non
Lisibilite dans le wallet Assez claire Peu intuitive
Mode de revocation Transaction Revoke sur chaine Impossible a revoquer (necessite de modifier le nonce du contrat)
Vigilance de l'utilisateur Elevee Faible

Toute signature Permit doit etre verifiee attentivement : quel token, quel montant, quel destinataire.

Revoke : la revocation d'Approve en detail

Principaux outils de revocation :

Revoke.cash (le plus utilise, recommande) :

Etherscan Token Approval :

Solscan Approval (Solana) :

Etapes de revocation sur Revoke.cash :

1. Aller sur revoke.cash
2. Cliquer sur "Connect Wallet" (connecter MetaMask / Rabby)
3. Chargement automatique de toutes les autorisations (classees par token / protocole)
4. Parcourir la liste :
   - Nom du token (USDC, USDT, WETH etc.)
   - Beneficiaire de l'autorisation (adresse de contrat + nom du protocole connu)
   - Montant autorise (valeur precise ou Unlimited)
   - Niveau de risque (rouge = risque eleve, vert = protocole connu)
5. Cliquer sur "Revoke" pour revoquer les autorisations suspectes
6. Fenetre MetaMask : signer et payer le gas
7. Attendre la confirmation sur chaine (5 a 30 secondes)

Cout en gas d'une revocation :

Chaine Gas d'une revocation unique
Ethereum mainnet 5 a 30 dollars
Polygon < 0,01 dollar
Arbitrum / Optimism / Base 0,1 a 1 dollar
BNB Chain 0,05 a 0,30 dollar
Solana < 0,01 dollar

Q : Faut-il payer du gas pour revoquer un Approve ?

Oui. Revoke est une transaction sur chaine, elle necessite du gas. Mais :

Conseils d'optimisation :

Processus standard d'audit periodique des Approve

Frequence d'audit :

Type d'utilisateur Frequence d'audit
Utilisateur DeFi actif (5+ interactions par semaine) Chaque mois
Utilisateur DeFi moyen (5 a 20 interactions par mois) Tous les 3 mois
Utilisateur DeFi peu frequent (< 5 interactions par mois) Tous les 6 mois

Etapes d'audit :

Etape 1 : connecter le wallet a Revoke.cash

Etape 2 : filtrer les autorisations par categorie

Classement par niveau de risque :

Etape 3 : revoquer les autorisations inutiles

Principes de revocation :

Etape 4 : conserver un enregistrement des autorisations necessaires

Enregistrer les autorisations conservees :

Etape 5 : verifier apres chaque audit

Q : Comment savoir si un protocole est "connu" avant de revoquer ?

Methode de verification :

  1. Nom du protocole : le nom affiche par Revoke.cash (par exemple "Uniswap V3 Router")
  2. Adresse du contrat : rechercher sur Etherscan si le contrat est verifie + s'il s'agit d'un protocole reconnu
  3. Page protocole DefiLlama : consulter la TVL et la duree d'exploitation
  4. Documentation officielle : l'adresse de contrat publiee par l'equipe du projet

Tout contrat non identifiable + autorisation Unlimited = risque eleve, a revoquer immediatement.

Gestion des Approve sur differentes chaines

Ethereum mainnet + chaines compatibles EVM :

Chaine Solana :

Chaine Bitcoin :

Familles Move (Sui / Aptos) :

Q : Existe-t-il un risque d'Approve sur Solana ?

Oui. Le risque de "l'autorisation par signature" sur Solana est similaire :

Phishing courant sur Solana :

Les principes de protection sont identiques a ceux d'Ethereum.

Meilleures pratiques d'optimisation des Approve

1. Utiliser un montant precis a chaque Approve

Configurer l'invite Approve de MetaMask :

2. Separer wallet principal et wallet secondaire

3. Revoquer les anciennes autorisations de protocole

Audit mensuel :

4. Se mefier des "signatures groupees"

5. Utiliser des outils d'interpretation de signature

Q : Peut-on revoquer tous les Approve en une seule fois ?

Il n'existe pas de fonction "tout revoquer en un clic" :

Certains outils proposent une "file d'attente" groupee :

Cas particulier : Approve NFT

Les NFT ont aussi un mecanisme Approve :

Les risques de l'Approve NFT :

Cas reel :

En mai 2024, un utilisateur a signe un setApprovalForAll sur un faux site imitant OpenSea, autorisant un contrat malveillant a gerer son BAYC NFT. Ses BAYC ont ete immediatement transferes vers l'adresse de l'attaquant, pour une perte d'environ 120 000 dollars.

Revocation de l'Approve NFT :

Q : Faut-il obligatoirement autoriser pour vendre un NFT sur OpenSea / Blur ?

Oui. Les principales marketplaces NFT exigent une autorisation pour mettre en vente :

Bonne pratique de securite :

FAQ courantes

Q : Combien de gas minimum consomme un Approve ?

Gas standard d'un Approve sur Ethereum mainnet :

Sur L2 / Polygon / BSC, un Approve coute generalement moins de 1 dollar.

Q : Un Approve revoque peut-il etre reactive ?

Non, pas directement. Apres revocation, c'est comme si l'autorisation n'avait jamais existe, un nouvel Approve est necessaire :

Q : Tous les tokens ERC20 necessitent-ils un Approve ?

Oui. Tous les tokens standard ERC20 suivent le mecanisme Approve :

Exceptions :

Q : Le token reste-t-il bloque apres un Approve ?

Non. L'Approve ne bloque pas le token :

L'Approve fonctionne comme une "limite de carte de credit" : vous accordez un plafond au commercant, mais l'argent reste sur votre compte bancaire.

Q : Comment revoquer une signature Permit ?

Une signature Permit ne peut pas etre "revoquee" directement, mais il existe des methodes indirectes :

La cle de la securite Permit reside dans la prevention : verifier attentivement chaque signature Permit avant de signer.

Q : Le risque Approve est-il identique entre USDT et USDC ?

Globalement similaire, mais avec des differences de detail :

Q : Peut-on consulter tout l'historique des Approve passes d'un wallet ?

Oui :

Q : La revocation d'un Approve prend-elle effet immediatement ?

Oui. Une fois la transaction Revoke confirmee sur chaine, l'effet est immediat :

Q : Peut-on revoquer les autorisations de plusieurs wallets en une fois ?

Non. Chaque wallet est independant :

Utilisateurs multi-wallets : auditer chaque wallet separement chaque mois.

Sources des donnees

Avertissement sur les risques : cet article est une synthese independante par un tiers et ne constitue pas un conseil en investissement. L'Approve est un vecteur d'attaque DeFi majeur, l'audit periodique et la revocation sont des pratiques de securite de base. Toutes les donnees datent d'avril 2026.