1月8日، حساب التحقق من المنصة Truebit تعرض لحدث أمني كبير. كشف تقرير فريق أمن慢雾 عن الحقيقة وراء هذا الحدث: قام المهاجمون باستغلال ثغرة تجاوز الأعداد الصحيحة في عقد Purchase، مما سمح لهم بصك رموز TRU بتكلفة قريبة من الصفر، ثم سرقوا 8,535 من إيثريوم، بقيمة تقدر بحوالي 26.44 مليون دولار. والأكثر إثارة للقلق، أن القراصنة قاموا في الفترة من 10 إلى 11 يناير بتمويه جميع الأموال عبر Tornado Cash، مما جعل استردادها شبه مستحيل. هذا ليس خسارة مالية ضخمة فحسب، بل هو اختبار حاسم لوعي المجتمع بأمان العقود الذكية ككل.
جوهر الثغرة: آلية الحماية المنسية
ما هو تجاوز الأعداد الصحيحة
تجاوز الأعداد الصحيحة هو ثغرة شائعة ولكنها خطيرة في العقود الذكية. ببساطة، عندما تتجاوز العمليات الحسابية الحد الأقصى لنوع البيانات، يعيد النظام تلقائيًا القيمة إلى الحد الأدنى. على سبيل المثال، إذا كان الحد الأقصى لعدد صحيح غير موقع 8 بت هو 255، وعند محاولة زيادته بمقدار 1، يصبح الناتج 0.
في عقد Purchase الخاص بـTruebit، استُخدمت هذه الثغرة في حساب السعر. من خلال معاملات معاملات معدلة بعناية، تمكن المهاجمون من جعل حساب السعر يتجاوز الحد، مما سمح لهم بصك رموز TRU بسعر منخفض جدًا (قريب من الصفر). وهذا يعادل أن يقوم المهاجم بعملية كانت تتطلب دفع ملايين الدولارات، ويقوم بها بتكلفة شبه معدومة.
لماذا ظهرت هذه الثغرة
وفقًا لتحليل慢雾، السبب الجذري هو أن عقد Truebit يفتقر إلى آلية حماية من تجاوز الأعداد الصحيحة. هذه المشكلة معروفة في لغة البرمجة Solidity.
إصدار Solidity
حماية التجاوز
الممارسة المقترحة
قبل 0.8.0
بدون حماية مدمجة
يجب استخدام مكتبة SafeMath
0.8.0 وما بعده
حماية مدمجة
يمكن استخدام العمليات الحسابية مباشرة
يستخدم Truebit إصدار Solidity قبل 0.8.0، مما يعني أن جميع العمليات الحسابية تتطلب حماية عبر مكتبة SafeMath. لكن من الواضح أن هذه الحماية تم إغفالها في جزء من حساب السعر.
مسار الهجوم ورد فعل السوق
كيف نفذ القراصنة هجماتهم
وفقًا للمراقبة، كانت عملية التنفيذ فعالة بشكل مذهل:
الخطوة الأولى: تحديد الثغرة، وتصميم معاملات خبيثة
الخطوة الثانية: صك كميات كبيرة من رموز TRU بتكلفة منخفضة جدًا
الخطوة الثالثة: استغلال الرموز المصدرة لسحب ETH من خزائن Truebit
الخطوة الرابعة: نقل الأموال بسرعة إلى عناوين التمويه
الخطوة الخامسة: إتمام غسيل الأموال عبر Tornado Cash (في 10-11 يناير)
استغرقت العملية من اكتشاف الثغرة إلى تبييض الأموال أقل من 72 ساعة. مستوى احترافية المهاجمين وسرعة التنفيذ تشير إلى أن الأمر لم يكن مجرد محاولة عشوائية، بل هجوم مخطط له مسبقًا.
إشارات القلق في السوق
أثار هذا الحدث رد فعل سلبي واضح في السوق. وفقًا لأحدث البيانات، سعر ETH الحالي هو 3,102.47 دولار، ويظهر ضعفًا مؤخرًا: انخفاض بنسبة 0.03% خلال 24 ساعة، وانخفاض بنسبة 2.14% خلال 7 أيام. على الرغم من أن نسبة الانخفاض ليست حادة جدًا، إلا أن المشكلة الأعمق هي أن المستثمرين بدأوا يشككون في أمان مشاريع بروتوكولات التحقق من الحسابات (Computation Verification Protocol) من نوعية هذه المشاريع.
Truebit هو مكون أساسي في بيئة L2 للتحقق من الحسابات. الحادثة أثرت على ثقة المشروع نفسه، وأطلقت مخاوف في القطاع بأكمله حول “كم من الثغرات المشابهة لا تزال موجودة”.
الدروس المستفادة من الصناعة: ليست حادثة فردية
لماذا تعتبر SafeMath مهمة جدًا
في تقريرها، أوصت慢雾 بوضوح: لجميع العقود التي تم تجميعها بإصدار Solidity قبل 0.8.0، يجب دائمًا استخدام مكتبة SafeMath لحماية جميع العمليات الحسابية. هذا ليس خيارًا، بل ضرورة أساسية.
وظيفة مكتبة SafeMath بسيطة لكنها حاسمة: فهي تتحقق من حدوث تجاوز في كل عملية حسابية، وإذا حدث، تقوم بإلغاء المعاملة مباشرة. قد يبدو هذا خطوة زائدة، لكنه يمنع كوارث مثل Truebit.
مشكلة الثغرات في التدقيق
من المثير للاهتمام أن Truebit، كمشروع ذو تمويل جيد وبتقنية قوية، من المفترض أن يكون قد خضع لتدقيق أمني. ومع ذلك، تم تفويت الثغرة هذه المرة. يعكس ذلك مشكلة في الصناعة:
قد تعتمد فرق التدقيق بشكل مفرط على الأدوات الآلية
قلة الوعي بالمخاطر الخاصة بالإصدارات القديمة من Solidity
ضعف عمق مراجعة الكود
وهذا يعني أنه حتى مع التدقيق، لا يمكن ضمان الأمان بنسبة 100%.
التهديد المستمر من أدوات التمويه
تورنادو كاش لعب مرة أخرى دور “الثقب الأسود” للأموال. بعد تحويل الأموال إلى أدوات التمويه، يصبح من شبه المستحيل تتبعها أو تجميدها. ولهذا السبب، يُعتبر خسارة 8,535 ETH غير قابلة للاسترداد تقريبًا.
وهذا يوضح أنه حتى لو تم تحديد عناوين محافظ المهاجمين، فإن نقلهم الأموال إلى أدوات التمويه بسرعة يضعف جهود القانون لاحقًا.
الخلاصة
حادثة Truebit في جوهرها ناتجة عن إهمال في آلية حماية أساسية، مما أدى إلى كارثة. الخسارة التي بلغت 8,535 ETH و2,644 مليون دولار تبرز أن المشكلة أعمق من ذلك:
اختيار الإصدار مهم جدًا: استخدام إصدارات قديمة من Solidity يتطلب وعيًا أمنيًا إضافيًا وتدابير حماية
SafeMath ليست خيارًا: بل ضرورة أساسية
التدقيق ليس كافيًا: يحتاج إلى مراجعة أعمق وتقييم للمخاطر
الاستجابة السريعة ضرورية: سرعة نقل الأموال من قبل المهاجمين تشير إلى ضرورة وجود آليات استجابة أكثر مرونة
هذه الحادثة تعتبر درسًا مكلفًا للصناعة، ولكن إذا تم تعزيز معايير الأمان، وتطبيق تدقيق أكثر عمقًا، واختيار إصدارات أكثر أمانًا، فقد لا يكون الثمن هدرًا كاملًا.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
استعراض شامل لثغرة Truebit: كيف سمح تجاوز الحد الأقصى للأعداد الصحيحة للهاكرز بخلق عملة بقيمة 2644 مليون دولار بدون تكلفة
1月8日، حساب التحقق من المنصة Truebit تعرض لحدث أمني كبير. كشف تقرير فريق أمن慢雾 عن الحقيقة وراء هذا الحدث: قام المهاجمون باستغلال ثغرة تجاوز الأعداد الصحيحة في عقد Purchase، مما سمح لهم بصك رموز TRU بتكلفة قريبة من الصفر، ثم سرقوا 8,535 من إيثريوم، بقيمة تقدر بحوالي 26.44 مليون دولار. والأكثر إثارة للقلق، أن القراصنة قاموا في الفترة من 10 إلى 11 يناير بتمويه جميع الأموال عبر Tornado Cash، مما جعل استردادها شبه مستحيل. هذا ليس خسارة مالية ضخمة فحسب، بل هو اختبار حاسم لوعي المجتمع بأمان العقود الذكية ككل.
جوهر الثغرة: آلية الحماية المنسية
ما هو تجاوز الأعداد الصحيحة
تجاوز الأعداد الصحيحة هو ثغرة شائعة ولكنها خطيرة في العقود الذكية. ببساطة، عندما تتجاوز العمليات الحسابية الحد الأقصى لنوع البيانات، يعيد النظام تلقائيًا القيمة إلى الحد الأدنى. على سبيل المثال، إذا كان الحد الأقصى لعدد صحيح غير موقع 8 بت هو 255، وعند محاولة زيادته بمقدار 1، يصبح الناتج 0.
في عقد Purchase الخاص بـTruebit، استُخدمت هذه الثغرة في حساب السعر. من خلال معاملات معاملات معدلة بعناية، تمكن المهاجمون من جعل حساب السعر يتجاوز الحد، مما سمح لهم بصك رموز TRU بسعر منخفض جدًا (قريب من الصفر). وهذا يعادل أن يقوم المهاجم بعملية كانت تتطلب دفع ملايين الدولارات، ويقوم بها بتكلفة شبه معدومة.
لماذا ظهرت هذه الثغرة
وفقًا لتحليل慢雾، السبب الجذري هو أن عقد Truebit يفتقر إلى آلية حماية من تجاوز الأعداد الصحيحة. هذه المشكلة معروفة في لغة البرمجة Solidity.
يستخدم Truebit إصدار Solidity قبل 0.8.0، مما يعني أن جميع العمليات الحسابية تتطلب حماية عبر مكتبة SafeMath. لكن من الواضح أن هذه الحماية تم إغفالها في جزء من حساب السعر.
مسار الهجوم ورد فعل السوق
كيف نفذ القراصنة هجماتهم
وفقًا للمراقبة، كانت عملية التنفيذ فعالة بشكل مذهل:
استغرقت العملية من اكتشاف الثغرة إلى تبييض الأموال أقل من 72 ساعة. مستوى احترافية المهاجمين وسرعة التنفيذ تشير إلى أن الأمر لم يكن مجرد محاولة عشوائية، بل هجوم مخطط له مسبقًا.
إشارات القلق في السوق
أثار هذا الحدث رد فعل سلبي واضح في السوق. وفقًا لأحدث البيانات، سعر ETH الحالي هو 3,102.47 دولار، ويظهر ضعفًا مؤخرًا: انخفاض بنسبة 0.03% خلال 24 ساعة، وانخفاض بنسبة 2.14% خلال 7 أيام. على الرغم من أن نسبة الانخفاض ليست حادة جدًا، إلا أن المشكلة الأعمق هي أن المستثمرين بدأوا يشككون في أمان مشاريع بروتوكولات التحقق من الحسابات (Computation Verification Protocol) من نوعية هذه المشاريع.
Truebit هو مكون أساسي في بيئة L2 للتحقق من الحسابات. الحادثة أثرت على ثقة المشروع نفسه، وأطلقت مخاوف في القطاع بأكمله حول “كم من الثغرات المشابهة لا تزال موجودة”.
الدروس المستفادة من الصناعة: ليست حادثة فردية
لماذا تعتبر SafeMath مهمة جدًا
في تقريرها، أوصت慢雾 بوضوح: لجميع العقود التي تم تجميعها بإصدار Solidity قبل 0.8.0، يجب دائمًا استخدام مكتبة SafeMath لحماية جميع العمليات الحسابية. هذا ليس خيارًا، بل ضرورة أساسية.
وظيفة مكتبة SafeMath بسيطة لكنها حاسمة: فهي تتحقق من حدوث تجاوز في كل عملية حسابية، وإذا حدث، تقوم بإلغاء المعاملة مباشرة. قد يبدو هذا خطوة زائدة، لكنه يمنع كوارث مثل Truebit.
مشكلة الثغرات في التدقيق
من المثير للاهتمام أن Truebit، كمشروع ذو تمويل جيد وبتقنية قوية، من المفترض أن يكون قد خضع لتدقيق أمني. ومع ذلك، تم تفويت الثغرة هذه المرة. يعكس ذلك مشكلة في الصناعة:
وهذا يعني أنه حتى مع التدقيق، لا يمكن ضمان الأمان بنسبة 100%.
التهديد المستمر من أدوات التمويه
تورنادو كاش لعب مرة أخرى دور “الثقب الأسود” للأموال. بعد تحويل الأموال إلى أدوات التمويه، يصبح من شبه المستحيل تتبعها أو تجميدها. ولهذا السبب، يُعتبر خسارة 8,535 ETH غير قابلة للاسترداد تقريبًا.
وهذا يوضح أنه حتى لو تم تحديد عناوين محافظ المهاجمين، فإن نقلهم الأموال إلى أدوات التمويه بسرعة يضعف جهود القانون لاحقًا.
الخلاصة
حادثة Truebit في جوهرها ناتجة عن إهمال في آلية حماية أساسية، مما أدى إلى كارثة. الخسارة التي بلغت 8,535 ETH و2,644 مليون دولار تبرز أن المشكلة أعمق من ذلك:
هذه الحادثة تعتبر درسًا مكلفًا للصناعة، ولكن إذا تم تعزيز معايير الأمان، وتطبيق تدقيق أكثر عمقًا، واختيار إصدارات أكثر أمانًا، فقد لا يكون الثمن هدرًا كاملًا.