#数字资产市场观察 Combien vaut une ligne de code ? La réponse est 1,6 milliard de dollars - ce n'est pas une exagération, c'est la leçon douloureuse que vient de subir le plus grand DEX de l'écosystème Sui, Cetus. Un Hacker a directement emporté 230 millions de dollars grâce à une faille d'une ingéniosité étouffante.
La clé de la situation se cache dans un contrôle des frontières apparemment banal : l'attaquant a construit un ensemble d'entrées spéciales, rendant la valeur n juste suffisante pour satisfaire la condition n<=mask, passant ainsi la première ligne de défense. Mais ce qui est vraiment mortel, c'est la seconde moitié - ce n est également supérieur ou égal à 2^192, et lorsque l'opération de décalage à gauche de 64 bits est exécutée, le résultat de tout le calcul dépasse directement la limite de stockage de u256. Au moment du débordement, la fonction renvoie une valeur complètement erronée, et la porte du pool de liquidité est ainsi forcée.
La bonne nouvelle est que l'équipe de Cetus a rapidement corrigé le dépôt de code. Mais ce cas rappelle à tous que l'audit de sécurité des contrats intelligents ne doit souffrir d'aucune négligence, même une erreur dans le traitement des limites d'une opération binaire peut coûter une somme astronomique. Dans le monde de la DeFi, le code est la loi, et un bug est une faille de la loi.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
15 J'aime
Récompense
15
4
Reposter
Partager
Commentaire
0/400
QuietlyStaking
· 11-26 09:13
Merde, un bug de bitwise a directement explosé 230 millions, c'est pourquoi j'ai toujours des doutes sur l'audit de Cetus.
Je ne peux vraiment plus le supporter, un débordement u256, une erreur aussi basique, peut aussi passer l'audit ?
Le code est la loi, alors le hacker est le juge ?
Voir l'originalRépondre0
SellTheBounce
· 11-26 09:08
Encore cette piège de discours. Bugs de code, erreurs d'audit, réparations rapides... J'ai entendu cela pendant des années. Le problème est : où sera le prochain Cetus ? Il y a toujours une raison pour baisser encore plus, et cela s'applique aussi à la Finance décentralisée - il y a toujours de plus grandes failles.
Voir l'originalRépondre0
ContractHunter
· 11-26 09:04
Putain, le débordement u256 a directement explosé à 230 millions, c'est pourquoi je ne touche jamais à des pools non vérifiés.
Voir l'originalRépondre0
CountdownToBroke
· 11-26 08:58
Putain, un bug de calcul binaire a fait disparaître 230 millions, c'est vraiment trop sévère.
#数字资产市场观察 Combien vaut une ligne de code ? La réponse est 1,6 milliard de dollars - ce n'est pas une exagération, c'est la leçon douloureuse que vient de subir le plus grand DEX de l'écosystème Sui, Cetus. Un Hacker a directement emporté 230 millions de dollars grâce à une faille d'une ingéniosité étouffante.
La clé de la situation se cache dans un contrôle des frontières apparemment banal : l'attaquant a construit un ensemble d'entrées spéciales, rendant la valeur n juste suffisante pour satisfaire la condition n<=mask, passant ainsi la première ligne de défense. Mais ce qui est vraiment mortel, c'est la seconde moitié - ce n est également supérieur ou égal à 2^192, et lorsque l'opération de décalage à gauche de 64 bits est exécutée, le résultat de tout le calcul dépasse directement la limite de stockage de u256. Au moment du débordement, la fonction renvoie une valeur complètement erronée, et la porte du pool de liquidité est ainsi forcée.
La bonne nouvelle est que l'équipe de Cetus a rapidement corrigé le dépôt de code. Mais ce cas rappelle à tous que l'audit de sécurité des contrats intelligents ne doit souffrir d'aucune négligence, même une erreur dans le traitement des limites d'une opération binaire peut coûter une somme astronomique. Dans le monde de la DeFi, le code est la loi, et un bug est une faille de la loi.