CyberForge: Verified Vulnerability Injection at Repository Level for Cybersecurity Agent Training
إن CyberForge هو إطار عمل يعمل على توليف والتحقق ديناميكياً من بيانات تدريب أمنية قابلة للتنفيذ وعلى مستوى المستودعات عبر حقن ثغرات في مشاريع حقيقية بلغة C/C++، مما يحسن بشكل كبير من قدرات اكتشاف الثغرات ومعالجتها لدى الوكلاء السيبرانيين عبر مختلف أحجام النماذح ولغات البرمجة.
المؤلفون الأصليون:Amine Lbath, Manan Suri, Aurelien Delaitre, Vadim Okun, Massih-Reza Amini, Ram D. Sriram, Dinesh Manocha
تخيل العالم الرقمي كمدينة صاخبة وعظيمة مبنية بالكامل من الأكواد البرمجية. في هذه المدينة، البرامج هي المباني، والمهندسون الذين يكتبونها هم المعماريون. لفترة طويلة، واجه هؤلاء المعماريون مهمة شاقة: كان عليهم فحص كل طوبة ونافذة وباب في ناطحات السحاب الخاصة بهم للتأكد من عدم قدرة أي شخص على التسلل وسرقة الكنز. وفي الوقت نفسه، يحتاج "الأشرار" (المخترقون) فقط إلى العثور على طوبة واحدة صغيرة مهتزة لاقتحام المكان. إنها معركة غير عادلة.
ولمساعدة الأخيار، قمنا ببناء محققين رقميين يُطلق عليهم "الوكلاء الذكيون" (AI agents). هؤلاء هم برامج حاسوبية ذكية تم تدريبها للبحث عن تلك الطوب المهتز. لكن المشكلة تكمن في أنه لتعليم المحقق كيف يكتشف عملية اقتحام حقيقية، يتعين عليك عادةً أن تريه عملية اقتحام حقيقية. والمشكلة هي أن عمليات الاقتحام الحقيقية (التي تسمى "الثغرات" أو "الأخطاء البرمجية") نادرة، ويصعب العثين عليها، وغالبًا ما تُحفظ سرًا حتى يتم إصلاحها. الأمر يشبه محاولة تعليم رجل إطفاء كيف يطفئ حريقًا من خلال عرض صور لحرائق حدثت قبل عشر سنوات فقط، بينما تستمر المدينة في تغيير قوانين البناء الخاصة بها. نحن بحاجة إلى طريقة لإنشاء "حرائق تدريبية" جديدة وواقعية يمكن للذكاء الاصطناعي التعلم منها، دون حرق أي شيء بالفعل.
هنا يأتي دور إطار عمل جديد يسمى CyberForge. فكر في CyberForge كمصنع "أشرار" آلي فائق الذكاء، لا يكتفي بمجرد نسخ الجرائم القديمة، بل يبتكر جرائم جديدة في اللحظة ذاتها. لقد أخذ الباحثون وراء CyberForge 80 مشروعًا برمجيًا من العالم الحقيقي (مثل المخططات لبنايات فعلية) واستخدموا الذكاء الاصطناعي لتسلل نقاط ضعف صغيرة وغير مرئية إليها. لكنهم لم يتوقفوا عند هذا الحد؛ فقد بنوا نظام "مفتش سلامة" صارم للتأكد من أن نقاط الضعف الجديدة هذه كانت حقيقية. يتحقق المفتش من شيئين: أولاً، يجب أن يظل المبنى صامدًا أمام جميع اختباراته العادية (بمعنى أن الخطأ البرمجي مخفي ولا يؤدي إلى تعطل البرنامج فورًا)، وثانيًا، يجب أن يكون هناك "إثبات محدد للثغرة" (مفتاح خاص) يمكنه فتح الباب في المبنى المعيب فقط، وليس في المبنى السليم.
والنتيجة هي مكتبة ضخمة تضم 1,034 فخًا أمنيًا واقعيًا وموثقًا. وعندما استخدم الباحثون هذه المكتبة لتدريب محققي الذكاء الاصطناعي، كانت النتائج مبهرة. فقد أصبح وكلاء الذكاء الاصطناعي أفضل بكثير في العثور على هذه الثغرات وإصلاحها. في الواقع، كان التدريب فعالًا لدرجة أن نموذج ذكاء اصطناعي أصغر، بعد دراسة هذه المكتبة، قدم أداءً يقارب أداء نموذج "معلم" أكبر وأغلى ثمنًا بكثير. والأكثر دهشة هو أن هذا التدريب ساعد الذكاء الاصطناعي على فهم كيفية إصلاح الثغرات في أنواع مختلفة تمامًا من البرمجيات (مثل بايثون أو جافا سكريبت) رغم أن المكتبة صُنعت بالكامل من لغتي C و C++. الأمر كما لو أن تعلم رصد صدع في جدار من الطوب قد ساعد المحقق فجأة في رصد صدع في نافذة زجاجية.
يثبت CyberForge أننا لسنا مضطرين لانتظار المخترقين الحقيقيين للعثور على الأخطاء لتدريب المدافعين. فمن خلال إنشاء تحديات أمنية اصطناعية والتحقق منها بصرامة، يمكننا بناء مصدر بيانات تدريب واسع النطاق ولا نهائي. وهذا يعيد التوازن نحو المدافعين، مما يمنحهم الأدوات لبناء برمجيات أقوى وأكثر أمانًا قبل أن يظهر الأشرار حتى. تشير الورقة البحثية إلى أن طريقة "حقن" و"التحقق" من نقاط الضعف هذه هي وسيلة قوية وجديدة لتوسيع نطاق التدريب على الأمن السيبراني، مما يحول الذكاء الاصطناعي من طالب يرى فقط الكتب المدرسية القديمة إلى محقق تدرب على آلاف السيناريوهات الواقعية.
ملخص تقني: CyberForge
بيان المشكلة تعاني وكلاء النماذج اللغوية الكبيرة (LLM) المتطورة حاليًا في اكتشاف ومعالجة الثغرات الأمنية المعقدة في البرمجيات الواقعية. وبينما يمكن لهؤلاء الوكلاء مساعدة المهاجمين الذين يحتاجون فقط إلى إيجاد نقطة ضعف واحدة قابلة للاستغلال، يجب على المدافعين تأمين قواعد برمجية كاملة باستمرار. وتتمثل العقبة الرئيسية في تطوير وكلاء دفاع أقوى في ندرة بيانات التدريب الأمنية عالية الجودة التي تتضمن بيئات بناء وتنفيذ قابلة لإعادة الإنتاج. تقتصر مجموعات البيانات الحالية بشكل كبير على الثغرات والتعرضات الشائعة (CVEs) التاريخية وتقارير مكافآت صيد الثغرات، والتي يتم تجميعها يدويًا أو عبر إعادة تشغيل مؤتمت للمشكلات التي تم الكشف عنها. هذه الموارد مقيدة بمعدل الاكتشاف البشري والكشف العلني، وغالبًا ما تفشل في التوسع كبيانات تدريب لأن التحقق من وجود ثغرة يتطلب شرطًا مزدوجًا: يجب أن يجتاز الكود المحقون جميع اختبارات الوحدة الحالية (ليظل كامنًا)، بينما يجب أن يكون قابلًا للتحفيز بواسطة مدخل عدائي محدد (إثبات الضعف، أو PoV).
المنهجية: إطار عمل CyberForge CyberForge هو إطار عمل مصمم لتخليق بيانات تدريب أمنية قابلة للتنفيذ على مستوى المستودع عن طريق حقن الثغرات الأمنية في مشاريع C/C++ حقيقية. يقوم الإطار بفصل نمو المجموعة عن معدل الكشف البشري من خلال إنشاء حالات جديدة بدلاً من التنقيب عن الحالات التاريخية. يعمل إطار العمل على المشاريع المسجلة في OSS-Fuzz، مستفيدًا من صور Docker الموجودة مسبقًا، ونصوص البناء (build scripts)، وأدوات libFuzzer الخاصة بها لضمان بيئات قابلة لإعادة الإنتاج.
يستخدم CyberForge خطي حقن متكاملين:
الحقن الموجه بالفحص (Fuzzer-Guided Injection): يستخدم هذا الخط البنية التحتية للفحص الموجودة لتحديد مواقع الحقن عالية القيمة. يقوم بتحليل بيانات OSS-Fuzz الوصفية لرسم خرائط للوظائف التي يمكن الوصول إليها بواسطة أدوات الفحص (harnesses) الموجودة. يقوم نظام تسجيل النقاط بتصنيف هذه الوظائف بناءً على الدور الهيكلي، وعمق الاستدعاء، و"قابلية التحفيز" (احتمالية الوصول إليها بواسطة أداة فحص موجودة). بعد ذلك، يقوم وكيل LLM بإجراء تعديل مستهدف وبسيط لإضعاف فحص أمني في الموقع المختار. يتم التحقق من الصحة بشكل مؤتمت: يجب أن يجتاز البناء المعدل جميع اختبارات الوحدة، ويتم إنشاء إثبات ضعف (PoV) لتحفيز الثغرة. يوفر تشغيل libFuzzer اللاحق مع مجموعة بذور مدركة للتنسيق (format-aware seed corpus) مسار تحقق إضافي.
الحقن السياقي المعتمد على الوكيل (Agentic In-Context Injection): يستهدف هذا الخط الثغرات التي تقع خارج نطاق أدوات الفحص الحالية. يستخدم استراتيجية استرجاع هجينة، تجمع بين التشابه الهيكلي (المعتمد على AST) والتشابه الدلالي (المعتمد على التضمين - embedding) لمطابقة المشاريع المستهدفة مع أنماط CVE التاريخية من مجموعة بيانات PrimeVul. بالإضافة إلى ذلك، يقوم وكلاء LLM متخصصون باستكشاف قاعدة الكود مباشرة لاقتراح أنواع متنوعة من نقاط الضعف. تتضمن عملية الحقن حلقات إعادة محاولة تكرارية، وتحليل تدفق البيانات (taint analysis) للتحقق من مسارات تدفق البيانات من مصادر المدخلات إلى المستقبِل (sink) الضعيف، وتوليد إثبات الضعف (PoV) باستخدام تقارير المصححات (ASAN/UBSAN) والآثار الجانبية الملحوظة.
آلية التحقق يقوم محرك تفاضلي لإثبات الضعف (Differential PoV Oracle) بالتحقق من جميع الحالات المولدة. يتم قبول الحالة فقط إذا:
الشرط 1: اجتاز البناء المحقون جميع اختبارات الوحدة الخاصة بالمشروع (لضمان أن الثغرة كامنة وليست خطأً وظيفيًا).
الشرط 2: قام إثبات الضعف (PoV) المولد بتحفيز فشل (مثل خطأ في المصحح own، أو انهيار/crash) في البناء المحقون، ولكن ليس في البناء النظيف تحت نفس المدخلات.
المساهمات الرئيسية
إطار توليد على مستوى المستودع: يقوم CyberForge بتخليق بيانات تدريب من قواعد كود قابلة للبناء باستخدام حقن الثغرات والتحقق التفاضلي، متجاوزًا بذلك الحقن الساكن على مستوى الوظيفة.
مجموعة بيانات موثقة: أنتج إطار العمل 1,034 ثغرة تم التحقق منها عبر 80 مشروعًا بلغة C/C++ و 63 فئة من نقاط الضعف (CWEs). تشبه موضع التعديل (edit locality) للرقع الاصطناعية الرقع الحقيقية لـ CVE، حيث بلغت مسافة كولموغوروف–سميرنوف 0.165 مقارنة بـ 0.190 كخط أساس بين مجموعتين من CVE الحقيقية.
تحسينات الأداء في المهام النهائية: أدى الضبط الدقيق للوكلاء باستخدام المسارات التي تم جمعها من هذه المجموعة إلى تحسين الأداء بشكل كبير في معايير SEC-bench (داخل النطاق) و PatchEval (خارج النطاق).
النتائج قام المؤلفون بإجراء ضبط دقيق لثلاثة نماذج طلاب مفتوحة المصدر (Gemma 4 E4B, 12B, 31B) باستخدام مسارات تم جمعها من معلمين اثنين (Gemma 4 31B و GPT-5.4-mini).
أداء SEC-bench: حسنت جميع تكوينات (الطالب-المعلم) الستة درجات إصلاح الرقع بمقدار +3.3 إلى +14.7 نقطة. حقق أقوى تكوين (طالب 31B مع معلم GPT-5.4-mini) نسبة 72.7%، مقتربًا من نسبة المعلم البالغة 74.0%.
التعميم خارج التوزيع: انتقلت المكاسب إلى PatchEval، وهو معيار يحتوي على مهام بلغات Go و JavaScript و Python، على الرغم من أن مجموعة التدريب كانت حصريًا لـ C/C++. حقق كل تكوين تحسنًا في هذا المعيار متعدد اللغات.
التحليل السلوكي: وجه الضبط الدقيق الوكلاء نحو سير عمل معلميهم. اكتسبت النماذج الأصغر (مثل 12B) فائدة أساسية من خلال التعلم للوصول إلى مرحلة التحقق (زيادة تغطية سير العمل)، بينما حسنت النماذج الأكبر (31B) معدل النجاح بمجرد الوصول إلى مرحلة التحقق.
التوسع: تحسن الأداء بشكل رتيب مع عدد المسارات التدريبية، دون ظهور علامات تشبع عند 880 مسارًا.
الأهمية والادعاءات يزعم البحث أن CyberForge يوفر مصدرًا قابلًا للتوسع لبيانات موثقة عبر التنفيذ لتدريب وكلاء الأمن السيبراني، مما يعالج فجوة بيانات التدريب الحرجة في جانب الدفاع من الأمن المدعوم بالذكاء الاصطناعي. ومن خلال توليد ثغرات اصطناعية يتم التحقق منها عبر التنفيذ بدلاً من التحليل الساكن، ينتج إطار العمل حالات تدريب واقعية لا تتقيد بوتيرة الكشف العام. ويؤكد المؤلفون أن إطار عملهم يولد إثباتات للضعف (PoVs) لإثبات وجود وإمكانية الوصول إلى نقاط الضعف، بدلاً من إنتاج ثغرات نشطة مصممة لاختراق الأنظمة. يوضح العمل أن التدريب المستهدف على بيانات اصطناعية على مستوى المستودع يمكن أن يعزز بشكل كبير القدرة على تحديد وإصلاح الثغرات الأمنية في البيئات البرمجية المعقدة.