No More Hidden Pitfalls? Exposing Smart Contract Bad Practices with LLM-Powered Hybrid Analysis
تقدم هذه الورقة SCALM، وهو أول إطار عمل هجين مدعوم بالنماذج اللغوية الكبيرة (LLM) يكتشف بشكل منهجي أكثر من 47 ممارسة سيئة في العقود الذكية عبر الجمع بين التقطيع على مستوى الدوال المدرك للسياق والاستدلال الدلالي المعزز بالمعرفة، مما يظهر أداءً فائقاً على الأدوات الحالية.
المؤلفون الأصليون: Xiaoqi Li, Zongwei Li, Wenkai Li, Yuqing Zhang, Xin Wang
المؤلفون الأصليون: Xiaoqi Li, Zongwei Li, Wenkai Li, Yuqing Zhang, Xin Wang
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). ✨ هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
ملخص تقني: هل من فخاخ خفية بعد الآن؟ كشف الممارسات السيئة في العقود الذكية باستخدام التحليل الهجين المدعوم بالنماذج اللغوية الكبيرة (LLM)
بيان المشكلة
مع نضوج منصة إيثيريوم، أصبحت أمن وجودة العقود الذكية أمراً بالغ الأهمية. وبينما تعتمد عمليات التدقيق الأمني التقليدية على مراجعة الكود يدوياً والأدوات المؤتمتة، تواجه هذه الأساليب قيوداً كبيرة. فالمراجعات اليدوية غير فعالة وعرضة لإغفال الثغرات الدقيقة، بينما تعتمد الأدوات المؤتمتة الحالية غالباً على مطابقة الأنماط الجامدة التي تفشل في اكتشاف المشكلات الأمنية المعقدة أو مشكلات الجودة المتعلقة بالأساليب السيئة. علاوة على ذلك، تركز الأدوات الحالية عادةً على الثغرات الصريحة (مثل إعادة الدخول - reentrancy) ولكنها غالباً ما تهمل "الممارسات السيئة" — وهي عادات البرمجة السيئة أو قرارات التصميم التي، رغم أنها قد لا تكون قابلة للاستغلال بشكل مباشر دائماً، إلا أنها ترفع مستوى المخاطر، وتقلل من قابلية الصيانة، وتخلق مخاطر اقتصادية خفية. هناك نقص في الدراسات المنهجية والأدوات الفعالة القادرة على اكتشاف أكثر من 47 ممارسة سيئة محددة تشمل أبعاد الأمن وجودة الكود.
المنهجية: إطار عمل SCALM
يقترح المؤلفون SCALM (نموذج لغة تدقيق العقود الذكية)، وهو إطار عمل مبتكر مصمم لاكتشاف الممارسات السيئة من خلال نهج تحليل هجين يجمع بين التحليل الساكن والاستنتاج باستخدام النماذج اللغوية الكبيرة (LLM). تتكون البنية من وحدتين أساسيتين:
1. التقطيع السياقي على مستوى الدوال والتحويل إلى ناقلات (Vectorization)
يتجاوز SCALM تحليل الكود المعزول عبر بناء شرائح دوال غنية بالسياق.
- التفكيك: يقوم النظام بتحليل كود Solidity لتفكيك العقود إلى دوال مستقلة، باستخدام التعبيرات النمطية (regex) وعدّ الأقواس لتحديد الحدود.
- تصفية التعليقات التوضيحية: يستفيد من تعليقات SWC (تصنيف نقاط ضعف العقود الذكية) المضمنة (مثل
// SWC-107) لتصفية واستخراج الدوال المرتبطة فقط بالممارسات السيئة، مما يحسن نسبة الإشارة إلى الضجيج. - التجميع المدرك للتبعية: بالنسبة لدالة مستهدفة، يبني النظام رسماً بيانياً موجهاً للاستدعاءات (call graph) لتجميع سياق غني. يتضمن هذا الكود الأساسي للدالة، والمتغيرات الحالة ذات الصلة، والأحداث المستثارة، والدوال المستدعاة بشكل متكرر (حتى عمق 3).
- التحويل إلى ناقلات: يتم تحويل هذه الشرائح السياقية إلى ناقلات دلالية ذات 1536 بُعداً باستخدام نموذج تضمين (text-embedding-ada-002) وتخزينها في قاعدة بيانات ناقلات. يسمح هذا بالبحث الفعال عن التشابه لاسترجاع أنماط الممارسات السيئة ذات الصلة.
2. الاستنتاج والتحقق متعدد الطبقات
يستخدم محرك الكشف الأساسي نظام التوليد المعزز بالاسترجاع (RAG) مقترناً بـ التحفيز بالتراجع (Step-Back prompting) لإجراء تحقق هرمي.
- استرجاع RAG: عند تحليل شريحة دالة، يقوم النظام باسترجاع مقتطفات كود مشابهة دلالياً وقواعد الممارسات السيئة من قاعدة بيانات الناقلات لتوفير السياق للنموذج اللغوي الكبير.
- التحفيز بالتراجع (Step-Back Prompting): بدلاً من مطالبة النموذج اللغوي بتحديد الأخطاء مباشرة، يستخدم إطار العمل التحفيز بالتراجع أولاً لتجريد المبادئ الأمنية عالية المستوى (مثل "ما هي قواعد بناء الجملة الأساسية التي تمنع الثغرات؟") قبل ربطها بتطبيقات الكود المحددة.
- التحقق ثلاثي الطبقات: يمر التحليل عبر ثلاث طبقات متميزة:
- التحقق من بناء الجملة (Syntax Validation): للتحقق من الثغرات على مستوى الكود (مثل معدلات الرؤية، والاستدعاءات غير المفحوصة).
- التحقق من نمط التصميم (Design Pattern Validation): للتحقق من التطبيق الصحيح لأنماط مثل (Checks-Effects-Interactions) والتحكم في الوصول.
- التحقق من البنية (Architecture Validation): لتحليل المخاطر على مستوى النظام، وحدود الثقة، وطوبولوجيا العقد.
- المخرجات: يقوم النظام بتجميع النتائج في تقرير تدقيق مهيكل بصيغة JSON، يتضمن درجات المخاطر، وكتل الكود المحددة، واقتراحات المعالجة.
المساهمات الرئيسية
- دراسة منهجية: تقدم الورقة أول دراسة منهجية للممارسات السيئة في العقود الذكية، حيث تصنف وتحلل 35 ممارسة سيئة متعلقة بالأمن و 12 ممارسة سيئة متعلقة بالجودة (بإجمالي أكثر من 47 قضية).
- إطار عمل SCALM: تقديم إطار عمل مدعوم بالنماذج اللغوية الكبيرة يدمج التقطيع السياقي على مستوى الدوال مع نظام تحقق استنتاجي متعدد الطبقات (بناء الجملة، أنماط التصميم، البنية).
- تقييم شامل: تجارب واسعة النطاق أجريت عبر مجموعات بيانات متعددة (DAppSCAN، SmartBugs، SolQuality) وستة نماذج لغوية كبيرة رائدة (بما في ذلك GPT-4o، وClaude-3.5-Sonnet، وLlama-3.1).
- مفتوح المصدر: قام المؤلفون بنشر الكود والبيانات التجريبية لسهولة البحث المستقبلي.
النتائج التجريبية
قيم المؤلفون SCALM مقابل سبع أدوات مرجعية (أربع تقليدية: Mythril، Oyente، Confuzzius، Conkas؛ وثلاث أدوات تعتمد على النماذج اللغوية الكبيرة: GPTLens، VulnHunt-GPT، LLM-SmartAudit).
- الأداء: تفوق SCALM على جميع الأدوات الموجودة. في الكشف المتعلق بالأمن (فئات SWC)، حقق SCALM درجات F1 تتراوح بين 92.67% و 98.27%. وفي الكشف المتعلق بالجودة (القابلية للقراءة، الكفاءة، البنية، إلخ)، تجاوزت درجات F1 نسبة 86.96%.
- حساسية النموذج: أثر اختيار النموذج اللغوي الكبير بشكل كبير على الأداء. حقق GPT-4o أعلى معدلات الكشف، حيث نجح في تحديد الثغرات عبر 28 فئة من فئات SWC، بينما أظهرت النماذج الأخرى درجات متفاوتة من الفشل في قضايا معينة معقدة (مثل SWC-109، SWX-133).
- دراسات الاستئصال (Ablation Studies):
- أدى إزالة مكون RAG إلى انخفاض كبير في الأداء (متوسط تحسن F1 بنسبة 17.5% يعزى إلى RAG للأنماط الأمنية).
- أدى إزالة الاستنتاج متعدد الطبقات إلى انخفاض أكثر حدة (متوسط تحسن F1 بنسبة 30.99% يعزى إلى الاستنتاج متعدد الطبقات للأنماط الأمنية).
- تؤكد هذه النتائج أن كل من استرجاع المعرفة الخارجية والتجريد الهرمي للمبادئ الأمنية ضروريان لنجاح إطار العمل.
- المتانة: أظهر مكون RAG متانة عالية ضد طفرات الكود (إعادة تسمية المتغيرات، إدخال الكود الميت، تغيير التعليقات)، حيث حافظ على Recall@3 فوق 92% عبر جميع أنواع الطفرات.
الأهمية والادعاءات
تدعي الورقة أن SCALment يمثل تحولاً جذرياً من نهج مطابقة الأنماط التقليدي إلى الفهم الدلالي في تحليل العقود الذكية. ومن خلال سد الفجوة بين ثغرات الكود منخفضة المستوى ومبادئ التصميم الأمني عالية المستوى عبر التجريد الهرمي، يوفر إطار العمل قدرة تدقيق أكثر شمولاً.
يؤكد المؤلفون أنه بينما تظهر النماذج اللغوية الكبيرة إمكانات هائلة، إلا أنها ليست حلاً سحرياً؛ إذ يختلف الأداء باختلاف النموذج، ويعتمد إطار العمل على نقاط القوة المحددة للنموذج المختار (مثل GPT-4o). وتخلص الدراسة إلى أن SCALM يوفر للمطورين أداة قوية لتحديد وإصلاح الممارسات السيئة، مما يحسن الأمن العام وقابلية الصيانة لمنظومة العقود الذكية. يسلط العمل الضوء على ضرورة الجمع بين تقنيات التحليل الساكن وتقنيات الاستنتاج المتقدمة للنماذج اللغوية الكبيرة لمعالجة التعقيد المتطور لثغرات العقود الذكية.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.
تصلك أفضل أبحاث computer science كل أسبوع.
يحظى بثقة باحثين في ستانفورد وكامبريدج والأكاديمية الفرنسية للعلوم.
تفقّد بريدك لتأكيد الاشتراك.
حدث خطأ ما. تعيد المحاولة؟
لا رسائل مزعجة، ويمكنك إلغاء الاشتراك متى شئت.