Phishing d'approbation de tokens : le videur de wallet silencieux
Le phishing d'approbation vide un wallet sans jamais toucher à la seed phrase. Vous signez une autorisation, et plus tard l'attaquant déplace vos tokens. Voici comment cela fonctionne et comment s'en défendre.
Approfondissez avec l'IA
Cliquez → prompt copié → collez dans le chat IA
Le phishing d'approbation vide un wallet sans jamais toucher à la seed phrase. Lorsque vous "approuvez" (approve) un token pour un smart contract, vous accordez à ce contrat la permission de déplacer ces tokens en votre nom. Les escrocs vous poussent à approuver un contrat malveillant, puis font sortir tout plus tard, au moment de leur choix. Votre phrase de récupération n'est jamais exposée : le vol est une autorisation que vous avez signée vous-même.
C'est la réponse courte. Le reste de cette page explique la mécanique derrière cette autorisation, pourquoi certaines approbations semblent totalement inoffensives et comment fermer la porte.
Pourquoi une approbation n'est pas un transfert
Sur Ethereum et toute chaîne EVM, les tokens ERC-20 ne se trouvent pas "dans" votre wallet comme des espèces dans une poche. Les soldes vivent à l'intérieur du contrat du token, associés à votre adresse. Pour permettre à une dApp — un DEX, un marché de prêt, une page de mint — de déplacer vos tokens, vous envoyez une transaction approve qui fixe une allowance : le montant que le contrat dépensier est autorisé à prélever chez vous.
C'est normal et nécessaire. Uniswap ne peut pas échanger votre USDC tant que vous ne l'avez pas approuvé. Le problème est que l'allowance persiste après l'échange. Elle reste active jusqu'à ce que vous la révoquiez ou l'épuisiez. Et si le dépensier est malveillant, l'allowance est un droit de retrait permanent sur votre solde.
Pour les NFT, l'équivalent est setApprovalForAll. Au lieu d'un montant, il bascule un booléen qui accorde à un contrat la permission de déplacer chaque NFT que vous détenez dans cette collection — présent et futur. Une signature, toute la collection.
Approbations illimitées et signatures sans gas
Deux commodités de conception rendent cela bien plus dangereux que nécessaire.
La première est l'approbation illimitée. Pour éviter de payer du gas pour une nouvelle approbation avant chaque échange, la plupart des dApps demandent par défaut 2^256 - 1 — une allowance quasi infinie. Pratique, et aussi un chèque en blanc. Si ce dépensier est un jour compromis ou était malveillant dès le départ, il peut vider tout le solde de ce token, pas seulement le montant que vous vouliez échanger.
La seconde est Permit et Permit2. Elles permettent d'approuver des tokens en signant un message hors chaîne au lieu d'envoyer une transaction sur la chaîne — une approbation sans gas. C'est précisément ce qui les rend dangereuses. Un site malveillant présente ce qui ressemble à un inoffensif "signez pour continuer" ou "signez pour vous connecter". Aucun frais de gas, aucun transfert visible, rien qui crie "transaction". Mais cette signature est une autorisation valide et réutilisable qui permet au contrat de l'attaquant de prélever vos tokens plus tard. De nombreux kits de drainer entament aujourd'hui l'attaque par des signatures Permit2 pour exactement cette raison.
Comment l'arnaque vous atteint
Le contrat n'est que la moitié de l'affaire. L'attaquant doit encore vous placer devant la fenêtre d'approbation en vous faisant croire qu'elle est légitime. Les méthodes de diffusion courantes :
- Faux sites de mint — un "drop limité" avec compte à rebours, où le bouton de mint demande en réalité
setApprovalForAllou une signature Permit. - Faux claims d'airdrop — "vous êtes éligible, connectez-vous et réclamez", où réclamer approuve un drainer.
- dApps clonées — une copie au pixel près d'un vrai exchange ou pont sur un domaine trompeusement similaire, souvent poussée via des publicités ou un Discord piraté.
- Fenêtres de "validation de wallet" — un pop-up affirmant que votre wallet doit être "vérifié", "synchronisé" ou "revalidé", ce qui n'est qu'une approbation déguisée.
Le fil conducteur est l'urgence plus une demande de signature. Voir les clones de sites de phishing pour comprendre comment le front-end est falsifié, et les kits de drainer de wallet pour l'industrie derrière le back-end.
Ce que chaque signature accorde réellement
| Type de signature / approbation | Ce qu'elle accorde | Risque |
|---|---|---|
ERC-20 approve (limitée) | Le dépensier peut prélever jusqu'à un montant fixé d'un token | Plafonné à ce montant |
ERC-20 approve (illimitée) | Le dépensier peut prélever tout le solde d'un token, indéfiniment | Perte totale de ce token |
| Signature Permit / Permit2 | Approbation hors chaîne, sans gas — même pouvoir que approve, souvent illimitée | Élevé : ressemble à une signature inoffensive |
setApprovalForAll (NFT) | Le dépensier peut déplacer chaque NFT d'une collection, maintenant et à l'avenir | Perte totale de cette collection |
| Transaction de transfert simple | Déplace un montant précis une fois | Vous voyez exactement ce qui sort |
Le schéma : plus une demande masque ce qu'elle autorise — pas de montant, pas de transfert visible, pas de gas — plus elle mérite la méfiance.
Comment s'en défendre
- Lisez ce que vous signez. Les wallets modernes décodent les approbations et les messages Permit. Si une fenêtre affiche
setApprovalForAll, un montant illimité ou un dépensier que vous ne reconnaissez pas, arrêtez-vous. - Préférez les approbations limitées. Quand une dApp permet de fixer une allowance personnalisée, n'approuvez que ce dont l'échange a besoin. Cela coûte un peu plus de gas à la longue et supprime le chèque en blanc.
- Utilisez un outil de révocation d'approbations. Les services de cette catégorie — revoke.cash et les vérificateurs d'approbations de tokens des explorateurs de blocs (par exemple celui d'Etherscan) — listent chaque allowance accordée par votre adresse et vous permettent de les révoquer.
- Révoquez périodiquement les approbations obsolètes. Les approbations de dApps que vous n'utilisez plus sont un pur risque permanent. Effacez-les.
- Mintez depuis un hot wallet séparé. Gardez un wallet au petit solde pour minter et réclamer. S'il approuve quelque chose de mauvais, la perte est bornée. Ne mintez jamais depuis le wallet qui détient vos fonds principaux.
Les limites honnêtes
Révoquer n'est pas gratuit. Chaque révocation est une transaction sur la chaîne et coûte du gas, c'est pourquoi les gens laissent les approbations s'accumuler.
Plus important encore, cela ne protège que contre un vol futur. Si un drainer a déjà prélevé vos tokens, révoquer ne sert à rien : un transfert exécuté est irréversible. La fenêtre pour agir se situe avant que l'attaquant ne déclenche le prélèvement, pas après.
Et un point qui surprend : un wallet matériel n'empêche pas cela. Les wallets matériels protègent la clé privée contre l'extraction. Ils ne vous empêchent pas de signer une approbation malveillante, car vous la signez volontairement. L'appareil affiche la fenêtre, vous la confirmez. La seule défense est de comprendre ce que la fenêtre autorise — ce qui est aussi la dernière ligne de défense pour la sécurité de votre seed phrase.
FAQ
Le phishing d'approbation peut-il voler mes cryptos sans ma seed phrase ? Oui. C'est tout le mécanisme. Vous ne révélez jamais la phrase. Vous signez une approbation ou un message Permit qui accorde à un contrat la permission de déplacer vos tokens, et l'attaquant utilise cette permission plus tard. La seed phrase reste privée tout du long.
Qu'est-ce qu'une approbation illimitée ? Une allowance fixée à la valeur maximale possible, de sorte que le contrat dépensier peut déplacer tout votre solde de ce token, à répétition, sans plafond ni expiration. De nombreuses dApps la demandent par défaut pour vous épargner du gas — mais c'est un chèque en blanc si le dépensier s'avère malveillant.
Les signatures Permit sans gas sont-elles dangereuses ? Elles peuvent l'être. Une signature Permit ou Permit2 porte la même autorité qu'une approbation sur la chaîne, mais arrive sous forme d'une simple fenêtre "signez ce message" sans frais de gas, elle paraît donc inoffensive. Traitez toute demande de signature qui mentionne un token, un dépensier ou un Permit aussi sérieusement qu'une transaction.
Comment révoquer des approbations de tokens ? Connectez votre wallet à un outil de révocation d'approbations comme revoke.cash, ou utilisez le vérificateur d'approbations de tokens de votre explorateur de blocs (par exemple sur Etherscan). Passez en revue la liste des allowances accordées par votre adresse et révoquez tout ce qui est illimité, inconnu ou appartient à une dApp que vous n'utilisez plus. Chaque révocation coûte du gas.
À lire aussi
Kits de drainage de wallet : l'économie du scam-as-a-service
Un draineur de wallet est un code malveillant vendu sous forme de kit prêt à l'emploi qui vide votre wallet dès que vous signez une transaction piégée. Voici comment fonctionne ce business et comment s'en défendre.
Faux airdrops : comment les repérer
Un faux airdrop fait miroiter des jetons gratuits pour vous attirer sur un site qui vide votre portefeuille — via une approbation malveillante, des frais payés d'avance ou un jeton frauduleux empoisonné déjà présent sur votre adresse. Voici comment fonctionne chaque variante et comment rester à l'abri.
Portefeuilles froids et chauds : quand chacun a du sens
Un portefeuille chaud est en ligne et pratique ; un portefeuille froid garde les clés hors ligne et en sécurité. La vraie décision consiste à adapter votre exposition à la fréquence réelle de vos accès.