← Retour au blog

Résoudre une attaque d'empoisonnement : comment cela fonctionne et comment l'arrêter

Par Al Jobson · 10 minutes de lecture · septembre 2026

Address poisoning attack surface across wallets

Le 3 mai 2024, un seul portefeuille Ethereum a envoyé 1 155 WBTC, d'une valeur de 68 millions de dollars à l'époque, à un attaquant dans le cadre d'une attaque par empoisonnement d'adresse de manuel[1]. La victime venait de déplacer les mêmes fonds entre deux de ses propres portefeuilles. L'attaquant a observé la transaction, a généré une adresse personnalisée dont les six premiers et derniers caractères correspondaient au destinataire prévu, a envoyé un transfert de 0 $ à partir de celle-ci pour apparaître dans l'historique de l'expéditeur et a attendu. Le transfert suivant a copié la mauvaise adresse hors de l'historique. Les fonds ont disparu en un clic. Voici comment fonctionne l'attaque, pourquoi l'interface utilisateur la fait fonctionner et ce qui aide réellement en 2026.

Le mécanicien, en une page

Une adresse Ethereum comporte 42 caractères : 0x plus 40 caractères hexadécimaux. Aucune interface utilisateur de portefeuille n'affiche les 40. MetaMask, Trust Wallet, Rabby, Etherscan et chaque explorateur mobile tronqué en 0xABCD…1234 ou similaire. Ce raccourcissement est la vulnérabilité. Si un attaquant génère une clé privée dont l'adresse correspond aux 4 à 8 premiers caractères hexadécimaux et aux 4 à 8 derniers caractères hexadécimaux de votre cible, les deux adresses semblent identiques dans chaque interface utilisateur de portefeuille livrée aujourd'hui[2].

La génération d'une adresse personnalisée correspondant à un préfixe de 8 hexadécimaux et à un suffixe de 8 hexadécimaux prend environ 2 ^ 64 générations de paires de clés à courbe elliptique. Infaisable sur un ordinateur portable, trivial sur un rack de GPU. Halborn a estimé le coût à des centaines de dollars pour un match 8+8 ; Les outils de type grossièreté produisent 6+6 en quelques minutes[3]. L'économie fonctionne à ce prix-là, car un coup réussi rembourse toute la batterie de GPU.

Une fois que l'attaquant a l'adresse personnalisée, il insère une transaction dans l'historique de la victime. Three variants:

Pre-sign risk lab: transaction simulation before signing

Scale, 2023 to 2025

Résoudre les intoxications est un problème à volume élevé et à faible taux de réussite. Bitrace et PeckShield ont répertorié plus de 270 000 expéditeurs d'empoisonnement uniques sur Tron uniquement fin 2024[5]. Cyvers estime les pertes EVM cumulées à 83 millions de dollars entre 2022 et 2024, avec une longue traîne de victimes individuelles de 1 000 à 5 000 dollars et un petit nombre de très grandes victimes[6].

Date Chaîne Montant Remarques
Mai 2024Ethereum1 155 WBTC ≈ 68 millions de dollarsL'attaquant a restitué les fonds après négociation[1]
janvier 2024Arbitrum4,7 millions de dollarsUSDC pour sosie, PeckShield alerte[7]
Décembre 2023Ethereum1,7 M$Chainalysis chronologie[8]
Septembre 2024Ethereum32 millions de dollarsVictime institutionnelle, valeur 0 ERC-20 variante
T1 2025Tron1,8 million de dollars / mois en moyenneBitrace trimestriel rapport[5]

Deux modèles apparaissent dans les données. Premièrement, l’attaque est indépendante de la chaîne. EVM, Tron et Solana ont chacun leur propre variante car chacun a une interface utilisateur à adresse tronquée. Deuxièmement, les pertes au détail sont faibles par victime et élevées par attaquant, exactement le profil qui finance les opérations industrialisées.

Pourquoi l'interface utilisateur est la vulnérabilité

La primitive technique, une adresse de 40 hexadécimaux, n'est pas le problème. Le problème est de savoir ce que les interfaces utilisateur du portefeuille en ont fait. Trois raccourcis UX, chacun individuellement raisonnable, se combinent en une classe d'attaque :

  1. Affichage tronqué. Les utilisateurs lisent les premiers et derniers caractères, jamais le milieu. La génération d'adresses personnalisées annule la correspondance préfixe+suffixe, et non la correspondance de chaîne complète.
  2. Historique des transactions comme carnet d'adresses. La manière la plus courante pour les utilisateurs de détail de sélectionner un destinataire est de faire défiler l'historique des transactions et d'appuyer sur. L'historique inclut tout ce qui se trouve sur la chaîne, pas seulement ce que l'utilisateur a choisi.
  3. Événements de valeur nulle traités comme d'habitude. Les explorateurs et les portefeuilles affichent chaque événement de transfert émis sans distinguer « valeur transférée » de « événement déclenché ». Les attaquants exploitent cela pour faire ressembler les transactions hostiles à des transactions amicales historiques.

Le correctif est sur le client. Chaque atténuation technique ci-dessous ferme l'un de ces trois raccourcis.

Des défenses qui fonctionnent réellement

Défense Ce que cela corrige Effort
Carnet d'adressesNe jamais copier depuis l'historiqueDiscipline de l'utilisateur, sauvegarde unique
Noms ENS/SNSDestinataire lisible par l'hommeL'expéditeur et le destinataire ont tous deux besoin il[9]
Confirmation de l'adresse complèteAttaque par troncatureFonction portefeuille : afficher les 42 caractères lors de l'envoi
Filtrage des émissions à valeur nulleHistorique empoisonnéFonction de portefeuille : masquer les entrées de valeur nulle
Filtrage des jetons anti-spamFausse variante USDT/USDCFonction portefeuille : liste de jetons vérifiés
Avertissement de sosieDestinataire similaire à une utilisation antérieureFonction portefeuille : Levenshtein / préfixe-suffixe check
Drapeau du premier destinataireNouvelle adresse de l'attaquantFonction portefeuille : blocage définitif ou avertissement
Simulation de transactionAffiche le transfert réel + le destinataireBlockaid, Rabby, Wallet Garde[10]

Portefeuille par portefeuille, où les atténuations sont expédiées

Portefeuille Carnet d'adresses Filtre de valeur 0 Avertissement sosie indicateur de 1ère fois
MetaMaskOui (Contacts)Partiel (2024 mise à jour)[11]Pas de natifNon
RabbyOui (Liste blanche)OuiOuiOui[12]
Trust WalletOuiPartielNonBannière d’avertissement
PhantomOuiOui (spam Solana filtre)[13]NonAvertissement
Ledger LiveOuiNonNonNon
Portefeuille CoinbaseOuiOuiOuiOui
VEYRNOXOuiOui (par défaut)Oui (Levenshtein + préfixe-suffixe)Avertissement brutal sur un destinataire inconnu

Le modèle est clair. Les portefeuilles qui traitent l’écran d’envoi comme une surface de sécurité (Rabby, Coinbase Wallet, VEYRNOX) offrent de véritables défenses. Les portefeuilles qui héritent de leur vue historique directement d'un explorateur de chaîne expédient la surface d'attaque avec.

Conseils pratiques pour les utilisateurs individuels

Ce que l'industrie doit encore corriger

Les explorateurs devraient cesser de rendre les événements de valeur nulle identiques aux transferts réels. Le passage de filtrage d'Etherscan pour 2024 a aidé, mais n'a pas clôturé la variante de l'événement ERC-20. Les portefeuilles devraient par défaut masquer les transactions entrantes de valeur nulle au lieu d’en faire un paramètre. Chaque écran d'envoi doit afficher l'adresse complète du destinataire et signaler les nouveaux destinataires au-dessus d'un seuil de valeur. Rien de tout cela n’est techniquement difficile. Chaque équipe SDK de portefeuille est au courant de l'attaque depuis au moins la variante SafeMoon en 2022[14].

Des réponses au niveau de la chaîne ont été proposées (adresses spécifiques à la chaîne EIP-3770, URI de demande de paiement et abstraction de compte avec listes autorisées côté signataire[15]), mais l'adoption est lente. La défense fiable en 2026 est côté client : utilisez un portefeuille qui expédie les atténuations et ne faites jamais confiance à une adresse que vous avez copiée sur un écran sans lire chaque caractère.

Résultat

L'empoisonnement d'adresse n'est pas un échec cryptographique. Il s’agit d’un échec UX dont l’industrie est au courant depuis quatre ans et qui a fourni des mesures d’atténuation de manière inégale. Un transfert de 0 $, un affichage tronqué et une adresse copiée sont tout ce qui sépare un portefeuille d’une perte totale. Le correctif est ennuyeux : carnet d'adresses, vérification de l'adresse complète, avertissement du premier destinataire, simulation de transaction. Chacun d’entre eux existe aujourd’hui dans les portefeuilles de production. Utilisez un portefeuille qui les expédie et arrêtez de copier les adresses de votre historique.

Adressage de la sécurité dans VEYRNOX

VEYRNOX filtre par défaut les événements entrants de valeur nulle, marque les destinataires dont le préfixe ou le suffixe correspond à une adresse précédemment utilisée et exige une confirmation supplémentaire pour les nouveaux destinataires au-dessus d'un seuil défini par l'utilisateur. Téléchargez ou lisez le modèle de sécurité.

Lecture connexe

Sources

  1. CertiK, "68 millions de dollars d'empoisonnement d'adresse WBTC post-mortem." certik.com
  2. Chainalysis, "Résoudre l'empoisonnement expliqué." chainalysis.com
  3. Halborn, "Coût de génération d'adresses personnalisées." halborn.com
  4. SlowMist, "Technique d'empoisonnement à transfert de valeur nulle." slowmist.medium.com
  5. Bitrace, "Rapport d'empoisonnement au Tron 2024." bitrace.io
  6. Cyvers, «Rétrospective sur les empoisonnements 2022-2024». cyvers.ai
  7. Flux d'alerte PeckShield, Twitter/X. x.com/peckshieldalert
  8. Chainalysis, « Chronologie de la criminalité cryptographique 2024 ». chainalysis.com
  9. ENSDocumentation. docs.ens.domains
  10. Blockaid, simulation de transactions. blockaid.io
  11. MetaMask, "Atténuations d'empoisonnement d'adresse." support.metamask.io
  12. Avertissements Rabby, liste blanche et premier destinataire. rabby.io
  13. Phantom, "Filtrage des jetons anti-spam Solana." phantom.com
  14. Elliptic, "Variante d'empoisonnement d'adresse SafeMoon." elliptic.co
  15. EIP-3770, adresses spécifiques à la chaîne. eips.ethereum.org
  16. Etherscan, "Politique d'affichage de transfert de valeur nulle." info.etherscan.com
  17. Coinbase Wallet, fonctionnalités de sécurité. help.coinbase.com
  18. Trail of Bits, "Modèle de menace d'empoisonnement d'adresse." blog.trailofbits.com
  19. Trust Wallet, documents de vérification d'adresse. community.trustwallet.com
  20. Cointelegraph, couverture du dossier WBTC de 68 millions de dollars. cointelegraph.com
  21. ScamSniffer, outil de suivi des empoisonnements d'adresses. x.com/realScamSniffer
  22. Web3 Antivirus, notation des risques du portefeuille. web3antivirus.io

Al Socrates Jobson, co-fondateur et directeur technique, Veyrnox LTD · ← Retour au blog