Constatum
Guides

Drainers EIP-7702 : la signature qui attend

Constatum Team6 min de lecture
Grille de blocs métalliques usinés identiques sur béton sombre, l'un soulevé laissant voir un fin canal orange en dessous

Le 14 octobre, un portefeuille portant le nom ENS sven.eth a perdu 9,12 ETH, environ 22 770 $, plus une petite poignée de jetons TAPEETH. Le propriétaire n'a envoyé aucune transaction. La société de sécurité ExVul, qui a signalé le vol sur X le jour même, l'a rattaché à une seule chose que le propriétaire avait faite à un moment antérieur : signer une autorisation EIP-7702. Comment l'attaquant a obtenu cette signature n'est pas public. Ce qui est public, c'est ce qu'il en a fait. Il l'a gardée, a attendu, puis l'a soumise lui-même et a payé le gas.

C'est tout le tour de passe-passe. C'est aussi ce qui distingue cette famille de drainers des arnaques aux approbations de jetons dont vous avez déjà entendu parler.

Ce que fait vraiment EIP-7702

Depuis la mise à niveau Pectra d'Ethereum, le 7 mai 2025, un portefeuille ordinaire peut emprunter le code d'un contrat intelligent. Vous signez une courte autorisation qui désigne l'adresse d'un contrat, elle part sur la chaîne dans une transaction de type 4 « set code », et à partir de là votre compte exécute le code de ce contrat chaque fois qu'il est appelé. Votre adresse ne change pas. Votre clé privée fonctionne toujours. La fonction existe pour de bonnes raisons : prise en charge du gas, regroupement de plusieurs actions en un clic, récupération de compte. MetaMask, Rabby et d'autres la proposent sous la forme d'un interrupteur « compte intelligent ».

Trois détails comptent pour votre sécurité.

L'autorisation est minuscule. Identifiant de chaîne, adresse du contrat, nonce, votre signature. Rien dedans ne dit ce que le contrat va faire.

N'importe qui peut la soumettre. L'autorisation signée peut voyager dans une transaction envoyée par l'attaquant, qui en paie les frais. Vous ne voyez jamais de transaction en attente dans votre portefeuille. Quand vous regardez, le solde est déjà parti.

Elle reste. Une fois posée, la délégation demeure sur votre compte jusqu'à ce que vous la remplaciez ou l'effaciez. Chaque jeton qui arrive ensuite à cette adresse passe d'abord par le code de l'attaquant.

Le balayeur qui attend

L'équipe de recherche de Wintermute a examiné les premières semaines de délégations 7702 en mai 2025 et constaté que plus de 97 % d'entre elles pointaient vers des copies d'un même contrat très court. Ils l'ont surnommé CrimeEnjoyor. Son travail est monotone : rester sur une adresse et transférer à l'attaquant tout ETH qui arrive. Ces premiers balayeurs étaient surtout greffés sur des portefeuilles dont les clés avaient déjà fuité, et Wintermute a noté que les attaquants avaient dépensé environ 2,88 ETH pour autoriser quelque 79 000 adresses, pour presque rien en retour.

L'argent est dans la version phishing. En août 2025, une personne a signé ce qui ressemblait à un swap Uniswap et a perdu 1,54 million de dollars en wstETH, cbBTC et NFT en un seul lot, selon Scam Sniffer. Un deuxième cas le même mois a coûté 1,00 million de dollars. Le rapport 2025 de Scam Sniffer a compté 83,85 millions de dollars de pertes par phishing pour 106 106 victimes sur l'année, et a relevé les signatures groupées 7702 comme un vecteur arrivé avec Pectra.

Une étude universitaire présentée à USENIX Security en août 2026 a consigné l'ampleur du phénomène. Des chercheurs de la HKUST et des universités de Nankai, Sun Yat-sen et Lingnan ont catalogué 924 contrats de délégation malveillants sur sept chaînes. Plus de 63 % de toutes les transactions d'autorisation 7702 de leur jeu de données étaient liées à des attaques contre des portefeuilles ordinaires, et près de la moitié des contrats les plus souvent autorisés étaient contrôlés par des attaquants. Ils ont compté plus de 2,3 millions de dollars de pertes confirmées et plus de 10 millions de comptes exposés.

Pendant ce temps, le tableau de bord de BundleBear affiche environ 67 millions de comptes intelligents, c'est-à-dire d'adresses avec une délégation en place, fin octobre. La plupart sont légitimes. De l'extérieur, impossible de savoir lesquelles.

Pourquoi « plus tard » est la partie dangereuse

Le cas sven.eth montre le schéma à l'échelle d'un particulier. Le code délégué contenait une adresse de contrôleur fixe. Ce contrôleur a appelé la fonction de réclamation de PodMining, a pris les récompenses en TAPEETH et a retiré les ETH. ExVul a confirmé qu'il n'y avait ni bug dans le protocole ni flash loan. Il n'y avait qu'une signature, utilisée au moment choisi par l'attaquant. Au bloc 26 188 153, la délégation était toujours active.

Deux choses rendent ce délai possible. L'autorisation porte le nonce de votre portefeuille, donc elle reste valable tant que vous n'envoyez pas vous-même de transaction. Un portefeuille que vous laissez tranquille pendant des semaines est précisément celui qui reste exploitable. Et le balayeur, une fois installé, n'est pas pressé. Il prend ce qui arrive ensuite.

Cette deuxième propriété a un effet secondaire cruel. Les victimes qui apprennent que leur portefeuille est délégué envoient souvent un peu d'ETH pour payer la réparation. Le balayeur le prend avant que la réparation ne soit soumise.

Comment vérifier votre propre portefeuille

Ouvrez votre adresse sur Etherscan. Un portefeuille ordinaire n'a pas de code. Un portefeuille délégué affiche un champ de code de 23 octets commençant par 0xef0100, suivi du contrat vers lequel il pointe. Si vous n'avez jamais activé de fonction de compte intelligent, vous avez votre réponse.

Revoke.cash a un onglet Delegations qui liste la même chose en langage clair. Il ne peut pas retirer la délégation à votre place, et aucun autre site non plus. La plupart des portefeuilles interdisent aux applications tierces de toucher à ce réglage, et c'est la bonne conception.

Le retrait se fait dans le portefeuille. Dans MetaMask, il se trouve sur l'écran des détails du compte sous la forme d'un interrupteur de compte intelligent, à désactiver réseau par réseau, même si le libellé change d'une version à l'autre. Rabby l'affiche à côté des approbations. Au niveau du protocole, la correction est une nouvelle autorisation pointant vers l'adresse zéro. Elle efface le pointeur de code, mais tout ce que le contrat de l'attaquant a écrit dans le stockage reste en place.

Quand l'effacer ne suffit pas

Si vous avez posé la délégation vous-même et que vous reconnaissez le contrat, laissez-la. Sinon, traitez le portefeuille comme compromis, pas comme mal configuré. Une délégation inconnue signifie que vous avez signé quelque chose que vous n'auriez pas dû, et le même kit de phishing peut vous le redemander demain. Déplacez ce qui reste vers une nouvelle phrase de récupération et mettez l'adresse au rebut. N'envoyez pas de gas à l'ancienne avant.

La même logique vaut dans l'autre sens quand l'adresse n'est pas la vôtre. Un portefeuille qui a été balayé a une forme reconnaissable sur la chaîne : des fonds qui arrivent et repartent presque aussitôt, toujours vers la même destination. Si quelqu'un que vous ne connaissez pas s'apprête à vous payer, ou si vous vous apprêtez à le payer, passez l'adresse par une vérification avant que l'argent ne bouge. Les adresses de collecte des drainers sont parmi les premières que les sociétés d'analyse étiquettent dès que les victimes les signalent, et une contrepartie dont les fonds transitent par l'une d'elles est un problème que vous préférez découvrir avant le virement plutôt qu'après.

Ce que l'invite de signature ne vous dit pas

Les portefeuilles matériels protègent la clé. Ils ne jugent pas si confier le code de votre compte à un inconnu est une bonne idée, et l'invite qui vous le demande est conçue pour ressembler à une réclamation ou à un swap de routine. Lisez deux fois toute demande qui mentionne délégation, autorisation, compte intelligent ou exécution groupée. Une action gratuite, sans gas ou sponsorisée sur un site inconnu est une raison de fermer l'onglet.

Gardez l'argent qui compte dans un portefeuille qui n'a jamais signé d'autorisation 7702 et ne visite jamais de dApps. Utilisez un hot wallet séparé pour le reste. C'est une vieille règle, et voici la toute dernière raison de la suivre.

Le propriétaire de sven.eth a perdu environ 22 000 $ à cause d'une signature dont personne ne se souvient. La vérification qui l'aurait détectée prend trente secondes et ne coûte rien.

Sources

  1. 1.EIP-7702: Set Code for EOAs — Ethereum Improvement Proposals
  2. 2.Prague-Electra (Pectra) upgrade — ethereum.org
  3. 3.Wintermute's 'CrimeEnjoyor' to flag Ethereum's wallet-draining contracts — Cointelegraph
  4. 4.Scam Sniffer 2025: Crypto Phishing Losses Fall 83% to $84 Million — Scam Sniffer
  5. 5.Revealing the Dark Side of Smart Accounts: An Empirical Study of EIP-7702 Incurred Risks in Blockchain Ecosystem — USENIX Security '26
  6. 6.EIP-7702 Metrics — BundleBear
  7. 7.Ethereum user loses $22K in EIP-7702 wallet attack — crypto.news
  8. 8.How to switch to or revert from a smart account in MetaMask — MetaMask Support

Cet article est une information générale, et non un conseil juridique, fiscal, financier ou d'investissement. La crypto comporte des risques : faites vos propres recherches et consultez un professionnel qualifié avant d'agir. Constatum ne garantit ni l'exactitude ni l'exhaustivité et décline toute responsabilité quant aux décisions prises sur cette base.

Cet article a été traduit à l'aide d'une IA et peut contenir des inexactitudes. La version anglaise fait foi.

À lire ensuite