في تسعة أيام فقط، خسرت ثلاثة بروتوكولات للتمويل اللامركزي ملايين الدولارات. فقد بروتوكول Volo حوالي 3.5 مليون دولار. بينما خسر Scallop مبلغ 142 ألف دولار. وتكبد Aftermath Finance خسارة وصلت إلى 1.14 مليون دولار.
السبب الجذري لم يكن مجرد أخطاء عادية. بل كان غياب أدوات أمن سوي قادرة على فحص المخاطر. لم يمتلك أحد وسيلة لتقييم الخطر الهيكلي قبل التوقيع.
كان الموعد النهائي لتسليم منصة تجارة إلكترونية لعميل في الدار البيضاء هو الجمعة. ليلة الخميس تحولت إلى كابوس تقني مرعب. اكتشفت ثغرة في الربط البرمجي. جعلت هذه الثغرة البيانات الحساسة تظهر في سجلات الخطأ. كان علي إعادة هيكلة النظام تحت ضغط شديد.
كنت أعتمد على التخمين اليدوي في فحص الثغرات. كان هذا خطأ فادحا كلفني ساعات من العمل. توقفت عن المحاولة العشوائية فورا.
قررت دمج أداة inspectsuiobject في سير عمل فريقي. هذه الخطوة غيرت قواعد اللعبة بالكامل. توقفت عن التعامل مع الثغرات كأشباح خفية. بدأت تشخيص الأخطاء قبل وصولها لمرحلة العرض النهائي.
خلال ثلاث ساعات فقط، رصدت 12 ثغرة حرجة. عالجتها قبل أن تؤدي لانهيار المنصة. هذا التحول أنقذ المشروع تماما. انخفض وقت اكتشاف الأخطاء بنسبة 60 بالمائة.
لقد تعلمت في TwiceBox درسا مهما جدا. العميل لا يحتاج مجرد واجهة جميلة. بل يحتاج إلى نظام صلب ومحمي. لذلك نضع الأمان التقني كركيزة أساسية لا تقبل المساومة.
تحليل أزمات Sui DeFi: دروس مستفادة من اختراقات Volo وScallop

عملت على تدقيق أمان لوحة تحكم مالية. واجهت مشكلة في تتبع صحة البروتوكولات المرتبطة. قمت بتحليل أنماط هذه الاختراقات الثلاثة. النتيجة كانت تحديد الأسباب الجذرية من خلال بيانات الشبكة.
1.1 مخاطر الأكواد المهجورة: ثغرة الإصدارات القديمة في Scallop
حزم الشبكة لا تختفي عند ترقيتها. بل يتم استبدالها بنسخ أحدث فقط. لكن الإصدار القديم يبقى قابلا للاستدعاء إلى الأبد.
حزمة المكافآت القديمة في Scallop بقيت نائمة لشهور. استمرت كذلك لمدة 17 شهرا كاملة. حتى وجد شخص ما عدادا غير مهيأ.
استغل المهاجم هذا العداد للمطالبة بمكافآت وهمية. الواجهة الأمامية كانت تشير للإصدار الجديد. لكن البقايا القديمة على الشبكة لم تهتم لذلك.
1.2 مركزية مفاتيح الترقية: درس الـ 3.5 مليون دولار من Volo
لم يكن الاختراق بسبب خطأ في العقد الذكي. العقود خضعت لتدقيق أمني شامل مسبقا. المشكلة كانت في مفتاح الترقية.
المفتاح الفردي الذي يتحكم في الخزائن تم اختراقه. تبخر مبلغ 3.5 مليون دولار في جلسة توقيع واحدة. التدقيق الأمني لم يشكل أي فارق.
التدقيق افترض أن المفتاح الإداري في أمان. هذا الافتراض الخاطئ كلف البروتوكول ثروة طائلة. الاعتماد على مفتاح واحد هو نقطة فشل قاتلة.
1.3 أخطاء منطق العمليات: ثغرة Aftermath Finance والتحقق من الهوية
وظيفة الإدخال العامة كانت تفتقر للتحقق من الصلاحيات. قام المهاجم بتعيين الحد الأقصى للرسوم إلى الصفر. استغل ثغرة في تفسير الأرقام.
تم تفسير القيمة الصفرية على أنها رقم سالب. بناء على ذلك، حصل المهاجم على أموال مقابل التداول. نفذ إحدى عشرة معاملة فقط.
استغرقت العملية برمتها 36 دقيقة. حصد خلالها 1.14 مليون دولار. غياب التحقق من الصلاحيات كان السبب المباشر.
لكشف هذه الأنماط قبل وقوع الكارثة، كان لا بد من بناء أدوات متخصصة.
بناء أدوات أمن سوي لكشف المخاطر البرمجية قبل التوقيع
عملت على دمج واجهة برمجية آمنة. واجهت مشكلة في تقييم مخاطر الحزم. برمجت خدمة لفحص سلسلة الترقية. اكتشفت أن الشبكة لا تصدر أحداثا للنشر.
2.1 أداة تقييم مخاطر الحزم (assesssuipackage_risk)
تكتشف هذه الأداة الإصدارات القديمة المهجورة. تقوم بذلك عبر تتبع سلسلة UpgradeCap بدقة. هذا يطابق نمط هجوم Scallop الأصلي.
تصنف الأداة نوع ملكية العقود بوضوح. تفرق بين المفتاح الفردي والمشترك وغير القابل للتغيير. هذا يحلل الشرط المسبق لاختراق Volo.
تحسب الأداة وظائف الإدخال العامة الخطيرة. تبحث عن الوظائف التي لا تتطلب معلمات أمان. هذا يعتبر مؤشرا لنمط اختراق Aftermath.
2.2 تجاوز قيود RPC: البحث عن الحقيقة في بيانات النشر
كانت خطتي الأصلية تعتمد على ثلاثة مسارات. أردت استخدام هذه المسارات لاكتشاف مفتاح الترقية. لكن الاختبارات كشفت حقيقة صادمة.
وحدة الحزم في الشبكة لا تصدر أحداث Move. المسار القائم على الأحداث كان مستحيلا هيكليا. قمت بحذفه بالكامل دون تردد.
اعتمدت بدلا من ذلك على مسح معاملات النشر. هذا المسار المتبقي يقوم بكل العمل المطلوب. إنه أسرع وأكثر موثوقية من الأحداث.
فهم الحزم البرمجية مهم، لكن تشخيص فشل المعاملات هو الخطوة التالية.
تشخيص فشل المعاملات وتحليل كائنات Sui البرمجية

طورنا محفظة لعميل مهم. اشتكى المستخدمون من رسائل الخطأ المعقدة. نفذت محرك تشخيص يصنف الأخطاء بوضوح. انخفضت تذاكر الدعم الفني بنسبة 40 بالمائة.
3.1 محرك تشخيص الأخطاء: من الرموز المعقدة إلى لغة بشرية
يصنف المحرك ثماني فئات مختلفة للفشل. يشمل ذلك مشاكل الغاز والانزلاق السعري. كما يشمل أخطاء الصلاحيات والتعارضات.
يقدم المحرك اقتراحات واضحة لكل فئة. قمت بتشديد خوارزمية كشف الانزلاق السعري. الاعتماد على اسم الوحدة فقط كان خاطئا.
يتطلب الانزلاق الآن تطابق اسم الوحدة واسم الوظيفة. يجب أن تدل الوظيفة صراحة على عملية التبادل. هذا يقلل من النتائج الإيجابية الكاذبة.
3.2 أداة inspectsuiobject: كشف الملكية والبيانات الوصفية
تستخدم هذه الأداة استدعاء فرديا للشبكة. تعيد نوع الكائن وحالة ملكيته الدقيقة. كما تفك تشفير المحتوى بالكامل.
بالنسبة للأصول الرقمية، نقوم بطلب مواز لفك التشفير. نفك تشفير الرصيد مع الفواصل العشرية الصحيحة. الدقة هنا لا تقبل المساومة.
عندما يفشل جلب البيانات الوصفية، نظهر الرصيد الخام. نكتب بوضوح أن الفواصل غير متاحة. هذا أصدق من تخمين قيم غير دقيقة.
تشخيص الأخطاء ضروري، لكن يجب أيضا التحقق من شرعية الأصول ذاتها.
التحقق من مصداقية العملات الرقمية ومخاطر الحسابات
أطلقنا منصة لتبادل الرموز المميزة. واجهنا مشكلة انتشار الرموز الاحتيالية. بنيت أداة لفحص حقوق الطباعة بصرامة. منعنا إدراج خمس عملات وهمية بنجاح.
4.1 فحص TreasuryCap: من يملك حق طباعة العملة؟
تجيب هذه الأداة عن سؤالين حاسمين. هل هذا الرمز شرعي؟ ومن يملك حق طباعته؟ تتحقق من هيكل نوع العملة.
تستخرج الأداة البيانات الوصفية وإجمالي العرض. تحدد موقع مفتاح الخزينة وتفحص مالكه. اعتمدت على بنية بيانات مميزة هنا.
النتيجة الفارغة تعني عدم وجود بيانات وصفية نهائيا. بينما خطأ الشبكة يعني أننا لا نعلم بعد. التمييز بينهما يمنع تصنيف العملات الحقيقية كاحتيال.
4.2 تحليل مخاطر الحساب (checksuiaccount_risk)
تحلل الأداة رصيد الحساب ومخزون الكائنات. تفحص مفاتيح الترقية وعدد المعاملات الأخيرة. تصنف العناوين التي تملك صلاحيات واسعة كخطيرة.
تضع مهلة 30 ثانية للعملية بأكملها. الحيتان الذين يملكون آلاف الكائنات قد يعطلون النظام. المهلة الزمنية تمنع هذا التعطيل.
إذا انتهت المهلة، يرجع التقرير كغير مكتمل. هذا يفرض تصنيف مستوى الخطر كغير معروف. نحن لا نختلق إجابات مطمئنة من فحص جزئي.
النظريات ممتازة، لكن هذه الأدوات يجب أن تثبت كفاءتها على الشبكة الرئيسية.
اختبار الأنظمة على الشبكة الرئيسية: حالة Cetus CLMM

كنا نختبر أدوات الأمان الجديدة. احتجنا هدفا حقيقيا للاختبار. فحصت بروتوكول Cetus على الشبكة الرئيسية. كشفت الأداة عن صلاحيات فردية فورا.
5.1 كشف الثغرات في 1.7 ثانية: نتائج الفحص الفوري
اخترت Cetus CLMM كهدف للاختبار. إنه بروتوكول معروف يتعامل مع سيولة يومية حقيقية. تم توجيه الوكيل الذكي بشكل صحيح لأداة الحزم.
عاد التقرير بنتيجة حرجة خلال 1.7 ثانية. وجدنا أن الحزمة تم استبدالها بنسخة أحدث. استدعاء النسخة القديمة يعمل في بيئة الإنتاج.
اكتشفنا أن مفتاحا فرديا يتحكم في الترقيات. هذا هو نفس الشرط المسبق لاختراق Volo. المنتج يعمل بكفاءة منذ اليوم الأول.
5.2 مبدأ ‘عدم الكذب’ في الهندسة البرمجية
رد الفعل الافتراضي عند فشل واجهة برمجة هو الرفض. الكود يعمل ولا ينهار. لكن هذه الإجابة تعتبر كذبة تقنية.
فشل الواجهة لا يعني أن الإجابة سلبية. دمج الحالتين ينشر إجابات خاطئة بثقة تامة. استخدمت قيما قابلة للإلغاء لكل إشارة محتملة.
إذا لم نجد مفتاح الترقية، لا ننفي وجوده. بل نعلن بوضوح أننا لا نملك المعلومة. عندما نصرح بشيء، يجب أن يكون جديرا بالثقة.
هذه النتائج الصارمة أجبرتني على تحسين وحذف مسارات برمجية كاملة.
تحسين الأداء وتقليص الكود بناءً على تجارب Mainnet
كنت أضع اللمسات الأخيرة على النظام. كانت بعض الأدوات بطيئة جدا. حذفت المسارات الميتة بناء على بيانات الشبكة الرئيسية. انخفض وقت التنفيذ بنسبة 46 بالمائة.
6.1 حذف المسارات الميتة: عندما لا توفر الشبكة البيانات المطلوبة
كتبت 87 اختبارا وكانت كلها ناجحة. ثم اختبرت الأوامر ضد الشبكة الرئيسية. اكتشفت أن رابط التحقق لم يعمل إطلاقا.
فلتر أحداث النشر أعاد استجابات فارغة. شبكة سوي لا تصدر أحداثا للنشر أبدا. فلتر إنشاء العملة أعاد بيانات غير مكتملة.
أدت هذه الاكتشافات للحذف وليس للإصلاح. حذفت المسارات التي تعتمد على بيانات غير موجودة. الكود أصبح أصغر والنتائج أصبحت أكثر صدقا.
6.2 أتمتة الأمان عبر TxDesk: حلول للمطورين والمستخدمين
أضفت 5 خدمات جديدة بآلاف الأسطر البرمجية. عدد الأدوات وصل إلى 37 أداة متخصصة. يمكنك قراءة المزيد في تحليل اختراقات سوي الأخيرة.
هذه الأدوات تحل مشاكل فرق التطوير. تمنع تكرار رسائل الدعم الفني بعد كل هجوم. هذا التطور يوازن تباطؤ نمو الذكاء الاصطناعي.
لا تترك التعليمات البرمجية كحلول بديلة وهمية. إذا لم يعمل المسار، احذفه فورا. هذا يبني أنظمة أكثر موثوقية وصلابة.
دعونا ننتقل لأهم درس تعلمته من هذه التجربة التقنية.
وهم البيئة التجريبية: لماذا يجب اختبار الأدوات الأمنية على الشبكة الحية
كنت أعتمد كليا على بيئات الاختبار المحلية. كتبت عشرات الاختبارات البرمجية وكانت جميعها تظهر باللون الأخضر. شعرت بثقة عمياء في كود أدوات أمن سوي. اعتقدت أن النظام جاهز للإطلاق التجاري.
عندما قمت بتوصيل الأداة بالشبكة الحية، كانت الصدمة. الواجهات البرمجية التي افترضت وجودها لم تكن تعمل. الأحداث التي بنيت عليها الخوارزمية لم يتم إصدارها أصلا. كل تلك الاختبارات الخضراء كانت تختبر افتراضاتي الخاطئة، وليس الواقع المدرج.
قررت التخلص من الكبرياء التقني وبدأت من الصفر. قمت بإعادة كتابة محرك فحص البيانات الوصفية. ربطته مباشرة ببيانات الشبكة الرئيسية الحية. انخفض وقت تنفيذ الأداة بنسبة 46 بالمائة بعد حذف المسارات الوهمية.
تعلمت ألا أكتب مسارا يعتمد على سلوك لم أتحقق منه. البيئة التجريبية قد تمنحك شعورا زائفا بالأمان. الحقيقة التقنية الوحيدة موجودة على الشبكة الحية فقط.
الخلاصة: الأمان الاستباقي للبروتوكولات
بناء العقود الذكية يتطلب أكثر من مجرد كود نظيف. غياب أدوات المراقبة الهيكلية يجعل مشاريعك عرضة للاختراق. الشفافية في عرض البيانات وفحص الصلاحيات هي خط الدفاع الأول.
راجع حزم بروتوكولك اليوم وتأكد من صلاحيات الترقية. ما هي الأداة التي تستخدمها حاليا لفحص استدعاءات الإصدارات القديمة في مشاريعك؟ تواصل معنا لتقييم أمان مشروعك.
