كشف الغموض عن المخاوف الأمنية في Morpho Labs: ماذا حدث؟
في 11 أبريل 2025، اهتز مجتمع التمويل اللامركزي (DeFi) بسبب مشكلة أمنية تتعلق بـ Morpho Labs، وهو مشروع معروف بجودة الكود العالية وممارسات الأمان الصارمة، بما في ذلك 34 تدقيقًا مدرجًا علنًا (Morpho Docs). قام مستخدم باسم Greysign @greysign1 بنشر تحقيق مفصل في الحادث على X، كاشفًا عن ثغرة حرجة تتعارض مع ادعاءات Morpho الأولية. دعونا نحلل ما حدث، ولماذا هو مهم، وكيف يمكنك حماية نفسك.
Morpho Labs، بروتوكول تمويل لامركزي، طرح تحديثًا للواجهة الأمامية في 10 أبريل 2025، بهدف تحسين تدفقات المعاملات في تطبيق Morpho الخاص بهم. ومع ذلك، بحلول الساعة 3:54 صباحًا بتوقيت وسط أوروبا في 11 أبريل، أشار تقرير إلى أن بعض المعاملات كانت تُصاغ بشكل غير صحيح، مما أدى إلى استجابة سريعة من فريق Morpho. قاموا بإصلاح المشكلة بحلول الساعة 4:44 صباحًا بتوقيت وسط أوروبا ونشروا التحديث على X بحلول الساعة 5:23 صباحًا بتوقيت وسط أوروبا (Morpho Labs Update). في البداية، ادعت Morpho أن المشكلة كانت محدودة بالواجهة الأمامية، مؤكدة للمستخدمين أن الأموال في بروتوكول Morpho آمنة. لكن تحقيق Greysign كشف عن مشكلة أعمق: المشكلة لم تكن مجرد واجهة أمامية - بل كانت ثغرة على مستوى العقد في Bundler3.
المتهم الحقيقي: ثغرة في عقد Bundler3
اشتبه Greysign في البداية في استغلال الواجهة الأمامية، معتقدًا أن المتسللين ربما حقنوا رمزًا خبيثًا في تطبيق Morpho لسرقة توقيعات Permit2 قبل إرسال المعاملات إلى البلوك تشين. Permit2 هو معيار يسمح للمستخدمين بالموافقة على عمليات نقل الرموز المميزة بشكل آمن، وغالبًا ما يستخدم في DeFi لتبسيط التفاعلات. ومع ذلك، بعد تحليل معاملات الهجوم، استنتج Greysign أن المشكلة كانت في عقد Bundler3 نفسه، وليس الواجهة الأمامية.
Bundler3، كما هو موضح في وثائق Morpho (Introducing Bundler3)، هو عقد مفتوح المصدر وغير قابل للتغيير مصمم للتعامل مع مكالمات عقود متعددة في معاملة واحدة - وهي ميزة تسمى multicall. هذا مفيد في DeFi لأن الحسابات المملوكة خارجيًا (EOAs)، مثل محفظة Ethereum النموذجية الخاصة بك، لا يمكنها تنفيذ إجراءات متعددة في وقت واحد. كان من المفترض أن يحل Bundler3 هذا عن طريق تجميع المكالمات، مثل الموافقة على نقل الرمز المميز وتنفيذ صفقة في وقت واحد. تم تدقيقه من قبل Spearbit و OpenZeppelin وحتى تم التحقق منه رسميًا بواسطة Certora، مع برنامج مكافآت الأخطاء بقيمة 1.5 مليون دولار على Immunefi و Cantina. إذن، ما الخطأ الذي حدث؟
تكمن الثغرة الأمنية في كيفية تنفيذ وظيفة multicall في Bundler3. على عكس multicall الأساسي، الذي يقوم ببساطة بتجميع المكالمات، سمح Bundler3 للمستخدمين بتمرير مكالمات عشوائية ليتم تنفيذها نيابة عنهم. ومع ذلك، فقد افتقر إلى القيود المناسبة، مما يعني أن المهاجمين يمكنهم التلاعب بالمكالمات. إليك كيف يعمل الاستغلال:
- سيتفاعل المستخدم مع Bundler3، ويوافق عليه لإدارة الرموز المميزة الخاصة به عبر توقيع Permit2.
- ستدخل معاملة المستخدم، بما في ذلك توقيع Permit2، إلى الميمبول - منطقة الانتظار لمعاملات Ethereum.
- سيكتشف روبوت MEV (Maximum Extractable Value)، الذي يفحص الميمبول بحثًا عن فرص مربحة، المعاملة. روبوتات MEV هي أنظمة آلية تستغل ترتيب المعاملات لتحقيق الربح، غالبًا من خلال تكتيكات مثل التنفيذ الأمامي أو الساندويتش (Blocknative on MEV).
- سيقوم الروبوت بتنفيذ المعاملة الأمامية للمستخدم عن طريق إرسال معاملته الخاصة برسوم غاز أعلى، باستخدام نفس توقيع Permit2 لتنفيذ استدعاء
TransferFrom
عبر multicall الخاص بـ Bundler3. أدى هذا إلى إعادة توجيه رموز المستخدم إلى عنوان المهاجم.
شارك Greysign لقطة شاشة لمعاملة هجومية، مسلطًا الضوء على استدعاء TransferFrom
الضار باللون الأحمر:
القضية الأساسية؟ لم تضمن multicall الخاصة بـ Bundler3 التنفيذ الذري - مما يعني أن المكالمات المجمعة لم تكن مضمونة التنفيذ كوحدة واحدة غير قابلة للانقطاع. يمكن للمهاجمين العبث بالمكالمات، واستغلال عدم وجود قيود لسرقة الرموز المميزة.
استجابة Morpho والإصلاح: خطوة إلى الوراء إلى Bundler2
أوقف Morpho Labs بسرعة الواجهة الأمامية لتطبيق Morpho بعد تحديد المشكلة وادعى لاحقًا أن الواجهة الأمامية آمنة، ولا يلزم اتخاذ أي إجراء إضافي من المستخدمين. ومع ذلك، تشير نتائج Greysign إلى أن Morpho قلل من خطورة الأمر من خلال تأطيره على أنه مشكلة في الواجهة الأمامية. في الواقع، تضمن الإصلاح التخلي عن Bundler3 تمامًا.
لاحظ Greysign أن Morpho عاد إلى استخدام Bundler2، وهو إصدار أقدم من العقد (العنوان: 0x4095f064b8d3c3548a3bebfd0bbfd04750e30077). على عكس Bundler3، لدى Bundler2 ضوابط أكثر صرامة، ووظائف التفاف وتقييد أنواع المكالمات التي يمكن تنفيذها. هذا يمنع المهاجمين من تمرير مكالمات عشوائية، مما يغلق الثغرة الأمنية بشكل فعال. أكد Greysign ذلك عن طريق اختبار تطبيق Morpho المحدث، الذي يستدعي الآن Bundler2:
ومن المثير للاهتمام، تم نشر Bundler3 قبل 74 يومًا ولكنه أصبح نشطًا لمدة 10 ساعات تقريبًا فقط، مع وقوع معظم المعاملات قبل 18 ساعة من الحادث. لا يزال قرار Morpho بالتبديل إلى Bundler3 في المقام الأول غير واضح، خاصة وأن Greysign لم يتمكن من العثور على أي تقارير تدقيق تتناول تحديدًا تنفيذ multicall الخاص بـ Bundler3 في تقارير Morpho لعام 2024.
لماذا هذا مهم: ثغرة نمطية في DeFi
لم يكن هذا خطأ لمرة واحدة مرتبطًا بمنطق أعمال Morpho - بل هو ثغرة نمطية يمكن أن تؤثر على بروتوكولات DeFi الأخرى التي تستخدم تطبيقات multicall مماثلة. سمح عدم وجود تنفيذ ذري في multicall الخاص بـ Bundler3 للمهاجمين باستغلال الميمبول، وهو ناقل هجوم شائع في دورة حياة معاملات Ethereum. أظهر Greysign أن المعاملات الأخرى التي تتضمن Bundler3 كانت أيضًا عرضة للخطر، ومحاكاة الهجمات للتأكد من إمكانية سرقة الرموز المميزة:
يسلط هذا الحادث الضوء على مخاطر الموافقات على الرموز المميزة في DeFi. عندما توافق على عقد مثل Bundler3 لإدارة الرموز المميزة الخاصة بك، تستمر هذه الموافقة حتى يتم إبطالها. إذا كان لدى العقد ثغرة أمنية، فيمكن للمهاجمين استغلالها لاستنزاف أموالك، حتى بعد فترة طويلة من تفاعلك الأولي (Dexola on Token Approvals).
كيفية البقاء آمنًا: إبطال الموافقات وتجنب Bundler3
تحذير Greysign النهائي مهم للغاية: إذا كنت قد تفاعلت مع Bundler3 (العنوان: 0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245) ووقعت موافقة Permit2، فإن الرموز المميزة الخاصة بك معرضة للخطر. لا يزال بإمكان روبوتات MEV تنفيذ معاملاتك الأمامية في الميمبول وسرقة أموالك. إليك ما يجب عليك فعله:
- إبطال الموافقات على الرموز المميزة: استخدم خدمة مثل Revoke.cash للتحقق من أي الموافقات التي قدمتها لـ Bundler3 وإبطالها. هذا يمنع المهاجمين من استخدام الموافقات الحالية الخاصة بك لسرقة الرموز المميزة.
- تجنب تفاعلات Bundler3: لا تتفاعل مع عقد Bundler3 حتى تؤكد Morpho إصلاحًا دائمًا أو تتخلى عنه تمامًا.
- تحقق من سجل معاملاتك: راجع سجل معاملات محفظتك بحثًا عن أي تفاعلات مع Bundler3، خاصةً إذا كنت تستخدم تطبيق Morpho في الفترة من 10 إلى 11 أبريل 2025.
لحسن الحظ، الأموال المودعة بالفعل في بروتوكول Morpho نفسه آمنة، حيث أن الثغرة الأمنية تؤثر فقط على التفاعلات مع Bundler3، وليس البروتوكول الأساسي.
الصورة الأكبر: الشفافية والثقة في DeFi
أعرب Greysign عن خيبة أمله في Morpho Labs، وهو فريق كان يعجبه سابقًا لجودة الكود والتركيز على الأمان. أدى نقص الشفافية - تأطير المشكلة على أنها مشكلة في الواجهة الأمامية في حين أنها كانت ثغرة في العقد - إلى تآكل الثقة. قوبل وعد Morpho بإصدار منشور مفصل في الأسبوع التالي (Morpho Labs Update) بالتشكيك، حيث تساءل مستخدمون مثل 0xSimon عن التأخير @0xsimonliu.
يؤكد هذا الحادث على أهمية الشفافية في DeFi. عندما تنشأ مشكلات أمنية، فإن التواصل الواضح والصادق أمر بالغ الأهمية للحفاظ على ثقة المستخدم. كما يسلط الضوء على الحاجة إلى اختبار صارم لتحديثات العقد، خاصة عند استبدال تطبيق آمن (Bundler2) بتطبيق جديد (Bundler3) يقدم مخاطر غير متوقعة.
أفكار أخيرة
إن الحادث الأمني في Morpho Labs في أبريل 2025 هو تذكير صارخ بتعقيدات ومخاطر DeFi. في حين أن Morpho تصرفت بسرعة للتخفيف من المشكلة، فإن سوء الفهم الأولي وطبيعة الثغرة الأمنية تثيران أسئلة مهمة حول تصميم العقد وسلامة المستخدم. بفضل تحقيق Greysign الشامل، أصبح لدى المجتمع الآن صورة أوضح لما حدث وكيفية حماية أنفسهم.
إذا كنت مستخدمًا لـ Morpho، فاتخذ إجراءً الآن لإبطال أي موافقات Bundler3 وكن حذرًا. بالنسبة لمساحة DeFi الأوسع، يعد هذا الحادث دعوة لإعطاء الأولوية للتنفيذ الذري في تطبيقات multicall والتواصل بشفافية أثناء الأزمات. ابق آمناً، وتحقق دائمًا من العقود التي تتفاعل معها!