تحليل معمق: هجوم التلاعب في NAV لقروض الإضاءة في خزنة Morpho بعد فك ربط USR

robot
إنشاء الملخص قيد التقدم

في 22 مارس 2026، تعرض بروتوكول Resolv لسرقة مفتاح خاص، حيث قام المهاجمون بخلق 80 مليون USR بدون ضمان، مما أدى إلى هبوط سعر USR من 1 دولار إلى 0.025 دولار.

لم تقتصر تداعيات هذه الكارثة على حاملي USR فقط، بل قام مجموعة أذكى بتنفيذ هجوم دقيق على NAV الخاص بصناديق Morpho.

سوف نقوم هنا بتحليل هذا الهجوم خطوة بخطوة منطقها الأساسي.

أولاً، فهم بنية Morpho ذات الطبقتين

قبل الحديث عن الهجوم، يجب أن تفهم تصميم بنية Morpho، وإلا فلن تتمكن من فهم التفاصيل لاحقًا.

عالم Morpho مقسم إلى طبقتين:

الطبقة الأساسية:

Morpho Blue (المعروف أيضًا باسم Morpho Core). هو بروتوكول إقراض بسيط جدًا وغير قابل للتحديث. فلسفته التصميمية هي “بدون إذن” — يمكن لأي شخص إنشاء سوق إقراض، وإيداع، وسحب، وتسوية.

كل سوق يُحدد بواسطة خمسة معلمات فريدة: الأصل المقترض، الأصل المرهون، خط التسوية (LLTV)، عنوان السعر الآلي، ونموذج الفائدة.

الأسواق معزولة تمامًا، فمشاكل سوق واحد لا تؤثر على الأخرى.

الطبقة العليا:

MetaMorpho Vault (الصندوق). هو صندوق وفقًا لمعيار ERC-4626، ويشبه “منتج صندوق استثماري”.

يقوم المستخدمون بإيداع USDC في الصندوق، ويقوم مدير الصندوق (Curator) بتوزيع هذه الأموال على أسواق Morpho Blue المختلفة لإقراضها وتحقيق الفائدة.

المستخدمون يمتلكون حصص الصندوق (shares)، وتزداد قيمة الحصة مع تراكم الفوائد.

الصيغة الأساسية — صافي قيمة السهم (NAV / سعر السهم): صافي قيمة السهم = إجمالي الأصول / إجمالي العرض

إجمالي الأصول هو مجموع مراكز الإيداع في جميع الأسواق (بما في ذلك المبالغ المقترضة، لأنها “مستحقات”). إجمالي العرض هو إجمالي الحصص المصدرة من الصندوق. مع تراكم الفوائد، يزيد إجمالي الأصول لكن إجمالي الحصص يبقى ثابتًا، لذلك ترتفع قيمة السهم — وهذه هي الطريقة التي تربح بها المال.

ثانيًا، supply(onBehalf) — أي شخص يمكنه إيداع نيابة عن الصندوق

هذه هي النقطة الأساسية الأولى في الهجوم.

داخل Morpho Blue، وظيفة supply() تحتوي على معلمة onBehalf. الهدف من هذا التصميم هو تسهيل الدفع من طرف ثالث — مثل العقود الآلية التي يمكنها إيداع الأموال نيابة عن المستخدم.

لكنها غير مرخصة تمامًا: أي شخص يمكنه تحديد أي عنوان كـ onBehalf، بما في ذلك عنوان الصندوق.

توثيق Morpho الرسمي يحذر بوضوح: “تحذير: يمكن لأي شخص أن يزود نيابة عن الصندوق، لذلك يمكن أن يتم التلاعب بترتيب سحب الأموال (updateWithdrawQueue) الذي يتوقع أن يكون السوق فارغًا من خلال التقدم على الصفقة.”

عندما تقوم بإيداع 10,000 USDC نيابة عن الصندوق، فإن مركز الإيداع في هذا السوق يزداد بمقدار 10,000، ويزداد إجمالي الأصول بمقدار 10,000. لكن إجمالي الحصص (totalSupply) لا يتغير — لأنه لم يتم إيداع أموال جديدة عبر وظيفة deposit() الخاصة بالصندوق.

النتيجة: ارتفاع صافي قيمة السهم.

عادة، هذا يعادل “تبرع” للصندوق — أنت تدفع من جيبك لزيادة أرباح جميع المساهمين، وهذا تصرف غبي، لكن يمكن استغلاله في ظروف معينة.

ثالثًا، حد الإيداع (Supply Cap) = 0 ≠ أمان

بعد أن خرج USR عن الربط، قام بعض مديري الصناديق بسرعة بضبط حد الإيداع في سوق USR/USDC إلى 0، مما يعني أن المديرين لم يعودوا قادرين على إيداع أموال في هذا السوق. هل يبدو أن المشكلة حُلت؟

المشكلة أن: حد الإيداع هو قيد على مستوى الصندوق، وليس على مستوى Morpho Blue.

مدير الصندوق يمكنه فقط التحكم في وظيفة _supplyMorpho() الخاصة به.

لكن supply(onBehalf=vault) يتفاعل مباشرة مع عقد Morpho Blue Core، متجاوزًا تمامًا منطق الصندوق: قائمة الإيداع، حد الإيداع، صلاحيات المُخصص، كل ذلك يتجاوز.

كمثال: مدير الصندوق أغلق الباب الأمامي (Cap=0)، لكن المهاجم يمكنه من خلال الباب الخلفي لعقد Morpho Core أن يودع الأموال مباشرة.

رابعًا، السعر الآلي الثابت — درع الخسائر غير مرئي

هذه هي الشرط الثاني الرئيسي.

تم ضبط سعر السعر الآلي لسوق USR/USDC على أنه ثابت 1:1. بمعنى، بغض النظر عن مدى انخفاض قيمة USR في السوق الخارجية، في عالم Morpho، 1 USR دائمًا يساوي 1 USDC.

لماذا يستخدم مدير الصندوق سعر سعر ثابت؟ لأن USR هو “عملة مستقرة”، وعادةً تكون تقلباتها صغيرة جدًا. السعر الثابت يمنع “التصفية الوهمية” الناتجة عن نقص السيولة قصيرة الأمد.

لكن عندما يفقد USR ربطه، يصبح السعر الثابت كارثة — المقترضون يستخدمون USR غير ذات القيمة كضمان لاقتراض USDC بكميات كبيرة، بينما لا يدرك البروتوكول ذلك.

آلية معالجة الديون المعدومة في Morpho تفشل هنا تمامًا — سواء في الإصدار 1.0 الذي يعكس الحالة في الوقت الحقيقي، أو في الإصدار 1.1 الذي يعتمد على توزيع الخسائر، بشرط أن يكون البروتوكول قادرًا على التعرف على الديون المعدومة.

السعر الثابت لا يمكنه التعرف على الخسائر، لأنه لا يتغير.

خامسًا، سير الهجوم — دورة مغلقة من خمس خطوات

الآن، توافرت جميع الشروط. العمليات التالية تتم في عملية واحدة ذكية:

سادسًا، لماذا نحتاج بالضرورة إلى قرض فوري (Flash Loan)؟

هذه هي المشكلة التي يُغفل عنها غالبًا. مصدر الربح في الهجوم هو “زيادة إجمالي الأصول بشكل وهمي ثم توزيع الزيادة حسب الحصص”. إذا لم يستخدم المهاجم قرض فوري، فحصته ستكون 0% — حتى لو زاد إجمالي الأصول بشكل كبير، فإن الزيادة ستعود للمساهمين الآخرين، ولن يحصل هو على شيء.

سابعًا، من هو الخاسر؟

المبلغ الذي سرقه المهاجم وهو 12,300 USDC لم يأتِ من فراغ. هذه الأموال جاءت من السيولة الحقيقية في صناديق أخرى سليمة.

عند استرداد الصندوق، يتم سحب USDC من الأسواق المختلفة وفقًا لترتيب قائمة السحب (withdraw queue). سوق USR قد استُنفدت منه USDC، فلا يمكن سحب أموال منه. لذلك، تأتي الأموال من أسواق أخرى — مثل wETH/USDC، وcbBTC/USDC، وغيرها من الأسواق التي تعمل بشكل طبيعي.

ثامنًا، تراكب الثغرات الثلاثة

الهجوم لم يكن نتيجة ثغرة واحدة، بل تراكب لثلاثة مشاكل تصميمية:

ختامًا

فلسفة تصميم Morpho المبسطة — بدون إذن، غير قابلة للتحديث، بحوكمة بسيطة — غالبًا ما تكون ميزة. لكن، تظهر هذه الحادثة أن البساطة تأتي مع مسؤولية أكبر على المشاركين في الطبقة العليا.

البروتوكول لا يتحقق من صحة السعر الآلي، لذلك على المديرين أن يفعلوا ذلك بأنفسهم. عدم تقييد supply(onBehalf) يعني أن الصناديق بحاجة إلى حماية إضافية.

بالنسبة للمودعين، فإن “اختيار المدير الصحيح” أهم من “اختيار Morpho نفسه”. البروتوكول هو أداة، و مدى أمان الأداة يعتمد على من يستخدمها.

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

    عرض المزيد
  • القيمة السوقية:$2.29Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$0.1عدد الحائزين:1
    0.00%
  • القيمة السوقية:$2.32Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$2.33Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$2.33Kعدد الحائزين:1
    0.00%
  • تثبيت