3ème piratage pour bZx – 8 millions $ extorqués

Jamais deux sans troisEn février dernier, le protocole bZx a subi deux exploitations de failles successives. Cette fois, la faiblesse du code de bZx coûte encore plus cher, avec plus de 8 millions de dollars de cryptos détournées.

Encore un nouveau trou dans le gruyère bZx

En février 2020, la plateforme bZx a connu, coup sur coup, deux « attaques » qui sont en fait des exploitations ingénieuses de prêts instantanés (flash loan) et de manipulation d’oracles de prix. Ces failles ont ainsi permis d’extirper respectivement 360 000 dollars et 645 000 dollars d’ethers (ETH) au protocole bZx.

Marc Thalen, ingénieur en chef chez Bitcoin.com, a été parmi les premiers à signaler cette nouvelle faille aux équipes de bZx.

« Hier soir [le 13 septembre], j’ai trouvé une faiblesse à BRZX. J’ai remarqué qu’un utilisateur était capable de dupliquer des « iTokens ». Il y avait plus de 20 millions de dollars en jeu. J’ai informé l’équipe en lui disant d’arrêter le protocole et je lui ai expliqué l’exploit. »

Marc Thalen explique, preuves à l’appui, avoir lui-même testé cette faille. Il a ainsi pu transformer 100 dollars de stablecoins en 200 dollars ! Mais le mal avait déjà été fait…

LINK, ETH, stablecoins : une razzia de 8 millions de $

Le code défectueux, qui permettait effectivement de dupliquer des actifs grâce aux iTokens du protocole bZx, a laissé un attaquant repartir avec :

  • 219 000 LINK, environ 2,5 millions de dollars ;
  • 4 503 ethers (ETH) soit 1,6 million de dollars ;
  • 1,7 million d’USDT ;
  • 1,4 million d’USDC ;
  • 668 000 DAI.

Dans une publication sur leur blog, les équipes de bZx n’explique pas comment une telle faille a pu passer à travers deux audits.

« Le protocole a fait l’objet d’audits approfondis par les grandes sociétés de sécurité Peckshield et Certik. »

Cette fuite de 8 millions de dollars de cryptos représente 30% de la valeur totale des actifs verrouillés (ou « TVL ») dans le protocole bZx. Les actifs des utilisateurs ne seraient cependant pas affectés, car les sommes perdues auraient été compensées par le fonds d’assurance de bZx (on n’aimerait cependant pas être à la place de l’assureur !).

D’après Anton Bukov, cofondateur de l’exchange 1inch, il semble même que le désastre ait pu être plus grand encore. L’attaquant aurait en effet accumulé 153,6 millions d’iUSDT avant de commencer à drainer les USDT du pool d’échange. Mais les équipes de bZx aurait détruit 151,9 millions d’iUSDT (par burn) en voyant ce mouvement. Ce qui explique la fuite finale de « seulement » 1,7 million d’USDT.

Nous venons peut-être de passer à deux doigts d’un scandale d’une plus grande ampleur pour ce protocole DeFi. L’intégralité des cryptos dans le protocole aurait potentiellement pu être siphonnées. Cette implémentation d’une « porte dérobée » dans le smart contract, qui a permis temporairement aux développeurs de bZx de détruire les iTokens, risque elle aussi de faire jaser pour son côté plus centralisé que décentralisé.

Rémy R.

Issu d’une formation universitaire en Sciences, je m’intéresse aux blockchains et à Bitcoin depuis 2013 et en ai même miné à l’époque. La bulle qui s'en est suivie m'en a détourné, mais je m'y suis replongé depuis 2017 et les étudie depuis avec passion.