ActualitésCryptoLe post-mortem de MANTRA attribue l'exploit de 3,6 M$ à un bug d'entier dans le module cosmos/evm

Le post-mortem de MANTRA attribue l'exploit de 3,6 M$ à un bug d'entier dans le module cosmos/evm

Auteur: Cryptopolitan·

Points clés

  • Un attaquant a drainé environ 720,9 millions de tokens MANTRA, d'une valeur d'environ 3,6 millions de dollars, lors de l'incident des 20-21 août.
  • L'exploit provenait d'un défaut de dépassement d'entier (integer underflow) dans le module partagé cosmos/evm, qui ne vérifiait pas les soldes des comptes avant d'y effectuer des soustractions.
  • L'attaquant a utilisé un contrat déployé sans permission et un portefeuille autofinancé, sans avoir besoin d'accès privilégié, et aucune clé de validateur ni contrôle de gouvernance n'a été compromis.
  • L'équipe de MANTRA n'a pas détecté les transactions frauduleuses pendant les quatre premières heures, faute de surveillance continue de l'adresse de burn.
  • Les autorités judiciaires sont impliquées, le réseau est resté arrêté 30 heures et 13 minutes avant un redémarrage sur la version corrigée v8.4.0, et le portefeuille de l'attaquant contenait encore 37,96 millions de tokens au moment de l'arrêt.
Le post-mortem de MANTRA attribue l'exploit de 3,6 M$ à un bug d'entier dans le module cosmos/evm

MANTRA Chain s'est gardé de s'engager sur un plan de récupération des fonds dans le rapport post-mortem complet qu'elle a publié le 28 août. La publication présente plutôt un récapitulatif formel de l'incident des 20-21 août, au cours duquel un attaquant a drainé environ 720,9 millions de MANTRA, d'une valeur d'environ 3,6 millions de dollars, sur le projet.

Cette divulgation a officiellement attribué une valeur en dollars à cette attaque vieille d'une semaine, que le projet affirme être due à un défaut de code sans lien direct avec son propre code. MANTRA a confirmé que les autorités judiciaires sont désormais impliquées et que des mises à jour sont en attente concernant les efforts de récupération des fonds. Le projet a également indiqué qu'il mettrait à jour ses chiffres de circulation dès qu'il aurait une vision plus claire des tokens bloqués dans les portefeuilles des pirates et des possibilités de récupération.

Qu'est-ce qui a causé l'exploit de MANTRA ?

Selon le post-mortem de MANTRA Chain, l'exploit trouve son origine dans le module partagé cosmos/evm que la chaîne utilise pour exécuter des contrats de type Ethereum au-dessus du Cosmos SDK.

La version concernée ne vérifiait pas qu'un compte pouvait couvrir un appel avant d'approuver des soustractions sur le solde de ce compte. Les soustractions ont continué de passer car le code utilisait des entiers non signés, qui ne peuvent pas descendre en dessous de zéro. Au lieu de cela, la valeur a « bouclé » (wraparound) pour devenir un nombre gigantesque.

Ce mode de défaillance, connu sous le nom de dépassement d'entier par valeur inférieure (integer underflow) ou wraparound, est une classe de bugs reconnue de longue date dans le code blockchain. Dans l'écosystème Ethereum, un dépassement arithmétique similaire dans le contrat ERC-20 du token Beauty Chain (BEC) en 2018 avait permis à un attaquant de générer d'énormes soldes de tokens, et de tels incidents ont été l'une des principales motivations de l'arithmétique vérifiée (checked arithmetic) que Solidity 0.8+ active par défaut. Le cas de MANTRA montre que cette même classe de défaut peut surgir dans les modules d'interopérabilité que les chaînes basées sur le Cosmos SDK utilisent pour interagir avec des contrats de type Ethereum.

MANTRA a précisé qu'aucune de ses clés de validateur, de ses contrôles de gouvernance ou de ses signataires multisig n'a été compromise, et a insisté sur le fait que la faille exploitée par l'attaquant ne provenait pas de son propre code. MANTRA a écrit que « l'attaquant n'avait besoin d'aucun accès privilégié », soulignant qu'un contrat déployé sans permission et un portefeuille autofinancé suffisaient à mener l'attaque.

Combien MANTRA a-t-il perdu ?

Selon MANTRA, l'attaquant a extrait environ 600 millions de MANTRA de son adresse de burn et 120,9 millions de tokens supplémentaires d'un multisig dormant de l'ère genèse, lié à une ancienne campagne d'incitation.

MANTRA a souligné la technicité de l'impact de l'attaque, en insistant sur le fait qu'aucun nouveau token n'a été émis. L'exploit a en réalité remis en circulation environ 720,9 millions de tokens qui se trouvaient hors de la circulation et étaient considérés comme économiquement inertes.

Le rapport a également noté la cadence programmatique des mouvements de tokens, les transactions semblant s'exécuter à des tailles fixes à de courts intervalles plutôt que d'être traitées manuellement.

MANTRA a raté les transactions en temps réel

De son propre aveu, l'équipe de MANTRA n'a détecté aucune transaction frauduleuse pendant les quatre premières heures de la faille. Le projet a attribué ce manquement à l'absence de surveillance continue, 24 heures sur 24, d'une adresse de burn censée contenir des tokens immuables. Cette lacune est familière dans les post-mortems de l'industrie, où les adresses de burn et les portefeuilles de trésorerie sont souvent considérés comme inertes et surveillés moins étroitement que les portefeuilles chauds actifs, alors qu'ils détiennent fréquemment certains des soldes les plus importants d'un protocole.

Dans les heures précédant la détection des signaux d'alerte, l'attaquant a exécuté deux transactions et a déplacé la majeure partie de son butin hors chaîne avant que les validateurs n'arrêtent le réseau à 23:13 UTC, 14 minutes après le second drain. Le portefeuille de l'attaquant contenait encore 37,96 millions de tokens au moment de l'arrêt de la chaîne.

Le réseau est resté hors ligne pendant 30 heures et 13 minutes, jusqu'à 05:26 UTC le 22 août, lorsque les validateurs ont coordonné un redémarrage sur la version corrigée v8.4.0.

Cet épisode couronne 18 mois mouvementés pour un projet qui tente encore de reconstruire la confiance. L'ancien token OM de MANTRA s'était effondré de plus de 90 % en une seule séance en avril 2025, effaçant plus de 5 milliards de dollars de valeur, comme Cryptopolitan l'avait relaté à l'époque. Même Inveniam Capital Partners, qui a investi 20 millions de dollars dans MANTRA en 2025, a reconnu les problèmes passés en acceptant en juin d'acquérir le projet.

Lorsque l'arrêt a frappé, le token a chuté de 18,5 % pour atteindre un plus bas historique proche de 0,004126 $ avant de se redresser, selon les données de CoinGecko. Avec l'implication des autorités judiciaires et des perspectives de récupération non résolues, les questions en suspens pour les observateurs de MANTRA portent sur le sort des 37,96 millions de tokens encore présents dans le portefeuille de l'attaquant au moment de l'arrêt, sur une éventuelle adaptation des divulgations de l'offre par la direction soutenue par Inveniam, et sur la rapidité de livraison des prochaines mises à jour de modules prévues par le projet.