Ethereum : ils volent 80 millions de $ en un clic, Rari Capital mis à sac

Funds are not safu – L’écosystème de la finance décentralisée (DeFi) a connu un important essor et comptabilise plusieurs milliers de protocoles. En pratique, le code de la plupart de ces protocoles a été copié sur d’autres protocoles. Malheureusement, certains développeurs introduisent malencontreusement des failles en copiant et modifiant le code d’un protocole et mettent à risque les fonds des utilisateurs. C’est ce qu’a appris le protocole Fuse géré par Rari Capital lors de son hack ce week-end.

Fuse de Rari Capital : un hack à 80 millions de dollars

Fuse est un protocole de la finance décentralisée d’Ethereum développé par Rari Capital. Celui-ci propose un service de prêt et d’épargne décentralisé. En pratique, Fuse n’est autre qu’un fork du code du protocole Compound auquel des modifications ont été apportées. 

Samedi 30 avril, les équipes de BlockSec, entreprise spécialisée dans l’analyse de blockchain, ont annoncé avoir détecté une attaque ciblant le protocole Fuse. Au moment de l’annonce, le butin s’élève à 80 millions de dollars

Annonce du hack par BlockSec.
Annonce du hack par BlockSec – Source : Twitter.

Par la suite, plusieurs internautes se sont inquiétés concernant la vulnérabilité de l’instance de Fuse déployée sur Arbitrum. Bien que les équipes de Rari aient déclaré “qu’aucune pool Arbitrum n’est vulnérable”, celles-ci ont rapidement été exploitées. Au total, 100 ETH, soit 290 000$ ont été retirés par l’attaquant sur Arbitrum

Au total, l’attaquant a dérobé 9 actifs différents, à savoir : 

  • 6 037 ETH ;
  • 20 251 603 FEI ;
  • 14 278 990 FAI ;
  • 1 948 952 dollars ;
  • 10 055 556 USDC ;
  • 132 959 USDT ;
  • 31 615 RAI ;
  • 13 101 364 FRAX ; 
  • 2 765 891 UST.

En parallèle, cette attaque a également violemment impacté le protocole Fei, à l’origine du stablecoin éponyme. En effet, le protocole opérait une pool sur le marché de Fuse. 

>> Faites le choix de la sécurité ! Venez vous exposer au Bitcoin aux côtés de Binance (lien affilié) .<<

Déroulement de l’attaque

Une fois n’est pas coutume, l’attaquant n’a pas réinventé la roue. Ainsi, ce dernier a exploité une faille dite de reentrancy. Ce type de faille survient lorsqu’une fonction peut faire appel à une autre fonction sans avoir finalisé son exécution.  

Dans le cas de Fuse, la fonction exitMarket() permet de retirer des fonds déposés comme collatéral. Cependant, celle-ci ne fait pas les vérifications nécessaires pour s’assurer que les fonds empruntés ont bien été restitués

Par conséquent, l’attaquant a pu mener son attaque en 4 étapes : 

  • L’attaquant a contracté un flash loan de 150 000 000 USDC et 50 000 WETH ; 
  • Il a déposé 150 000 000 USDC comme collatéral sur Fuse ; 
  • Contracté un prêt de 1 977 ETH en utilisant le collatéral précédent ; 
  • Comme la fonction borrow() n’enregistre pas directement l’utilisation du collatéral pour le prêt, l’attaquant a pu directement appeler la fonction exitMarket() lui permettant de récupérer son collatéral, tout en gardant les fonds empruntés ;

Ces étapes ont ensuite été répétées sur les pools 8, 18, 27, 127, 144, 146 et 156 de Fuse. Une fois les pools siphonnées, l’attaquant a remboursé son flash loan  et a entrepris d’envoyer ses fonds sur le protocole Tornado Cash dans le but de les blanchir. 

Un espoir de restitution des fonds ? 

Contrairement à bon nombre d’attaquants, celui du protocole Fuse n’a pas envoyé l’intégralité des fonds via Tornado Cash. En effet, ce dernier n’a envoyé que 15 millions de dollars sur le protocole Tornado Cash. 

Rapidement, plusieurs rumeurs ont émergé selon lesquels il serait prêt à restituer une partie des fonds en échange d’une généreuse récompense de bug bounty de 15 millions de dollars. 

De son côté, Rari Capital a proposé une récompense de 10 millions de dollars à l’attaquant. Reste maintenant à attendre la réponse de ce dernier. 

Rari Capital propose une récompense de 10 millions de dollars à l'attaquant.
Rari Capital propose une récompense de 10 millions de dollars à l’attaquant.

Malheureusement pour Fuse, l’attaquant était plus malin que celui du protocole Zeed. En effet, l’attaquant du protocole Zeed a oublié de récupérer son butin avant de détruire le contrat ayant servi à l’attaque. Résultat des courses, 1 million de dollars bloqués à jamais. 

Que vous soyez amateur de DeFi, de Bitcoin ou d’une des cryptomonnaies qui peuplent le marché, il est indispensable que vous disposiez d’un compte sur Binance, l’acteur majeur de l’écosystème du trading (lien affilié)

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.