Crypto Exploit laisse les gens voler des millions en copiant-collant un script

Un mauvais code a entraîné le prélèvement de 190 millions de dollars du pont de Nomad, un protocole de crypto-monnaie qui permet aux gens de déplacer des pièces crypto entre différentes chaînes de blocs. Dans ce qu’on appelle un “vol décentralisé”, une faille dans le codage de Nomad a permis aux gens de voler de l’argent qu’ils ne possédaient pas simplement en copiant et en collant un script.

Toutes les chaînes de blocs peuvent être indiscernables pour les non-initiés, mais les commerçants de crypto en utilisent souvent plusieurs, comme Ethereum, Avalanche, Solana, etc. Échanger des jetons entre différentes blockchains – comme prendre des bitcoins et les utiliser sur la blockchain d’Ethereum, ou prendre de l’éther et les utiliser sur Solana – peut en fait être assez complexe. Pour répondre à cette demande, plusieurs entreprises ont créé des ponts “cross-chain”. Vous déposez de la crypto-monnaie dans un contrat intelligent sur une blockchain et « reliez » ces jetons à une autre blockchain.

Le point clé, en ce qui concerne l’exploit de lundi, est que tout ce processus repose sur le verrouillage de la crypto-monnaie dans le contrat intelligent. Un seul éther déposé dans un contrat intelligent Ethereum agit comme garantie pour l’éther que l’utilisateur reçoit sur, par exemple, la blockchain d’Avalanche. Nomad avait plus de 190 millions de dollars de fonds publics dans son contrat intelligent avant l’exploit. Au moment d’écrire ces lignes, seuls 9 000 $ restent bloqués dans le contrat intelligent.

Malheureusement, une “mise à niveau” de ce contrat intelligent a conduit à un exploit dont tout le monde pouvait profiter. La finance décentralisée étant ce qu’elle est – anonyme et notoirement dégénérée – signifiait que 190 millions de dollars ont été aspirés du protocole en quelques heures.

Vous devez connaître le langage de développement d’Ethereum, Solidity, pour comprendre les aspects techniques. L’essentiel est que le contrat intelligent a rompu. Certaines transactions qui ne devraient pas être approuvées pourraient être poussées et reproduites. Il semble que des transactions suspectes aient commencé vers 9 h 13, heure du Pacifique, lorsque plusieurs portefeuilles ont retiré 100 bitcoins (1,7 million de dollars) du pont. Tout ce que tout le monde avait à faire à partir de là était de copier et coller le script exact utilisé par l’escroc, en remplaçant le numéro de portefeuille de l’exploiteur d’origine par le sien, et de le faire passer. D’autres ont retiré des fonds en éther et en stablecoin USDC, entre autres jetons.

“C’est pourquoi le piratage était si chaotique”, a déclaré Sam Sun, chercheur pour la société d’investissement crypto Paradigm, dans un fil de tweet déconstruisant l’exploit. “Vous n’aviez pas besoin de connaître Solidity ou Merkle Trees ou quoi que ce soit du genre. Tout ce que vous aviez à faire était de trouver une transaction qui fonctionnait, de trouver/remplacer l’adresse de l’autre personne par la vôtre, puis de la rediffuser.”

“Simple que CTRL-C, CTRL-V,” a tweeté un autre détective blockchain.

Étant donné que la plupart des gens copiaient et collaient des informations, les fonds étaient acheminés en tranches identiques. Il y avait des centaines de transactions qui ont vu les gens retirer 202 440 $ dans le stablecoin USDC à la fois, par exemple.

Dans l’équivalent de la blockchain des types “America’s Dumbest Criminals” qui volent des stations-service avec leur étiquette, certaines personnes ont exploité leur contrat intelligent avec des adresses de portefeuille publiques conçues pour être traçables. Beaucoup ont renvoyé les fonds. D’autres ont prétendu agir de bonne foi, en retirant des fonds qu’ils s’étaient engagés à protéger et à renvoyer lorsque le contrat intelligent était sécurisé.

“Nous sommes au courant de l’incident impliquant le pont à jetons Nomad”, a déclaré Nomad dans un communiqué sur Twitter. “Nous enquêtons actuellement et fournirons des mises à jour lorsque nous les aurons.”

Nomad a été contacté pour un commentaire mais n’a pas immédiatement répondu.