Le protocole Truebit piraté pour 8 535,36 ETH en raison d'une vulnérabilité de débordement d'entier

iconBlockbeats
Partager
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRésumé

expand icon
Actualités sur l'ETH : Le 8 janvier 2026, le protocole Truebit a été piraté, entraînant le vol de 8 535,36 ETH (environ 26,44 millions de dollars). L'attaque a exploité un débordement d'entier (integer overflow) dans Solidity ^0,6.10, plus précisément dans la fonction getPurchasePrice. ExVul Security a confirmé que l'attaquant avait utilisé une boucle de transactions en quatre étapes pour émettre et brûler des jetons TRU, vidant ainsi l'ETH du protocole. Cet incident illustre les risques liés à l'utilisation de contrats intelligents obsolètes. Mise à jour sur l'ETH : Les outils d'intelligence artificielle sont de plus en plus utilisés pour détecter les vulnérabilités dans les projets DeFi plus anciens.
Titre original : « Analyse de la faille de contrat ayant conduit au vol de 26,44 millions de dollars dans le protocole Truebit »
Source originale : ExVul Security


Le 8 janvier 2026, le protocole Truebit Protocol a été piraté, entraînant une perte de 8 535,36 ETH (environ 26,44 millions de dollars américains). L'équipe officielle de Truebit Protocol a confirmé cet incident dans un communiqué publié le lendemain matin. L'équipe de sécurité ExVul a mené une analyse approfondie de cette attaque, et les résultats de l'analyse sont les suivants :


Processus d'attaque


Adresse de l'attaquant :


0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50


Hash de la transaction d'attaque :


0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014


L'attaquant a mené l'attaque en effectuant une transaction qui appelle successivement quatre fois getPurchasePrice→0xa0296215→0xc471b10b. Prenons le premier cycle comme exemple pour l'analyser.


1. L'attaquant appelle d'abord la fonction getPurchasePrice(240442509453545333947284131), qui retourne 0.


2. L'attaquant appelle la fonction 0xa0296215(c6e3ae8e2cbab1298abaa3) avec un msg.value de 0. Finalement, il réussit à frapper 240442509453545333947284131 jetons TRU.



3. L'attaquant appelle la fonction 0xc471b10b(c6e3ae8e2cbab1298abaa3). Enfin, 240442509453545333947284131 jetons TRU sont détruits, et 5105,06 ETH sont obtenus.


Analyse de la logique d'attaque


En comprenant le processus d'attaque mentionné ci-dessus, il devient évident qu'il existe un problème logique dans les fonctions `getPurchasePrice` et `0xa0296215`. Nous allons maintenant procéder à une analyse approfondie (puisque le contrat n'est pas open source, le code utilisé ci-dessous provient d'un décompilateur).



En comparant les points communs entre les deux fonctions, nous pouvons constater que la fonction 0x1446 est utilisée pour calculer la quantité d'ETH nécessaire pour acheter un certain nombre de TRU. Il est évident que la logique de la fonction 0x1446 comporte un problème, ce qui entraîne une erreur dans le calcul de l'ETH. Nous allons maintenant analyser en détail la logique de la fonction 0x1446.



Analysez la logique de la fonction 0x1446, car le résultat final v13 est égal à 0, il est donc certain qu'il y a un problème dans la logique de calcul ci-dessus. Il convient de noter que la fonction 0x18ef est identique à _SafeMul, donc le problème réside dans l'utilisation de l'addition native v12 + v9 (la version du contrat est ^0.6.10, donc sans vérification de débordement).


v12 et v9 signifient respectivement :



D'après l'analyse ci-dessus, la stratégie d'attaque de l'attaquant consiste à entrer une valeur _amountIn extrêmement grande, ce qui fait déborder v12 + v9 en une valeur très petite, et finalement rend (v12 + v9) / v6 égal à 0.


Résumé


La cause fondamentale de l'attaque subie par le protocole Truebit réside dans un grave bug de débordement d'entier (integer overflow) dans la logique de calcul du prix d'achat du jeton. En raison de l'utilisation de la version Solidity ^0.6.10 par le contrat et de l'absence de vérifications de sécurité pour les opérations arithmétiques critiques, cela a entraîné une perte importante de 8 535,36 ETH. Actuellement, les nouvelles versions de Solidity incluent des protections intégrées contre les débordements d'entier. Cette attaque a probablement été découverte par un pirate informatique utilisant l'intelligence artificielle pour scanner automatiquement certaines anciennes protocoles DeFi déployés (comme récemment Balancer et yETH). Nous pensons que ce type d'attaque, utilisant l'IA pour cibler des protocoles DeFi obsolètes, va s'accroître dans les prochaines semaines. Nous recommandons donc aux équipes de projets de réaliser de nouvelles audits de sécurité de leurs contrats intelligents. En cas de découverte de vulnérabilités, il est essentiel de procéder rapidement à la mise à jour des contrats ou au transfert d'actifs, tout en mettant en place un suivi actif de la chaîne de blocs afin de détecter les anomalies au plus tôt et d'atténuer ainsi les pertes.


Cet article est un article invité et ne représente pas le point de vue de BlockBeats.


Cliquez ici pour en savoir plus sur les postes à pourvoir chez BlockBeats.


Rejoignez la communauté officielle de Lüdòng BlockBeats :

Groupe d'abonnement Telegram :https://t.me/theblockbeats

Groupe de discussion Telegram :https://t.me/BlockBeats_App

Compte officiel Twitter :https://twitter.com/BlockBeatsAsia

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.