اختراق GMX: كيف سُرِقَتْ 40 مليون دولار؟

متجه الهجوم: فخاخ إعادة الدخول
بدأ اختراق GMX عندما استغل المهاجمون دالة unstakeAndRedeemGlp بتمرير عنوان عقد ذكي بدلاً من EOA في executeDecreaseOrder، مما تجاوز طبقة التحقق وسمح بإعادة الدخول أثناء تنفيذ الاسترداد. كل نداء متكرر زاد حساب AUM: AUM = إجمالي حوض الرموز − الخسائر غير المحققة − المبالغ المحجوزة.
مضاعف الرافع
تم تمكين enableLeverage، مما حول GLP إلى مركز رافع. وقد فتح المهاجمون مراكز قصيرة ضخمة من WBTC قبل الاسترداد. وبينما سُحِبَت GLP، أعاد النظام حساب AUM باستخدام بيانات قديمة—حيث لم تُحلَّ الخسائر غير المحققة—لكنها عُومِلت كأصول فعلية. هذا خلق فائض اصطناعي، سمح للمهاجمين باستلام أكثر من حصتهم النسبية.
لماذا نجح: انهيار الثقة في المنطق
لم تكن هذه ثغرة في الكود—بل فشل في الافتراضات. افترضنا أن مدخلات EOA آمنة؛ ولم نتحقق من هوية الطالب عند انتقال الحالة. في DeFi، يجب أن تكون الثقة صفرية—ليس متفائلة.
العواقب: المخاطر النظامية لا تزال مستمرة
لم يكن MUA مقصودًا ليكون ديناميكيًا أو تقلبيًا—بل كان يجب أن يكون مرشدًا للعرض الحقيقي. لكن حين يتصادم الرافع وإعادة الدخول دون دروع، حتى الرياضيات الأنيقة تتحول إلى أسلحة.
LondonCryptoX
التعليق الشائع (1)

Этот эксплойт не баг — это классика! Когда твой код на DeFi превращается в казино с водкой вместо калькулятора… АУМ считает убытки как борщ после Нового года. Где EOA? А где мой папа с диплом? Пока ты молчишь — хакеры уже выпили все твои активы и пошли домой… Скоро ли ты тоже будешь ДеФи? Или просто зайдёшь в бар за углом?

