
أكد الباحثة الأمنية Florent لـ The Block في 31 مايو أنه ساعد في استرداد نحو 1,003 من ETH (ما يعادل حوالي 2 مليون دولار). كانت هذه الـ ETH محبوسة داخل عقد استثمار HongCoin لبيع العملات الأولية في 2016 لمدة تسع سنوات. وحتى وقت النشر، كان قد استلم 2 من المستثمرين إجمالاً 96.5 من ETH، ووافقا طوعاً على دفع مكافأة قبعة بيضاء إلى Florent.
الأسباب التقنية المؤكدة لخلل تجاوز سعة الأعداد الصحيحة والحلول
أكد Florent لـ The Block أن عقد HongCoin تم نشره باستخدام إصدار قديم من Solidity، ويفتقر إلى إجراءات حماية لمنع تجاوز سعة الأعداد الصحيحة (تم إصلاح ذلك لاحقاً عبر مكتبة SafeMath). ترفض وظيفة الاسترداد مطالبة حامل الرموز بامتلاك أرصدة تتجاوز العداد العام. وعلى مدار سنوات، خفضت بعض عمليات الاسترداد العداد إلى 356، ما أدى إلى أن سقف الاسترداد لم يتجاوز 3.56 ETH (نحو 7,000 دولار)، بينما كانت أرصدة أغلب الحائزين أعلى بكثير من هذه القيمة.
أكد Florent أن الحل تم عبر الاستفادة من ميزة الإدارة في فريق HongCoin—وهي ميزة كانت تُستخدم أصلاً لإصدار رموز المكافآت—بحيث، عند استدعائها بقيم إدخال محددة، ونتيجة لغياب حماية تجاوز السعة، يُعاد ضبط رصيد الحائز إلى 1، فتُجتاز فحوصات الاسترداد فوراً، ويُفرج عن ETH المحبوس بذلك.
هجوم غير أحادي: فريق HongCoin يوقّع معاملة الإطلاق بنفسه
أكد Florent أن الأمر ليس هجوماً من طرف واحد قام به هاكر. فقد أرسل أولاً بريدًا إلكترونيًا إلى فريق HongCoin، وتم التحقق من رقم تسلسل العملية على تفرع شبكة Foundry الرئيسية، ثم قام فريق HongCoin بتوقيع معاملة الإطلاق بنفسه. استغرق الأمر نحو أسبوع من إرسال أول رسالة بريد إلكتروني حتى إتمام كامل العملية. يحتاج 41 حاملًا إلى إعادة ضبط الأرصدة، وهو ما يقابل نحو 1,000 من ETH كانت محبوسة فعلياً، بينما يمكن للـ 7 الآخرين استرداد أموالهم مباشرة؛ وقام الفريق بإجمالي توقيع 41 معاملة.
أكد Florent أن السبب الذي جعل الهاكر السابق يتجاهل هذا العقد هو أن «العقد لا يحتوي على أي ثغرة ملكية يمكن أن تسمح للهاكر بالاستيلاء على الأموال؛ والنتيجة الوحيدة لأي هجوم هي أن يتم استرداد الإيثريوم إلى المستثمرين الأصليين»، وهو ما يعني عدم وجود مساحة للربح بالنسبة للهاكر.
منهجية التحقق: الماسح الضوئي والقيود المعروفة لـ Claude Code
أكد Florent أنه قام بإعداد عقدة إيثريوم مُدارة ذاتياً وشغّل ماسحاً يحدد العقود التي تمتلك أكثر من 100 ETH، ثم قام بفلترة النتائج واحدةً تلو الأخرى. وأكد أنه استخدم Claude Code لتسريع ترتيب العقود وتكوين مجموعات لها، لكن للذكاء الاصطناعي قيوداً عند تحليل الثغرات المحددة في العقود الذكية: «غالباً ما يتأثر الذكاء الاصطناعي بحقيقة أن العقد لم يكن قد تم اختراقه من قبل، لذلك يفترض غالباً أن «هذا غير قابل للاختراق»، وهذا غالباً ما يكون خطأ».
في 24 مايو، أكد Florent أنه تم أيضاً استرداد 19.329 من ETH أخرى (ما يعادل حوالي 40,590 دولار) من عقدين قديمين سابقين. تشمل هذه العقود عقد ICO فاشل في 2018، وأموال مستخدمين في Liquality بعد إغلاق التطبيق في 2024.
الأسئلة الشائعة
كيف أدى خلل تجاوز سعة الأعداد الصحيحة في عقد HongCoin إلى حبس الأموال لمدة 9 سنوات؟
وفقاً لتأكيد Florent، تشترط دالة الاسترداد ألا يتجاوز رصيد حامل الرموز العداد العام. خفضت عمليات الاسترداد الجزئية على مدار سنوات العداد إلى 356، ما خفّض الحد الأقصى لمبلغ الاسترداد إلى 3.56 ETH، بينما كانت أرصدة أغلب الحائزين أعلى بكثير من ذلك. تتمثل المعلومة التقنية الأساسية في افتقار Solidity بنسخته القديمة إلى حماية من تجاوز سعة الأعداد الصحيحة، وقد تم إصلاح هذه المشكلة لاحقاً عبر مكتبة SafeMath.
لماذا لم يهاجم الهاكرون سابقاً هذه العقود التي تضم كمية كبيرة من ETH؟
وفقاً لتأكيد Florent، لا توجد في العقد أي ثغرة ملكية يمكن أن تُمكّن المهاجم من سرقة الأموال؛ وتتمثل النتيجة الوحيدة لأي هجوم في أن يتم رد ETH إلى المستثمرين الأصليين، لذا لا توجد مساحة للربح بالنسبة للهاكر، وبالتالي لا توجد دوافع للهجوم.
كيف تم استخدام Claude Code في هذه العملية ذات القبعة البيضاء، وما القيود التي يواجهها الذكاء الاصطناعي؟
أكد Florent أنه استخدم Claude Code لتسريع ترتيب العقود وتكوين مجموعات لها، لكنه أكد أن للذكاء الاصطناعي قيوداً عند تحليل ثغرات العقود الذكية، إذ يتأثر غالباً بحقيقة أن «العقد لم يكن قد تم اختراقه من قبل» فيفترض غالباً أنه يتعذر اختراقه؛ وقد أشار إلى أن هذا التقييم غالباً ما يكون خاطئاً.