Pertes dépassant 26 millions de dollars, analyse de l'incident de sécurité du Truebit Protocol et suivi des flux de fonds volés

marsbitPublié le 2026-01-09Dernière mise à jour le 2026-01-09

Résumé

Le protocole Truebit a subi une attaque le 9 janvier, entraînant une perte de 8 535,36 ETH (environ 26,4 millions de dollars). L’attaque a exploité un contrat non open source déployé il y a cinq ans. L’analyse de Beosin révèle que l’attaquant a utilisé une fonction non documentée (0xa0296215) avec une valeur msg.value minime, profitant d’une faille de type dépassement arithmétique pour frapper massivement des jetons TRU. Ensuite, l’attaquant les a revendus au contrat via la fonction burn, drainant ainsi les réserves d’ETH. Les fonds volés, soit 8 535,36 ETH, ont été majoritairement transférés vers deux adresses : 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 (4 267,09 ETH) et 0x273589ca3713e7becf42069f9fb3f0c164ce850a (4 001 ETH). Le reste (267,71 ETH) se trouve toujours sur l’adresse de l’attaquant. Aucun autre mouvement n’a été observé pour le moment. Beosin recommande aux projets utilisant des anciens contrats non audités de les mettre à jour, d’ajouter des mécanismes de pause d’urgence et de réaliser des audits de sécurité rigoureux.

Auteur : Beosin

Le 9 janvier à l'aube, un contrat non open source déployé il y a 5 ans par Truebit Protocol a été attaqué, entraînant une perte de 8 535,36 ETH (d'une valeur d'environ 26,4 millions de dollars). L'équipe de sécurité de Beosin a réalisé une analyse de la vulnérabilité et du suivi des fonds pour cet incident de sécurité, et partage les résultats ci-dessous :

Analyse de la méthode d'attaque

Pour cet incident, nous prenons comme principale analyse la transaction d'attaque suivante, dont le hash est : 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. L'attaquant appelle getPurchasePrice() pour obtenir le prix

2. Il appelle ensuite la fonction défectueuse 0xa0296215(), en définissant une valeur msg.value extrêmement faible

Le contrat n'étant pas open source, le code décompilé suggère que cette fonction présente une vulnérabilité de logique arithmétique, comme un problème de troncature d'entier, permettant à l'attaquant de frapper avec succès un grand nombre de jetons TRU.

3. L'attaquant utilise la fonction burn pour « revendre » les jetons frappés au contrat, extrayant ainsi une grande quantité d'ETH des réserves du contrat.

Ce processus est répété 4 fois, la valeur de msg.value augmentant à chaque fois, jusqu'à ce que presque tout l'ETH du contrat soit extrait.

Suivi des fonds volés

Sur la base des données de transaction on-chain, Beosin a effectué un suivi détaillé des fonds via sa plateforme d'enquête et de suivi blockchain BeosinTrace, et partage les résultats ci-dessous :

Actuellement, les 8 535,36 ETH volés ont été transférés et la grande majorité est détenue sur les adresses 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 et 0x273589ca3713e7becf42069f9fb3f0c164ce850a.

L'adresse 0xd12f détient 4 267,09 ETH, et l'adresse 0x2735 détient 4 001 ETH. L'adresse à partir de laquelle l'attaquant a lancé l'attaque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) détient encore 267,71 ETH. Aucun transfert supplémentaire n'a été observé depuis ces trois adresses pour le moment.

Diagramme du flux des fonds volés par Beosin Trace

Toutes ces adresses ont été marquées comme adresses à haut risque par Beosin KYT, prenons l'exemple de l'adresse de l'attaquant :

Beosin KYT

Conclusion

Les fonds volés concernent un contrat intelligent non open source déployé il y a 5 ans. Pour ce type de contrat, les projets devraient procéder à une mise à niveau du contrat, en introduisant une fonction d'arrêt d'urgence, des limites de paramètres et les nouvelles fonctionnalités de sécurité de Solidity. De plus, l'audit de sécurité reste une étape essentielle pour les contrats. Grâce à un audit de sécurité, les entreprises Web3 peuvent détecter de manière aussi complète que possible le code des contrats intelligents, identifier et corriger les vulnérabilités potentielles, et améliorer la sécurité des contrats.

*Beosin fournira le rapport complet de l'analyse de tous les flux de fonds et des risques liés aux adresses pour cet incident. N'hésitez pas à le demander via l'e-mail officiel [email protected].

Questions liées

QQuel est le montant total des pertes subies par Truebit Protocol lors de cet incident de sécurité ?

ATruebit Protocol a subi des pertes de 8 535,36 ETH, d'une valeur d'environ 26,4 millions de dollars.

QQuelle est la fonction vulnérable qui a permis à l'attaquant de frapper un grand nombre de jetons TRU ?

ALa fonction vulnérable est la fonction non open-source 0xa0296215(), qui présentait une faille de logique arithmétique, probablement un problème de troncature d'entier.

QQuelles sont les deux principales adresses où la majorité des fonds volés ont été stockés ?

ALa majorité des fonds volés sont stockés sur les adresses 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 (4 267,09 ETH) et 0x273589ca3713e7becf42069f9fb3f0c164ce850a (4 001 ETH).

QQuel outil Beosin a-t-il utilisé pour effectuer le suivi détaillé des fonds sur la blockchain ?

ABeosin a utilisé sa plateforme d'enquête et de suivi sur la blockchain, BeosinTrace, pour effectuer le suivi détaillé des fonds.

QQuelles mesures les projets sont-ils invités à prendre pour améliorer la sécurité de leurs contrats après cet incident ?

ALes projets sont invités à mettre à niveau leurs contrats pour inclure une fonction d'arrêt d'urgence, des limites de paramètres et les nouvelles fonctionnalités de sécurité de Solidity. Un audit de sécurité est également fortement recommandé.

Lectures associées

Trading

Spot
Futures
活动图片