Une récente attaque sur Ethereum a mis en lumière les dangers d'un module défaillant, tandis qu'un MEV bot, connu sous le nom de Yoink, a réussi à anticiper et à contrecarrer une autre exploitation ciblant un portefeuille Safe. Cet incident, survenu mardi, a été évalué par PeckShield à environ 7,81 millions de dollars.
Comprendre le fonctionnement des MEV Bots
Les MEV (Miner Extractable Value) bots, comme Yoink, agissent dans l’ombre des transactions, cherchant à profiter des défaillances dans le réseau. Lorsque Yoink a observé une transaction malveillante visant à exploiter un portefeuille Safe, il a exécuté sa propre transaction plus rapidement, réussissant ainsi à récupérer 2,900 rsETH avant que l’attaque initiale ne soit validée.
Les enregistrements on-chain montrent que 2,882,37 rsETH ont été transférés à l'adresse `0xC70f00CD7E461686b04B0E912E309becA8b80ea0`. À la suite de cette transaction, l'adresse a affiché un solde correspondant, prouvant ainsi que Yoink avait réussi à tirer parti de l'erreur d'autorisation dans le module du portefeuille.
Détails de l'attaque et des transactions
Dans le même bloc Ethereum, la transaction de Yoink a été positionnée en tête de file, tandis que celle de l'attaquant a échoué. À 12h38, heure de l'Est, le bloc 25980525 a enregistré ces deux transactions. La rapidité d'exécution de Yoink a été déterminante, car l'original a subi un revert, une annulation d’exécution due à des erreurs de programmation.
La transaction de Yoink a également impliqué l'envoi de 17,63 rsETH au gestionnaire de pool de Uniswap v4. Les frais accumulés ont permis de générer un transfert de 18,95 ETH vers le contrat de Yoink, qui a ensuite redirigé 18,93 ETH à un constructeur de blocs. Ce processus illustre la complexité des interactions entre les contrats intelligents sur Ethereum et la façon dont les bots peuvent interagir rapidement avec eux.
Analyse des failles de sécurité
La société BlockSec a identifié le problème principal à l'origine de cet exploit : un défaut dans la vérification des autorisations dans un contrat d'exécution associé à un module Safe. En raison de cette défaillance, des appels malveillants pouvaient être exécutés par un exécuteur de confiance, rendant le portefeuille vulnérable aux attaques.
Blockaid, de son côté, a précisé que l’attaquant a utilisé un multicall public pour manipuler un module de liquidité de Uniswap v4, dirigeant des fonds vers un pool qu'il avait lui-même créé. Dans ce pool, il a pu « unwrap » des aEthrsETH en rsETH, accumulant une richesse substantielle en jouant sur les failles du système.
Les mouvements ont entraîné la sortie d'environ 2,900 aEthrsETH dans un pool de Uniswap v4, échangé contre un token, le Permissionless Attacker Token, laissant le portefeuille Safe avec un NFT de position de liquidité, mais sans fonds disponibles pour contrer l’attaque.
Un regard sur la prévention et la sécurité future
Ce type d’incident rappelle l’importance des vérifications de sécurité rigoureuses avant l’implémentation des modules dans les contrats intelligents. Les utilisateurs et développeurs doivent s'assurer que chaque composant des systèmes décentralisés est minutieusement audité pour éviter d’autres exploits similaires à l’avenir.
En parallèle, les protocoles de protection, tels que la gestion des appels en attente et des ordres exécutés, doivent être continuellement mis à jour pour répondre aux nouvelles méthodes d’attaque qui émergent dans l’écosystème Ethereum. La vigilance demeure la clé dans un environnement aussi dynamique et potentiellement risqué que celui des cryptomonnaies.
Qu'est-ce qui a été exploité lors de l'incident avec Yoink ?
Un défaut d'autorisation dans un contrat d'exécution associé à un module Safe a été exploité, permettant à Yoink de contrecarrer une attaque.
Comment fonctionne un MEV bot ?
Les MEV bots observent les transactions en cours et exécutent des trades en priorité, profitant des vulnérabilités pour maximiser leurs gains.
Pourquoi est-il essentiel d'auditer les contrats intelligents ?
Les audits permettent d’identifier et de corriger les failles de sécurité, minimisant ainsi les risques d'exploits malveillants dans les protocoles décentralisés.