Un détective de la DeFi enquête sur les codes suspects de la blockchain
Un développeur Fiverr se crée des back doors – C’est une nouvelle pour personne, l’écosystème des cryptomonnaies est en permanence ciblé par des hackers et arnaqueurs en tout genre. Évidemment, l’essor de l’écosystème NFT n’a pas été en reste.
197 ETH dérobés au projet NFT Thestarlab
Thestarlab est un énième projet NFT, proposant 9999 NFT de planètes en 3D évoluant dans un Métavers.
Mercredi 2 mars, les équipes de Thestarlab ont annoncé avoir été la cible d’une attaque. Ainsi, l’attaquant a réussi à accéder aux wallet de l’équipe. Par la suite il a été en mesure de drainer les 197 ETH qui y étaient stockés.
Ainsi, il ne s’agit pas d’un rug pull de la part de l’équipe, car ce sont les fonds levés lors de la phase de mint des NFT qui ont été dérobés par l’attaquant.
Un point reste surprenant. En effet, seule l’adresse considérée comme propriétaire du contrat est en mesure de retirer les fonds. Cependant, dans ce cas, l’adresse owner avait été modifiée pour pointer vers une adresse nulle, à savoir 0x0000000000000000000000000000000000000000.
« Cette fonction permet essentiellement de renoncer à la propriété du contrat. Ainsi, le propriétaire du contrat de mint devient une adresse nulle : 0x0000000000000000000000000000000000000000. Personne dans notre équipe, ni dans le monde entier d’ailleurs, n’a accès à cette adresse nulle. »
explique l’équipe.
À ce moment, difficile de comprendre comment tout cela a bien pu se passer. C’était évidemment sans compter sur les détectives de Twitter.
Un développeur Fiverr qui se créait des back doors
Quelques jours après les faits, Zachxbt a publié le fruit de son enquête au sujet de ce hack et ses trouvailles furent bien surprenantes.
Ainsi, après analyse complète du code, celui-ci s’est rendu compte d’une chose : la personne qui a déployé le smart contract a précisé deux adresses en tant que propriétaire du contrat. Malheureusement, lorsque les équipes de Thestarlab ont révoqué l’adresse owner vers une adresse nulle, ces derniers ne l’ont fait que pour une adresse.
Par conséquent, le contrat considérait encore l’adresse du deployer comme étant propriétaire du contrat.
« Le smart contract ne peut jamais vraiment être renoncé ou transféré. Il est seulement possible d’y ajouter un propriétaire supplémentaire. Le deployer original sera toujours considéré comme le propriétaire. »
explique-t-il dans son thread Twitter.
Mais alors, qui est ce fameux deployer original ? Il s’agit en réalité du développeur du smart contract, qui n’est autre qu’un développeur engagé sur la plateforme de freelance Fiverr. Ainsi, lors du développement, celui-ci s’est discrètement assuré que son adresse resterait owner du contrat. Par conséquent, il s’assure d’être en mesure de récupérer les fonds, dans le cas où l’équipe qui l’emploie ne revérifie pas le code, ce qui s’est évidemment passé.
32 projets à risques
Malheureusement, les trouvailles de Zachxbt ne s’arrêtent pas là. En effet, après avoir analysé la blockchain, celui-ci a identifié au moins 32 projets ayant recours au même contrat et étant vulnérable à la même faille.
« J’ai vérifié la chaîne et il s’avère qu’au moins 32 projets ont passé un contrat avec le même développeur Fiverr pour qu’il travaille pour des projets qui ont déployé tous les contrats. »
Sans grande surprise, la majorité des projets vulnérables qui ont répondu aux messages de Zachxbt ont avoué n’avoir jamais relu le code des contrats fournis par le développeur.
De son côté, le projet Thestarlab a entamé une migration vers un nouveau smart contrat ne disposant pas de l’adresse du développeur Fiverr.
Évidemment les attaques ciblent tout type de protocoles. En effet, la plateforme de vente de NFT Treasure, hébergé sur Arbitrum, a récemment été la cible d’une attaque qui a permis à un utilisateur malveillant de dérober plusieurs NFT sans débourser un centime.