تحليل عميق لواقعة سرقة 9 ملايين دولار من Yearn: من ثغرات البروتوكول إلى تبخر القيمة بالدولار

في 1 ديسمبر 2025، تعرض بروتوكول Earn لهجوم مركب متعدد الطبقات مخطط له جيدا في تاريخ التمويل اللامركزي، مما أدى في النهاية إلى خسارة حوالي 9 ملايين دولار من أصول المستخدمين. هذه ليست نقطة استغلال واحدة فقط، بل هي تدمير منهجي من قبل المهاجمين الذين يستخدمون قروض فلاش لاستغلال الأموال، واختراق آليات حماية البروتوكول طبقة بعد طبقة، وصك رموز LP المرتبطة ب yETH إلى أجل غير مسمى، وفي النهاية استنفد المخزون. هذا الحادث يحذر مرة أخرى الصناعة بأكملها: المخاطر الأمنية لبروتوكولات التمويل اللامركزي لا تكمن في ثغرة واحدة، بل في تراكب عدة عيوب - وهذا هو أصعب وضع هجوم في الصناعة للدفاع ضده.

نظرة عامة على الحدث: كيف يمكن لقروض الفلاش أن تكون محاولة للهجمات متعددة المراحل

قد تبدو استراتيجية تمويل المهاجم عادية، لكنها تضع الأساس لسلسلة من العمليات المتسلسلة اللاحقة. أطلقوا قروضا سريعة من بروتوكوليتي Balancer وAave في نفس الوقت، وأقرضوا عددا كبيرا من مشتقات ETH مثل wstETH، rETH، WETH، ETHx، وcbETH في وقت واحد. لم تدخل هذه الأصول مباشرة في الصفقة بل تم توزيعها بعناية: تم إرسال 100 من أصل 1,100 إيث إلى تورنادو. نقدا مقابل الخلط – خطوة كان هدفها الحقيقي إخفاء مصدر الأموال وتمهيد الطريق لعمليات “التبييض” اللاحقة.

بعد اكتمال المزج، سحب المهاجم 100 ETH 0x3e8e7533dcf69c698Cf806C3DB22f7f10B9B0b97 عنوان العقد الخبيث وفعل وظيفة الاحتياط. في هذا التراجع السري، تم تحويل جميع الأصول المقترضة إلى رموز LP لمجموعة تبادل الاستقرابات الموزونة yETH – وهو ما يعادل شراء “شهادات الأسهم” لهذا التجمع. على السطح، هذا حقن سيولة عادي، لكنه في الواقع هو التحضير النهائي لتقنية “تجويف البرك” الرائعة.

ثلاث نقاط ضعف أساسية: مزيج قاتل من فقدان الدقة، فقدان الإيرادات، وعدم تهيئة الإمدادات

ثغرة الطبقة الأولى: فقدان الدقة والتلاعب بالحالة بدون تكلفة

في قلب الهجوم التقني بأكمله يكمن خلل في الكود يبدو تافها:remove_liquidity الدالة لا تسبب دائرة قصيرة للمقدار الصفري

الخطوة الأولى للمهاجم هي خلق خلل شديد في التوازن المتعمد في المجموعة. وقد أطلق مرارا على دالة add_liquidity (إضافة سيولة)، لكنه تعمد تجاهل حقن المؤشر 3 (rETH)، المؤشر 6 (wOETH)، والمؤشر 7 (mETH)، مما وسع فجوة النسبة بين هذه الأصول الثلاثة والأصول الأخرى بشكل مصطنع. لاحقا، حقن من جانب واحد كمية هائلة من rETH، مما زاد من زيادة الخلل.

في هذه الحالة غير المتوازنة للغاية في البركة، ينادي المهاجم remove_liquidity، لكنه يدخل معامل مقدار السحب وهو 0. وفقا للمنطق التقليدي، يجب أن يعود سحب 0 رموز مباشرة ولا يجب أن يحدث أي تغييرات في الحالة على الإطلاق. لكن عقد pool.vy لا يفعل ذلك - فهو لا يزال ينفذ حلقة حساب vb_prod كاملة (منتج التوازن الافتراضي).

في البيئة الرياضية التي تميز فيها اختلال الوزن الشديد، تؤدي _pow_down الدالة (التقريب للأسفل) إلى فقدان كبير للدقة. يحسب العقد قيمة vb_prod صغيرة بشكل خاطئ ويكتب هذه القيمة المعدلة إلى الحالة العالمية packed_pool_vb. بشكل أساسي، نجح المهاجم في التلاعب بالقيمة الدفترية للمجموعة بأكملها من خلال عملية “صفر تكلفة” (لم يتم نقل أي رموز).

ثغرات الطبقة الثانية: سحب الإيرادات وتآكل الأسهم

الطبقة الثانية من الثغرات أكثر خفاء. عندما يستدعي المهاجم update_rates الدالة، يتم تفعيل منطق _update_supply الداخلي. وبما أن vb_prod تم قمعه عمدا، خلق النظام انطباعا خاطئا بأن القيمة الإجمالية للحوض قد انخفضت بشكل حاد. لموازنة الدفتر، يحرق العقد تلقائيا كمية كبيرة من رموز LP التي يحتفظ بها عقد الرهن.

نفذ المهاجم عمليات المراجحة بدقة قبل وبعد تحديث سعر الصرف. كل عملية استدعاء update_rates تحديث سعر صرف أصل معين (مثل wOETH، mETH)، ثم تتصل فورا remove_liquidity سحب الأصل. نظرا لأن عددا كبيرا من أسهم عقد الرهنة تم تدميرها، فقد ارتفعت نسبة أسهم LP في يد المهاجم بشكل سلبي. من خلال تكرار دورة “التحديث-الاستخراج-الحرق” هذه، كان المهاجم يضغط التوازن الفعلي بين wOETH وmETH في المجموعة خطوة بخطوة، بينما يدفع إجمالي الإمداد في التجمع إلى حدود القيمة الصفرية الخطيرة.

نقطة ضعف الطبقة 3: نقطة التحول عند الصفر من التوفير المحدود للسك

بعد سلسلة من العمليات في المرحلتين الأوليين، تم تفريغ المخزون: إجمالي الإمدادات قريب من الصفر، وبقية wOETH وmETH منخفضة جدا. في هذه المرحلة، يوجه المهاجم الضربة القاتلة النهائية: ينادي add_liquidity باستخدام المعلمات المحقونة [1، 1، 1، 1، 1، 9] - أي أن أول سبعة أصول تحقن 1 وي (أصغر وحدة)، والثامنة (mETH) تحقن 9 وي.

هذه العملية التي بدت سخيفة أدت إلى انهيار حسابي للعقد في لحظة حرجة كان على وشك تدمير البركة. فشلت صيغة _calc_supply التكرارية عند التعامل مع القيمة الدنيا، وتم سك العقد بشكل خاطئ235,443 رمز YETH LP。 إنه يعادل خلق ملايين الدولارات من الأصول المزيفة من العدم.

شرح مفصل للمراحل الأربع للهجوم: من اختلال شديد في التوازن إلى السك اللانهائي

المرحلة الأولى: إعداد الصندوق وتهيئة حالة التجميع

  • استعارة عدة مشتقات ETH من Balancer و Aave
  • إخفاء مصدر الأموال من خلال تورنادو. خلط النقود
  • تحويل جميع الأموال المختلطة والأصول المقترضة إلى رموز yETH LP

المرحلة الثانية: التصنيع الاصطناعي لعدم التوازن الشديد

  • حقن سيولة أحادية الجانب بشكل متكرر، متخطى رموز محددة (rETH، wOETH، mETH)
  • الحقن الأحادي الجانب لكميات هائلة من rETH يزيد من توسيع الخلل
  • تخلق هذه المرحلة ظروفا رياضية لفقدان الدقة

المرحلة الثالثة: تجريد الإيرادات والتعدي على الأسهم

  • تحفيز فقدان حالة الدقة بمقدار remove_liquidity (0).
  • المكالمات update_rates تحديث سعر الصرف، مما يؤدي إلى تدمير رموز LP الخاصة بعقد الرهبنة
  • عمليات التحكيم المتكررة لتفريغ توازنات wOETH وmETH
  • إجمالي الإمداد في المسبح يدفع إلى 0

المرحلة 4: صك غير محدود بدون إمداد

  • الاتصال add_liquidity عندما يكون المسبح على وشك التدمير ([1,1,1,1,1,1,1,9])
  • تعطل حساب _calc_supply العقد، حيث تم سك 235,443 رمز LP بشكل غير صحيح
  • يكمل المهاجم تبادل الأصول من خلال Exchange وRedeem
  • سداد القروض السريعة، واستبدال الأصول المكتسبة بأصول سائلة مثل البيتكوين والدولار الأمريكي للتصفية

تتبع ومسار تصفية الصندوق: فقدان القيمة من yETH إلى الدولار الأمريكي

الكوميديا السوداء المطلقة لهذا الهجوم تكمن في سلسلة الهروب من الأموال. تم استبدال 235,443 رمز LP التي حصل عليها المهاجمون تدريجيا ب ETH والعملات المستقرة من خلال سلسلة من عمليات التبادل. ثم يتم استبدال هذه الأصول بأشكال أكثر قابلية للإخفاء مثل البيتكوين من خلال أزواج تداول DEX، وفي النهاية يتم تبادل ملايين الدولارات من الأصول نقدا أو بيتكوين عبر منصات خارج البورصة (OTC). خلال العملية بأكملها، تم تحويل 9 ملايين دولار من أموال المستخدمين بشكل واضح من رصيد البروتوكول إلى محفظة المهاجم على السلسلة، ثم تم تحويلها تدريجيا إلى دولار أمريكي وبيتكوين وغيرها، وأخيرا هربت من أموالها.

تداعيات الصناعة: كيف يمكن لبروتوكولات التمويل اللامركزي الحماية الحماية من هجمات التركيب المعقدة

هناك ثلاث دروس رئيسية من هذا الحادث:

الدرس الأول: تعزيز التحقق من مشاهد الحافة يجب على بروتوكولات اللاتمويل اللامركزي إجراء فحوصات منطقية صارمة على سيناريوهات الحافة مثل “الكمية الصفرية” و"عدم التوازن الشديد". يجب أن يعود remove_liquidity بمجرد استلام معامل 0، بدلا من تنفيذ حلقة حسابية كاملة. قد يبدو هذا النوع من “معالجة الدائرة القصيرة” بسيطا، لكنه يمكن أن يمنع بفعالية احتمال التلاعب بالحالة.

الدرس 2: تحسين منطق الحساب الدقيق يجب أن تدخل _pow_down والوظائف الأخرى التي تتضمن حسابات نسبية متطرفة آليات حماية. فكر في استخدام مكتبة معالجة رقمية أكثر تطورا، أو إضافة كشف فائض وسيط، أو استخدام فروع خوارزمية مختلفة في السيناريوهات القصوى. تاريخيا، تعرض بروتوكول التوازن للهجوم بسبب مشاكل دقة مماثلة، وهو درس من الماضي.

الدرس 3: إنشاء مراقبة الشذوذ متعددة الأبعاد من الضروري بناء نظام مراقبة في الوقت الحقيقي لتوفير الإنذار المبكر للعمليات التالية:

  • التكرار العالي لحقن السيولة أحادية الجانب يؤدي إلى اختلال شديد في الحوض
  • تقلبات غير طبيعية في سعر الصرف وأحداث احتراق تلقائية
  • تكرار غير معتاد للمعاملات ذات المبلغ الصفري والعمليات ذات القيمة الدنيا
  • إجمالي الإمدادات في المجمع يتقلب بشكل حاد خلال فترة زمنية قصيرة

بالنسبة لمنظومة DeFi بأكملها، تثبت هذه الحادثة حقيقة عميقة:الأمن ليس عن إصلاح ثغرة، بل عن منع مجموعة من العيوب المتعددة بشكل منهجي。 يحتاج مطورو البروتوكولات إلى النظر إلى منطق الكود من منظور كامل العملية وعدم التخلي عن أي عيوب تصميم تبدو “غير ضارة”. وفي الوقت نفسه، تحتاج الصناعة إلى تعزيز قدرات التتبع والتجميد على السلسلة لتدفقات رأس مال المهاجمين، وتحسين قدرات الحماية العامة من خلال القوائم السوداء ل DEX والتحكم في مخاطر منصات OTC. اختراق يير ليس النهاية، بل يجب أن يكون محفزا لتطور السلامة في الصناعة بأكملها.

BAL‎-3.01%
AAVE‎-4.08%
ETH‎-2.51%
BTC‎-1.45%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
إضافة تعليق
إضافة تعليق
لا توجد تعليقات
  • تثبيت