Where Do Smart Contract Security Analyzers Fall Short?
تحدد هذه الورقة أن محدودية اعتماد أدوات تحليل أمن العقود الذكية تنبع من فجوات أداء كبيرة — وتحديداً معدلات الإنذارات الكاذبة المرتفعة، وفترات التشغيل الطويلة، والتفسيرات الغامضة — وذلك من خلال الجمع بين التقييم المرجعي واسع النطاق لست أدوات على 653 عقداً من العقود الواقعية وبين استطلاع لآراء 150 من الممارسين لربط مشكلات الدقة القابلة للقياس بحواجز ثقة المطورين.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تقوم ببناء خزنة بنك رقمية (عقد ذكي) على بلوكشين عام غير قابل للتغيير. بمجرد إغلاق الباب ورمي المفتاح، لن تتمكن من إصلاح أي خطأ. إذا وجد لص ثغرة في الجدار، يمكنه استنزاف بنكك بالكامل في ثوانٍ.
ولمنع حدوث ذلك، يستخدم المطورون محللات أمنية. فكر في هذه الأدوات كأنها حراس أمن مؤتمتون للغاية يقومون بفحص مخططاتك قبل بناء الخزنة. ومن المفترض أن يصرخوا قائلين: "مهلاً! هناك طوبة مفككة هنا!" أو "شخص ما ترك الباب الخلفي مفتوحاً!".
ولكن تكمن المشكلة في أن: الحراس غير موثوقين.
هذه الورقة البحثية، التي كتبها باحثون من جامعة نيويورك أبوظبي، تطرح سؤالاً بسيطاً ولكنه حاسم: هل هؤلاء الحراس سيئون حقاً في عملهم، أم أن البنائين هم من يتجاهلونهم؟
ولمعرفة ذلك، قام الباحثون بشيئين: أخضعوا الحراس لـ اختبار صارم، كما أجروا مقابلات مع البنائين (المطورين).
الجزء الأول: الاختبار الكبير (اختبار القيادة)
جمع الباحثون 653 عقداً ذكياً من الواقع (بعضها يحتوي على ثغرات معروفة، وبعضها آمن تماماً) وأخضعوها لـ 6 حراس أمن مشهورين (أدوات مثل Slither وMythril وConfuzzius، إلخ).
إليكم ما وجدوه:
- مشكلة "الإنذار الكاذب" (الإيجابيات الكاذبة): كانت هذه هي المشكلة الأكبر. تخيل حارس أمن يصرخ "لص!" في كل مرة تمر فيها قطة. كان الحراس يفعلون ذلك باستمرار؛ ففي 32% من الحالات، قاموا بتصنيف كود سليم على أنه خطير.
- تشبيه: الأمر يشبه جهاز إنذار الحريق الذي يعمل بمجرد تحميص قطعة خبز. في النهاية، ستتوقف عن الاستماع إليه لأنك تعلم أنه مجرد إنذار خاطئ.
- مشكلة "الحارس النائم" (السلبيات الكاذبة): في بعض الأحيان، غفل الحراس عن تهديدات حقيقية، فلم يروا اللص الفعلي وهو يقتحم المكان.
- تشبيه: كان أحد الحراس بارعاً في رصد النشالين (هجمات إعادة الدخول - reentrancy attacks) ولكنه سيء جداً في رصد شخص يحاول حرق المبنى (هجمات الانتحار - suicide attacks).
- مشكلة "البطء": استغرق بعض الحراس 12 دقيقة أو أكثر لفحص عقد واحد فقط.
- تشبيه: إذا كنت تحاول خبز كعكة والفرن يستغرق 12 دقيقة فقط ليخبرك إذا كانت درجة الحرارة مناسبة أم لا، فستتوقف عن استخدامه. يحتاج المطورون إلى إجابات في ثوانٍ، وليس ساعات.
الحكم النهائي: لم يكن هناك حارس واحد مثالياً. فبعضهم كان سريعاً ولكن مهملًا، والبعض الآخر كان دقيقاً ولكن بطيئاً جداً.
الجزء الثاني: المقابلة (سؤال البنائين)
بعد ذلك، تحدث الباحثون إلى 150 مطوراً محترفاً لمعرفة سبب عدم ثقتهم في هذه الأدوات.
لماذا يتجاهلون الإنذارات؟
- كثرة الإنذارات الكاذبة: "لقد فحصت 10 إنذارات، و9 منها كانت خاطئة. لن أفحص الإنذار العاشر."
- تحذيرات غامضة: يقول الحارس: "هناك خطأ ما هنا"، لكنه لا يوضح ما هو الخطأ أو كيفية إصلاحه. الأمر يشبه معلم يضع دائرة حول خطأ في ورقة اختبار دون أن يكتب "صحح قواعدك النحوية".
- البطء الشديد: إذا استغرقت الأداة وقتاً طويلاً، يتخطاها المطورون لمواصلة عملهم.
ماذا يريدون حقاً؟
- يريدون من الحارس أن يقول: "هناك ثقب في الجدار عند السطر 45. إليك صورة للثقب، وهذا هو الرقعة (الترقيع) الدقيقة التي تحتاجها لسده."
- يريدون الحصول على الإجابة في أقل من 10 دقائق.
الصورة الكبيرة: لماذا هذا مهم؟
خلصت الورقة البحثية إلى أن المشكلة ليست مجرد أن الأدوات "سيئة" من الناحية التقنية، بل إن المشكلة تكمن في عدم التوافق بين مخرجات الأداة واحتياجات البشر.
- الفجوة التقنية: الأدوات بارعة في إيجاد بعض الأشياء ولكنها سيئة جداً في أشياء أخرى، وتخطئ كثيراً.
- الفجوة البشرية: حتى لو كانت الأداة دقيقة بنسبة 90%، فإذا أعطتك 100 تحذير وكان 10 منها فقط حقيقية، فستتوقف عن استخدامها. ستصاب بما يسمى "إجهاد التنبيه".
الحل: كيف نصلح الحراس؟
يقترح الباحثون عدة طرق لجعل هذه الأدوات مفيدة حقاً:
- العمل الجماعي: بدلاً من الاعتماد على حارس واحد، ادمج نقاط قوة عدة حراس. إذا كان الحارس (أ) سريعاً والحارس (ب) دقيقاً، فليعملا معاً للإمساك بمزيد من اللصوص وتقليل عدد القطط التي يتم رصدها.
- كن محدداً: توقف عن قول "تم العثور على خطأ". ابدأ بقول "تم العثور على خطأ في السطر 50، وإليك الكود لإصلاحه".
- زيادة السرعة: اجعل الأدوات أسرع لكي تتناسب مع سير عمل المطور اليومي دون تعطيله.
- التركيز على الأساسيات: الأدوات جيدة في إيجاد الثغرات القديمة والشائعة (مثل إعادة الدخول) لكنها لا تدرك الحيل الجديدة والمتطورة (مثل هجمات القروض السريعة - flash-loan attacks). إنها بحاجة لتعلم الحيل الجديدة.
باختصار
أدوات أمن العقود الذكية تشبه حراس أمن مفرطي الحماس، وبطيئين، وغامضين. يصرخون "حريق!" بينما لا يوجد سوى قطعة خبز محمرة، وأحياناً يغفلون عن الحريق الفعلي. ولأنهم مزعجون وبطيئون، بدأ بناة الخزن يتجاهلونهم، مما يترك الخزن عرضة للخطر.
ولإصلاح ذلك، لا نحتاج فقط إلى حراس أكثر ذكاءً، بل نحتاج إلى متواصلين أفضل؛ حراس سريعين، دقيقين، ويخبروننا بالضبط بكيفية إصلاح المشكلة لنتمكن من الوثوق بهم مجدداً.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.