L’attaquant d’Arcadia Finance a utilisé un exploit de réentrée pour soutirer 455 000 $ du protocole de finance décentralisée (DeFi), selon un rapport post-mortem du 10 juillet publié par l’équipe de développement de l’application. Un « exploit de réentrée » est un bug qui permet à un attaquant de « réintégrer » un contrat ou de l’interrompre au cours d’un processus en plusieurs étapes, empêchant ainsi le processus de se terminer correctement.
L'équipe a envoyé un message à l'attaquant exigeant le retour des fonds dans les 24 heures et menaçant d'une action policière si le pirate ne s'exécute pas.

Arcadia Finance a été exploitée le matin du 10 juillet et a perdu 455 000 dollars de cryptomonnaies. Un rapport préliminaire de la société de sécurité blockchain PeckShield a déclaré que l'attaquant avait utilisé un « manque de validation d'entrée non fiable » dans les contrats de l'application pour drainer les fonds. L'équipe d'Arcadia a nié cela, affirmant que l'analyse de PeckShield était erronée. Cependant, l'équipe n'a pas expliqué quelle était selon elle la cause à l'époque.
Le nouveau rapport d’Arcadia indiquait que la fonction « liquidateVault() » de l’application ne contenait pas de contrôle de réentrée. Cela permettait à l’attaquant d’appeler la fonction avant qu’un contrôle de santé ne soit effectué, mais après que l’attaquant ait retiré des fonds. En conséquence, l’attaquant pouvait emprunter des fonds et ne pas les rembourser, les privant ainsi du protocole.
L’équipe a maintenant suspendu les contrats et travaille sur un correctif pour combler la faille.
L'attaquant a d'abord contracté un prêt flash auprès d'Aave pour 20 672 $ en USD Coin (USDC) et l'a déposé dans un coffre-fort d'Arcadia. Ensuite, le pirate a utilisé cette garantie de coffre-fort pour emprunter 103 210 $ en USDC à un pool de liquidités d'Arcadia. Cela a été accompli grâce à une fonction « doActionWithLeverage() » qui permet aux utilisateurs d'emprunter des fonds uniquement si leur compte peut rester sain à la fin du bloc.
L'attaquant a déposé 103 210 $ dans le coffre, portant le total des fonds à 123 882 $. Le pirate a ensuite retiré tous les fonds, laissant le coffre sans actifs et avec une dette de 103 210 $.
Théoriquement, cela aurait dû entraîner l'annulation de toutes les actions, car le retrait des fonds aurait dû entraîner l'échec du contrôle de santé du compte. Cependant, l'attaquant a utilisé un contrat malveillant pour appeler liquidateVault() avant que le contrôle de santé ne puisse commencer. Le coffre-fort a été liquidé, éliminant toutes ses dettes. En conséquence, il s'est retrouvé avec zéro actif et zéro passif, ce qui lui a permis de passer le contrôle de santé.
Étant donné que le compte a passé le contrôle de santé après la conclusion de toutes les transactions, aucune des transactions n'a été annulée et le pool a été vidé de 103 210 $. L'attaquant a remboursé le prêt d'Aave dans le même bloc. Le pirate a répété cet exploit plusieurs fois, drainant un total de 455 000 $ des pools sur Optimism et Ethereum.
Dans son rapport, l’équipe d’Arcadia a réfuté les allégations selon lesquelles l’exploit aurait été causé par des entrées non fiables, affirmant que cette prétendue vulnérabilité n’était pas « le problème principal » de l’attaque.
L'équipe d'Arcadia a envoyé un message à l'attaquant en utilisant le champ de données d'entrée d'une transaction Optimism, indiquant :
« Nous comprenons que vous êtes impliqué dans l’exploit d’Arcadia Finance. Nous travaillons activement avec des experts en sécurité et les forces de l’ordre. Vos dépôts et retraits de TC sur BNB ont été un peu trop rapides, il est difficile de cacher son identité en ligne de nos jours. Nous allons faire remonter cette affaire aux forces de l’ordre en l’absence de restitution de fonds dans les prochaines 24 heures. »
Dans son rapport, Arcadia affirme avoir trouvé des pistes prometteuses pour traquer l’attaquant. « En plus d’obtenir des adresses liées à des échanges centralisés, nous avons également découvert des liens vers des exploits antérieurs d’autres protocoles », indique le rapport. « L’équipe enquête à la fois sur les données on-chain et off-chain dans toute la mesure du possible et dispose de plusieurs pistes. »
Les exploits et les escroqueries ont été un problème persistant dans l'espace DeFi en 2023. Un rapport du 5 juillet de CertiK a déclaré que plus de 300 millions de dollars ont été perdus en raison d'exploits au deuxième trimestre de l'année.
