Un nouveau protocole de négociation d’options basé sur Ethereum vient d’entrer sur le réseau principal, mais il a déjà rencontré des problèmes importants avec son propre code.
Quelques heures seulement après que Hegic ait lancé son contrats intelligents Le 23 avril, un bogue dans son code a bloqué pour 28 000 dollars de fonds d’utilisateurs dans les contrats intelligents de la plateforme. La majorité de ces fonds se trouvaient dans les pièces de monnaie de l’IAD, tandis que le reste se trouvait à l’ETH.
L’équipe Hegic a promis de rembourser tous les utilisateurs concernés avec leur propre argent, même si les fonds seront à jamais bloqués dans les contrats intelligents.
Mais ce qui a énervé la communauté, c’est que l’équipe a déclaré à l’origine que la vulnérabilité était le résultat d’une faute de frappe. Elle a fait marche arrière deux jours plus tard après que la communauté, ainsi que l’équipe indépendante qui a revu son code, ait déclaré que la vulnérabilité était causée par un bogue qui aurait pu facilement être évité.
La piste des bitsla société d’audit de logiciels qui a examiné le code de Hegic, a déclaré Décrypter que l’échange a ignoré les avertissements concernant le bogue, ainsi que d’autres défauts critiques ; au lieu de cela, Hegic a mis un pansement sur les problèmes et s’est empressé d’expédier son code bébé.
“C’est clairement une erreur, qui aurait été facilement détectée s’ils avaient passé des tests unitaires », a déclaré Dan Guido, PDG de Trail of Bits Décrypter.
Quand Décrypter a demandé à Hegic de lui faire part de ses commentaires, elle a répondu avec post-mortem qui, deux jours après l’incident, « s’excuser[s] à chaque utilisateur d’Hegic (détenteurs et auteurs) d’avoir appelé cela un faute de frappemais pas un bogue ou un problème de sécurité ».
L’équipe a crié au bug, les gens ont dit que c’était une faute
Dans une ancienne tweet Expliquant le problème, Hegic a affirmé qu’une « faute de frappe » dans le code empêchait les traders de débloquer les fonds d’un contrat d’option expiré.
Dans le commerce des options, les traders achètent un contrat qui leur donne l’option d’acheter ou de vendre un actif à un prix spécifique à une certaine date d’échéance ; la « faute de frappe » de Hegic a empêché les utilisateurs d’accéder aux fonds bloqués dans ces contrats après leur expiration.
Mais La piste des bitsLa société d’audit de sécurité qui a examiné le code d’Hegic, l’a qualifié de bogue et non de faute de frappe, comme le prétendait Hegic à l’origine. Le PDG de Trail of Bits affirme qu’Hegic a déformé le degré de sécurité de l’échange lorsqu’il a présenté une évaluation de la sécurité – un bref examen du code – comme un audit – un examen plus complet du code.
Guido a déclaré dans un fil de discussion sur Twitter après l’incident que Hegic avait ignoré de nombreuses suggestions de Trail of Bits et avait été trop cavalier avec son lancement. Il a déclaré que sa société avait trouvé « 10 failles critiques » dans le code d’Hegic lorsqu’elle l’a revu plus tôt en avril.
Trail of Bits a recommandé à Hegic de retarder le lancement de son réseau principal. Mais Guido a déclaré le jeune DeFi a refusé et « a corrigé les quelques bogues que nous avons trouvés, n’a fait aucun autre changement, a présenté notre examen de code de trois jours comme un « audit », puis a immédiatement déployé le système ».
Cela a donné aux utilisateurs la fausse impression que Hegic était sûr, a déclaré Guido, même si le projet n’a pas de documentation publique, ni un seul test publié ou vérifiable du logiciel.
Danger pour DeFi
Guido a déclaré que la déformation des audits de sécurité par des équipes malveillantes ou mal informées est pernicieuse pour l’ensemble d’Ethereum et de DeFi.
Et Ethereum est déjà venu ici. Comme l’a souligné la plateforme de chaînes de blogs MyCrypto sur Twitter, la débâcle du portefeuille Parity en 2017, où une bibliothèque de portefeuilles d’une valeur de 280 millions de dollars dans le DAO Parity a été supprimée par un développeur anonyme, était aussi ostensiblement un accident. Mais le bug était toujours exploité, par accident ou non, et La parité s’est terminée par une fourchette dure controversée qui a divisé l’Ethereum en deux chaînes pour récupérer l’éther perdu.
Vous n’aurez pas de fourchette ici, mais un snafu est un snafu – peu importe combien de fois vous essayez d’appeler ça une faute de frappe.