MAS-SZZ: Multi-Agentic SZZ Algorithm for Vulnerability-Inducing Commit Identification
تقترح الورقة البحثية خوارزمية MAS-SZZ، وهي خوارزمية متعددة الوكلاء تستفيد من الوكلاء التعاونيين والتلقين المهيكل لتحديد الالتزامات المسببة للثغرات الأمنية بدقة من خلال تلخيص الأسباب الجذرية وتتبع تاريخ الكود ذاتياً، متفوقةً بشكل كبير على أساليب SZZ الحالية بتحسن يصل إلى 65.22% في مقياس F1-score.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك محقق تحاول حل جريمة في مدينة ضخمة ومتغيرة باستمرار. "الجريمة" هي ثغرة برمجية (فجوة أمنية)، و"مسرح الجريمة" هو جزء محدد من الكود البرمجي الذي تم إصلاحه مؤخرًا. هدفك هو العثيد على "الالتزام المسبب للثغرة" (VIC): اللحظة الدقيقة في التاريخ التي تسبب فيها أحد المطورين في إدخال هذا الخطأ عن طريق الخطأ.
هذه هي مهمة خوارزمية SZZ. فكر فيها كمحقق يسافر عبر الزمن، ينظر إلى "الإصلاح" ويحاول العودة إلى الوراء عبر تاريخ المدينة ليجد الخطأ الأصلي.
ومع ذلك، فإن المحققين القدامى (خوارزميات SZZ السابقة) غالبًا ما يكونون سيئين في أداء عملهم. فهم يرتكبون خطأين كبيرين:
- أدلة خاطئة: يختارون أسطر الكود الخاطئة للتحقيق فيها. أحيانًا ينظرون إلى كود تم نقله أو إعادة تسميته فقط (مثل نقل لافتة شارع) بدلاً من الكود الذي تسبب في العطل فعليًا.
- الاستسلام مبكرًا: يتوقفون عن تحقيقهم في وقت مبكر جدًا. قد يجدون التزامًا (commit) يبدو "مشابهًا" للإصلاح ويتوقفون عند ذلك، مما يؤدي إلى تفويت الالتزام الفعلي الذي يعود لسنوات مضت والذي زرع بذور المشكلة.
مرحبًا بـ MAS-SZZ: فريق التحقيق
قام مؤلفو هذه الورقة بإنشاء MAS-SZZ (SZZ متعدد الوكلاء). بدلًا من محقق وحيد، قاموا ببناء فريق من الوكلاء المتخصصين في الذكاء الاصطناعي يعملون معًا مثل فرقة شرطة عالية التقنية لحل القضية.
إليك كيف يعمل فريقهم، خطوة بخطوة:
1. المدقق (المحلل الجنائي)
أولاً، ينظر الفريق إلى "تقرير الجريمة" (وصف الـ CVE) و"تقرير الإصلاح" (الكود الذي أصلح الخطأ).
- ماذا يفعل: يقوم المدقق بتلخيص سبب حدوث الثغرة بالضبط. والأهم من ذلك، أنهم لا يكتفون بالتخمين؛ بل يشيرون إلى أدلة محددة في التقارير لدعم كل ادعاء.
- التحقق: يقوم وكيل "القاضي" بمراجعة عمل المدقق. إذا ارتكب المدقق خطأً منطقيًا أو لم يستطع إيجاد دليل يدعم ادعاءً ما، فإن القاضي يعيده لإعادة العمل. هذا يضمن أن يبدأ الفريق بنظرية صلبة ومحققة للجريمة.
2. المراجع والمحدد (متخصصو الهدف)
الآن بعد أن عرفوا ماهية الجريمة، يحتاجون إلى العثور على دليل محدد لتتبعه.
- المشكلة: غالبًا ما يحتوي "الإصلاح" على الكثير من الضجيج—كود تم تنظيفه، أو إعادة تسميته، أو إضافته لميزات جديدة.
- الحل: يقرأ المراجع كل تغيير في الإصلاح ويتساءل: "ما هو قصد المطور هنا؟". يقوم بتصفية "الضجيج" (مثل إعادة هيكلة الكود/refactoring) ويبقي فقط على التغييرات التي أصلحت الثغرة الأمنية فعليًا.
- المحدد: بمجرد العثور على التغييرات ذات الصلة، يحدد المحدد السطر الدقيق من الكود الذي يمثل "الدليل القاطع". يصبح هذا هو البيان المرجعي (Anchor Statement).
3. المتتبع (المسافر عبر الزمن)
هذا هو الجزء الأهم. يأخذ المتتبع ذلك "البيان المرجعي" ويبدأ في السير عائدًا عبر تاريخ المدينة (مستودع الكود).
- كيف يفعل ذلك: بدلًا من أخذ خطوة واحدة للخلف والتوقف، يستمر المتتبع في المضي قدمًا. في كل خطوة، يتساءل: "هل لا تزال الثغرة موجودة؟".
- إشارة التوقف: يستمر في العودة إلى الوراء حتى يجد نسخة من الكود حيث لا توجد الثغرة بعد. الالتزام الذي يلي ذلك مباشرة (الذي ظهرت فيه الثغرة لأول مرة) يُعلن عنه كالجاني.
- لماذا هو أفضل: غالبًا ما تتوقف الخوارزميات القديمة لأن الكود يبدو "مختلفًا" (تنخفض نسبة التشابه). يتجاهل المتتبع مدى اختلاف الكود ويركز تمامًا على ما إذا كانت الثغرة موجودة أم لا.
النتائج: محقق أفضل
اختبر المؤلفون هذا الفريق الجديد ضد سبع خوارزميات "تحقيق" أخرى باستخدام بيانات حقيقية من مجموعتي بيانات رئيسيتين.
- الدرجة: في عالم هذه الخوارزميات، تعتبر "درجة F1" بمثابة علامة نهائية توازن بين العثيد على جميع الأشرار (الاستدعاء/Recall) وعدم اتهام الأبرياء (الدقة/Precision).
- الفوز: لم يتفوق MAS-SZZ فحسب، بل سحق المنافسة. فقد حسن الدرجة النهائية بنسبة تصل إلى 65.22% مقارنة بأفضل طريقة سابقة.
- الخلاصة: من خلال استخدام فريق من وكلاء الذكاء الاصطناعي الذين يتحققون من الأدلة، ويصَفّون الضجيج، ويستمرون في العودة إلى الوراء حتى يجدوا الأصل الحقيقي، فإن MAS-SZZ أكثر موثوقية في العثور على السبب الجذري للثغرات البرمجية من أي طريقة استُخدمت من قبل.
باختًا، يحول MAS-SZZ البحث الفوضوي من شخص واحد إلى تحقيق منسق وقائم على الأدلة نادراً ما يخطئ الجاني الحقيقي.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.