تم العثور مؤخرًا على خطأ في عقد إقراض الرمز المميز لمكتبة برنامج Solana (SPL) وإصلاحه بواسطة شركة Neodyme ، وهي شركة تدقيق أمني.
يمكن أن يكون الخطأ ، الذي تم اكتشافه قبل شهرين ، قد أثر على العديد من بروتوكولات التمويل اللامركزية التي تحتوي على أكثر من 2 مليار دولار من
إجمالي القيمة المقفلة (TVL). حدد فريقهم البروتوكولات المحتملة باستخدام هذا العقد (أو مشتقاته) وكشفوا عن الخطأ على الفور.
Solana SPL Rounding Bug يعرض الأموال للخطر
عرّض خطأ في أحد عقود الإقراض الرمزية التي تعد جزءًا من Solana’s Program Library (SPL) ، وهي مجموعة من البرامج على السلسلة التي
تستهدف وقت تشغيل Sealevel المتوازي على Solana ، أموال العديد من البروتوكولات للخطر. كشفت شركة Neodyme ، وهي وكالة أمنية ، عن هذه
الثغرة الأمنية منذ أشهر ونبهت بشأنها ، ولكن لم يتم حل الخلل ، نظرًا لتأثيره غير الضار على ما يبدو.
تسبب الخطأ في خطأ التقريب الذي يقدم رموزًا أكثر من تلك التي يودعها المستخدمون في العقد. ومع ذلك ، لم يكن الخطأ قابلاً للاستغلال بدون هجوم
منظم استهدف الثغرة الأمنية مباشرةً. تمكنت مجموعة التدقيق Neodyme من إعادة إنتاجها وإنشاء نص استفاد منها.
أهمية المصدر المفتوح
كانت أكثر من 2 مليار دولار في عدة رموز على هذه البروتوكولات معرضة لخطر الاستنزاف ببطء من خلال الاستفادة من هذا الاستغلال. والأكثر من ذلك ،
إذا تم تنفيذ الهجوم بطريقة ذكية ، فلن يؤدي إلى إطلاق أي إنذارات ، وسيتم اكتشافه على أنه استنزاف بطيء لـ APY في بعض برك السباحة. أشار
Neodyme إلى أهمية كود المصدر المفتوح لكي يشارك المدققون ويساعدون في تصحيح هذه الأنواع من الأخطاء. جاء فيه:
نعتقد أن الكود الأكثر أمانًا هو المصدر المفتوح ، وبصفتنا مدققين نعتقد أن أفضل الطرق لكتابة تعليمات برمجية أفضل هو فهم الثغرات الأمنية.
بعد اكتشاف هذا الاستغلال ، شارك Neodyme وجوده مع الفرق التي من المحتمل أن تستخدم البرنامج كأداة لعملياتها. من بين هذه البروتوكولات التي
ليست مفتوحة المصدر في سلسلة Solana ، ولا يمكن التحقق منها بشكل مباشر من قبل مستخدميها. هذا جعل من الصعب عليهم التحقق مباشرة
مما إذا كانت هذه المنصات قابلة للاستغلال بواسطة الخطأ. ومع ذلك ، فقد تواصلوا مع الفرق التي تقف وراء هذه البروتوكولات ، والمسؤولة عن إصلاح
المشكلة بشكل فردي.
تمت مراجعة عقد إقراض رمز SPL من قبل ، كما تم تدقيق مشروعين يستخدمه بشكل مستقل: Solend بواسطة Kudelski و Larix بواسطة Slowmist.