Clear Sky Science · ar

DIVE: مجموعة بيانات متعددة التسميات لثغرات العقود الذكية

· العودة إلى الفهرس

لماذا تهم الصفقات الرقمية الأكثر أمانًا

يومياً، تتحرك مليارات الدولارات عبر «العقود الذكية»—وهي مقاطع برمجية تنفذ الصفقات تلقائيًا على شبكات البلوكشين مثل إيثريوم. عندما تحتوي هذه الاتفاقيات الرقمية على أخطاء مخفية، قد تكون العواقب وخيمة: أموال مجمَّدة، أصول مسروقة، وفقدان الثقة في أنظمة مالية جديدة. يقدم هذا المقال DIVE، مجموعة بيانات كبيرة ومبنية بعناية تساعد الباحثين على اكتشاف وفهم نقاط الضعف في العقود الذكية بشكل أكثر موثوقية، حتى تصبح الاتفاقيات الرقمية التي تقوم عليها العملات المشفرة والتطبيقات اللامركزية أكثر أمانًا للجميع.

Figure 1
Figure 1.

كيف تولد العقود الرقمية وتتحول

تمر العقود الذكية بعدة مراحل خلال دورة حياتها. تبدأ كمصدر قابل للقراءة يكتبه المطورون، ثم تُجمَّع إلى تعليمات مناسبة للآلة وتُرسَل في معاملة نشر إلى البلوكشين. بعد القبول، يحصل العقد على عنوان دائم ويصبح شيفرته غير قابلة للتغيير، لكن حالته الداخلية قد تستمر في التطور مع تفاعل المستخدمين معه. على طول هذا المسار تظهر أنواع مختلفة من البيانات—شيفرة المصدر، البايتكود، الإعدادات، وسجلات المعاملات—وكلها تحمل دلائل عن عيوب محتملة. بُنيت DIVE حول هذا العرض لدورة الحياة، بجمع ميزات من قبل النشر (الشيفرة والتكوين) وبعد النشر (السلوك على السلسلة) لتقديم صورة أشمل لكل عقد.

لماذا كانت مجموعات البيانات القديمة غير كافية

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

ماذا تحتوي مجموعة بيانات DIVE

تجمع DIVE ما مجموعه 22,330 عقدة إيثريوم حقيقية، نُشرت بين 2016 و2024 وتشمل الإصدارات الرئيسية من لغة سوليديتي. يُوصَف كل عقد من خلال مئات الميزات. قبل النشر، تسجل DIVE عناصر مثل إصدار المجمّع، إعدادات التحسين، استخدام المكتبات الخارجية، بنية الواجهة العامة (الدوال والأحداث)، قياسات تعقيد الشيفرة، وأنماط التعليمات منخفضة المستوى المستخدمة في إنشاء العقد. بعد النشر، تضيف معلومات من معاملة الإطلاق—استهلاك الغاز، القيمة المرسلة، التوقيت والموقع داخل الكتلة—وكذا أنماط التعليمات من شيفرة وقت التشغيل للعقد. تتيح هذه الرؤية المزدوجة للباحثين دراسة كيف ترتبط خيارات الترميز والسلوك على السلسلة بالأمن.

كيف تُحدد الثغرات

لا تعتمد DIVE لتحديد العقود الضعيفة على أداة واحدة أو تصويت بالأغلبية البسيط. بل تشغّل ست أدوات تحليل مختلفة، لكل منها نقاط قوة خاصة، وتوّجه نتائجها عبر إطار عمل موحَّد. تُنقَل مخرجات الأدوات إلى ثماني فئات معروفة من قائمة DASP العشرة، مثل ثغرات إعادة الدخول، كسر ضوابط الوصول، أخطاء حسابية، مخاطر حجب الخدمة، عشوائية ضعيفة، التقدم في الصف (front running)، التلاعب بالزمن، والاستدعاءات منخفضة المستوى غير المحققة. ثم يقرِّر مخطط تصويت «قائم على القوة» مقدار الثقة في كل أداة لكل فئة. بالإضافة إلى ذلك، يتحقق خطوة ثانية من أن المشكلة المعلّمة مدعومة فعليًا بشيفرة العقد—مثل تأكيد أن ما يُشتبه به خطأ حسابي ليس محميًا بالفعل بواسطة فحوصات المجمّع الحديثة أو مكتبات الحماية. تزيل هذه المراجعة الإضافية العديد من الإنذارات الخاطئة، لا سيما تحذيرات حجب الخدمة والزمن.

Figure 2
Figure 2.

كيف يمكن استخدام هذا المورد

بما أن DIVE متعددة التسميات، يمكن أن يُوسَم العقد الواحد بعدة أنواع من الثغرات، مما يعكس كيفية تجمع الأخطاء الحقيقية وتفاعلها. تدعم مجموعة البيانات نطاقًا واسعًا من الدراسات: التصنيف الثنائي ومتعدد الفئات، التعلم متعدد التسميات ومتعدد المهام، النقل التعلمي عبر إصدارات المجمّع أو السنوات، وتجارب تقارن قيمة معلومات ما قبل النشر مقابل ما بعد النشر. كما توثّق كم مرة تظهر الثغرات المختلفة معًا، كاشفة أن بعض الثغرات، مثل إعادة الدخول ومشاكل ضوابط الوصول، تميل للظهور معًا، بينما تكون أخرى أندر وأكثر عزلًا. تشجع هذه الأنماط استخدام طرق تعلم متقدمة تُنمذج العلاقات بين أنواع الأخطاء بدلاً من التعامل مع كل نوع على حدة.

ماذا يعني هذا للمستخدمين العاديين

بالنسبة لمعظم الناس، العقود الذكية بنية تحتية خفية وراء تطبيقات التداول، الألعاب، منصات الإقراض، وخدمات البلوكشين الأخرى. لا تصلح مجموعة بيانات DIVE الثغرات مباشرة، لكنها توفّر البيانات المفصّلة والموسومة جيدًا اللازمة لتدريب واختبار أدوات اكتشاف أقوى بشكل عادل. يمكن لتلك الأدوات بدورها مساعدة المطورين على اكتشاف المشاكل مبكرًا ومساعدة المدققين على ترتيب أولويات مراجعاتهم. وبما أن الإطار مفتوح ويمكن إعادة تشغيله على عقود جديدة مع مرور الوقت، تقدم DIVE أساسًا حيًا لتحسين أمان الاتفاقيات الرقمية—مقلّلة من خطر تعرض المستخدمين العاديين للأذى بسبب أخطاء مخفية في الشيفرة التي يعتمدون عليها.

الاستشهاد: Alsunaidi, S.J., Aljamaan, H. & Hammoudeh, M. DIVE: A Multi-Label Smart Contract Vulnerability Dataset. Sci Data 13, 664 (2026). https://doi.org/10.1038/s41597-026-07025-5

الكلمات المفتاحية: أمن العقود الذكية, إيثريوم, ثغرات البلوكشين, مجموعة بيانات تعلم آلي, قائمة DASP العشرة