S'il y a une chose que nous savons, c'est qu'aucun protocole ou plateforme DeFi n'est 100 % sûr. Le 9 juillet, l'échange @GMX_IO V1 a été piraté pour 42 millions de dollars. Voici notre analyse ci-dessous de @Blackthornxyz, partenaire de sécurité principal @panprog (y compris une leçon cruciale pour le développement de contrats intelligents) 👇🔎
La racine de l'exploitation était une vulnérabilité de réentrance dans les contrats intelligents GMX, spécifiquement au sein de PositionManager.executeDecreaseOrder.
L'Attaque ⚔️ : Depuis OrderBook.executeDecreaseOrder, le profit (en ETH) a été envoyé directement à l'utilisateur. Cela a déclenché la fonction receive() du contrat récepteur avant que timelock.disableLeverage() ne soit appelé.
Cette fonction est destinée à empêcher les appels directs au Vault en désactivant l'effet de levier, mais en raison de son invocation retardée, l'attaquant a pu la contourner.
Dans ce contexte de réentrance, l'attaquant a appelé directement le Vault pour manipuler les positions courtes. Une ligne critique dans PositionManager - responsable de la mise à jour de ShortsTracker.globalShortAveragePrices - a été ignorée.
En conséquence, l'attaquant pouvait artificiellement gonfler les Vault.globalShortSizes sans mettre à jour le prix moyen des shorts, ce qui a conduit à des calculs incorrects de l'AUM et a gonflé le prix du GLP.
Le vol de 42 millions de dollars💰: L'attaquant a d'abord acheté du GLP à un prix inférieur, puis l'a gonflé avec des boucles de réentrance, avant de revendre le GLP au Vault à un prix gonflé. Cela a drainé presque tous les tokens détenus dans le Vault. Total des gains : 42 millions de dollars en ETH, BTC, USDC, et plus.
Les conséquences ? 1) GMX a suspendu toutes les opérations de trading, de minting et de rachat pour GLP sur Arbitrum et Avalanche. 2) GMX V2 et d'autres composants du protocole n'ont pas été affectés. 3) L'attaquant s'est vu offrir une récompense de 10 % (environ 4,2 millions de dollars) s'il retournait les fonds dans les 48 heures.
Au moment de rédiger ce post, le hacker a commencé à restituer des fonds à l'équipe GMX après avoir négocié un paiement 🙌. En tant que partenaires de sécurité avec GMX depuis leur V2, nous avons aidé dans cette situation et sommes ravis d'entendre cela. Nous sommes impatients de continuer à travailler avec GMX à l'avenir.
Les Leçons 🎓 : ✅ Assurez-vous qu'il n'y a pas de réentrance possible, même si cela semble inoffensif - Au départ, GMX v1 permettait aux utilisateurs d'interagir directement avec le Vault... Ainsi, la possibilité d'interagir directement avec le Vault ne semblait pas dangereuse pour beaucoup.
✅ Assurez-vous qu'il y a des vérifications de cohérence pour un changement rapide de valeur, comme les prix des tokens ou des actions : annulez l'exécution si, dans un court laps de temps, le prix de tout actif (comme le GLP dans ce cas) change de plus d'un certain pourcentage.
✅ Assurez-vous qu'il y a une surveillance hors chaîne stricte en place pour tout modèle suspect, pouvant éventuellement arrêter automatiquement le trading dans des situations extrêmes. Par exemple, si le prix de GLP est en dehors d'une certaine plage prédéfinie à tout moment, arrêtez immédiatement les opérations pour enquêter.
Découvrez notre blog pour le rapport complet 👇
Afficher l’original
4,99 k
39
Le contenu de cette page est fourni par des tiers. Sauf indication contraire, OKX n’est pas l’auteur du ou des articles cités et ne revendique aucun droit d’auteur sur le contenu. Le contenu est fourni à titre d’information uniquement et ne représente pas les opinions d’OKX. Il ne s’agit pas d’une approbation de quelque nature que ce soit et ne doit pas être considéré comme un conseil en investissement ou une sollicitation d’achat ou de vente d’actifs numériques. Dans la mesure où l’IA générative est utilisée pour fournir des résumés ou d’autres informations, ce contenu généré par IA peut être inexact ou incohérent. Veuillez lire l’article associé pour obtenir davantage de détails et d’informations. OKX n’est pas responsable du contenu hébergé sur des sites tiers. La détention d’actifs numériques, y compris les stablecoins et les NFT, implique un niveau de risque élevé et leur valeur peut considérablement fluctuer. Examinez soigneusement votre situation financière pour déterminer si le trading ou la détention d’actifs numériques vous convient.