← أحدث الأبحاث
💻 computer science

SmartBugBert: BERT-Enhanced Vulnerability Detection for Smart Contract Bytecode

تقدم هذه الورقة البحثية SmartBugBert، وهو نظام مبتكر للكشف عن الثغرات البرمجية على مستوى البايت كود (bytecode) يدمج بين التحليل الدلالي القائم على نموذج BERT والميزات الهيكلية لمخطط تدفق التحكم (control flow graph) لتحقيق تحديد عالي الدقة لثغرات العقود الذكية الحرجة دون الحاجة إلى الكود المصدري.

المؤلفون الأصليون: Jiuyang Bu, Wenkai Li, Zongwei Li, Zeng Zhang, Xiaoqi Li

نُشر 2026-02-03
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Jiuyang Bu, Wenkai Li, Zongwei Li, Zeng Zhang, Xiaoqi Li

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل البلوكشين (Blockchain) كمكتبة عامة ضخمة، حيث يخزن الناس اتفاقيات رقمية تسمى العقود الذكية (Smart Contracts). هذه العقود تشبه آلات البيع الذاتي التي تعمل تلقائياً: تضع المال بداخلها، فتعطيك المنتج تلقائياً. المشكلة هي أنه بمجرد بناء هذه الآلات ووضعها على البلوكشين، لا يمكنك تفكيكها لإصلاح أي ترس مكسور. إذا وجد خلل، يمكن للمخترقين سرقة الأموال بداخلها، ويكون الضرر دائماً.

عادةً، للتحقق مما إذا كانت الآلة آمنة، تنظر إلى المخططات الأصلية (الكود المصدر - Source Code). لكن هنا تكمن المشكلة: معظم من يبنون هذه الآلات الرقمية لا يتركون المخططات في المكتبة؛ بل يتركون فقط الآلة النهائية المغلقة. في عالم "إيثيريوم" (Ethereum)، أقل من 4% من هذه العقود تتوفر مخططاتها الأصلية. وهذا يترك خبراء الأمن يحاولون معرفة ما إذا كانت الآلة آمنة بمجرد النظر إلى أسلاكها الداخلية المشفرة والمبعثرة (Bytecode).

المشكلة: قراءة الأسلاك المبعثرة

محاولة العثور على خلل بمجرد النظر إلى الأسلاك الخام المبعثرة (Bytecode) تشبه محاولة فهم قصة معقدة عبر قراءة قائمة من الكلمات العشوائية بدون قواعد أو علامات ترقيم. قد ترى كلمة مثل "توقف" (STOP) أو "قفز" (JUMP)، ولكن دون معرفة الترتيب أو السياق، يصعب تحديد ما إذا كانت الآلة آمنة أم أنها على وشك الانفجار.

الحل: SmartBugBert

قام مؤلفو هذه الورقة البحثية ببناء أداة جديدة تسمى SmartBugBert. فكر فيها كمحقق فائق الذكاء يمكنه النظر إلى الأسلاك المبعثرة وفهم القصة التي ترويهاها فوراً. يقوم بذلك باستخدام ثلاث حيل رئيسية:

1. ترجمة التبعثر (إلغاء التجميع والتحسين - Decompilation & Optimization)

أولاً، تأخذ الأداة الأسلاك الخام غير المفهلة وترجمتها إلى قائمة من التعليمات (Opcodes) التي يمكن للبشر فهمها.

  • التشبيه: تخيل أن الآلة تتحدث بكود سري مثل "DUP1, DUP2, PUSH1". تقوم SmartBugBert بترجمة هذا إلى "نسخ، نسخ، دفع". ثم تقوم بتبسيط القائمة، مدركة أن "النسخة 1" و"النسخة 2" هما في الأساس نفس الإجراء، فتقوم بتجميعهما معاً لجعل القصة أكثر وضوحاً.

2. رسم الخريطة (مخططات تدفق التحكم - Control Flow Graphs)

امتلاك قائمة من الكلمات ليس كافياً؛ فأنت بحاجة لمعرفة الترتيب والمنطق. هل قفزت الآلة إلى غرفة أخرى؟ هل تحققت من شرط ما قبل التحرك؟

  • التشبيه: ترسم SmartBugBert خريطة (تسمى مخطط تدفق التحكم - CFG) لمنطق الآلة. وهي توضح كل مسار محتمل يمكن أن تسلكه الآلة. إذا قالت الآلة: "إذا كان السعر مرتفعاً، اقفز إلى غرفة 'البيع'"، فإن الخريطة ترسم خطاً يربط بين هاتين الغرفتين. هذا يساعد المحقق على رؤية بنية المنطق، وليس مجرد الكلمات.

3. القارئ الخارق (BERT + LightGBM)

الآن، تمتلك الأداة قائمة تعليمات وخريطة. وعليها إيجاد "الأشرار" (الثغرات).

  • القارئ (BERT): تستخدم الأداة نموذج ذكاء اصطناعي قوي يسمى BERT (صُمم في الأصل لقراءة اللغة البشرية) لقراءة الخريطة. يتميز BERT بقدرة فائقة على فهم السياق؛ فهو يعرف أن رؤية كلمة "قفز" (JUMP) بجانب كلمة "إذا" (IF) تعني شيئاً مختلفاً عن رؤية "قفز" بجانب "توقف" (STOP). إنه يبحث عن أنماط محددة تشير إلى الخطر، مثل باب يمكن لأي شخص فتحه (التحكم في الوصول - Access Control) أو مؤقت يمكن خداعه (اعتماد الطابع الزمني - Timestamp Dependency).
  • القاضي (LightGBM): بمجرد أن يقرأ BERT القصة ويحدد الأجزاء المشبوهة، يعمل نموذج ذكاء اصطناعي ثانٍ يسمى LightGBM كقاضٍ. يأخذ كل الأدلة (قائمة الكلمات المبسطة وأنماط الخريطة) ويتخذ قراراً نهائياً: "هل هذا العقد آمن، أم أن به خللاً؟"

ماذا وجدوا؟

اختبر الباحثون هذا المحقق على 6,157 عقداً حقيقياً من بلوكشين إيثيريوم. بحثوا عن أربعة أنواع محددة من "الأخطاء":

  1. ترتيب المعاملات (Transaction-Ordering): عندما يمكن للمخترقين تغيير ترتيب الأحداث لسرقة المال.
  2. التحكم في الوصول (Access Control): عندما يمكن لأي شخص القيام بأشياء لا يُسمح له بها.
  3. التدمير الذاتي (Self-Destruct): عندما يمكن حذف عقد ما بالخطأ أو بسوء نية، مما يؤدي لفقدان أمواله.
  4. اعتماد الطابع الزمني (Timestamp Dependency): عندما يعتمد العقد على ساعة يمكن للمعدّنين (Miners) التلاعب بها قليلاً.

النتائج:

  • الدقة: كانت SmartBugBert دقيقة للغاية، حيث اكتشفت 91% من الأخطاء الفعلية (الاستدعاء - Recall) وكانت محقة في 90% من المرات التي أشارت فيها إلى وجود خطأ (الدقة - Precision).
  • السرعة: كانت سريعة كالبرق. بينما استغرقت الأدوات القديمة ما يقرب من 9 دقائق (528 ثانية) لتحليل عقد واحد، قامت SmartBugBert بذلك في 0.14 ثانية. إنه يشبه مقارنة شخص يقرأ كتاباً صفحة بصفحة بماسح ضوئي يقرأ الكتاب بالكامل في رمشة عين.

لماذا يهم هذا الأمر؟

تظهر الورقة البحثية أنه من خلال الجمع بين "قائمة الكلمات" (الميزات الدلالية) و"خريطة المنطق" (CFG) وتغذيتها لـ "قارئ فائق الذكاء" (BERT)، يمكنك العثور على الثغرات الأمنية في العقود حتى لو لم تكن تملك المخططات الأصلية. إنها طريقة أسرع وأكثر دقة للحفاظ على سلامة المكتبة الرقمية مقارنة بالطرق القديمة.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →