
CVE-Factory
CVE-Factory هو نظام متعدد الوكلاء (Multi-Agent) لإعادة إنتاج ثغرات CVE آليًا بالكامل ومن البداية إلى النهاية. عند تلقّي سجلات CVE، يبحث النظام تلقائيًا في التفاصيل، وينشئ حالات الاختبار، ويبني بيئات Docker، ويتحقق من أن كل ثغرة يمكن استغلالها وتصحيحها على حد سواء. يحوّل خط الأنابيب بيانات CVE الوصفية إلى بيئات ثغرات قابلة لإعادة الإنتاج والاختبار دون أي تدخل يدوي.
⚠️ تحذير أمني: يبني هذا النظام حاويات Docker تحتوي على برمجيات قابلة للاستغلال ويشغّلها. يجب عليك حتمًا استخدام بيئة Docker-in-Docker (DinD) لعزل حاويات CVE عن نظام المضيف. لا تشغّل CVE-Factory أبدًا مباشرة على برنامج Docker الخفي (daemon) الخاص بالمضيف.
أدخل سجلات CVE واحصل على بيئة إعادة إنتاج كاملة للثغرة. وفقًا لمعيار Terminal Bench، تتضمن كل حزمة مهام مولّدة:
Dockerfile وdocker-compose.yaml لاستضافة التطبيق القابل للاستغلالtask.yaml يحتوي على أوصاف تعليمات منظمة (خالية من هوية CVE)solution.sh لتصحيح الثغرةrun-tests.sh لبدء التقييمصُمم منطق الاختبار لدينا خصيصًا لمهام الأمان، وينقسم إلى:
لا بحث يدوي، ولا برمجة يدوية - أتمتة كاملة من بيانات CVE الأولية إلى إعادة إنتاج مُتحقق منها.
بنية المخرجات المولّدة:
CVE-2025-XXXX/
├── task.yaml # Structured Task Metadata
├── Dockerfile # Vulnerable Environment Setup
├── docker-compose.yaml # Service Orchestration
├── task-deps/
├── solution.sh # Verified Patch
└── test/
├── test_func.py # Functionality Check
├── test_vuln.py # Vulnerability Exploit Check
└── run-tests.sh # One-click Evaluation Script
في تقييم واسع النطاق لـ554 ثغرة CVE من عام 2025، نجح CVE-Factory في إعادة إنتاج 499 حالة، محققًا معدل نجاح 90.1%. علاوة على ذلك، أكدت مراجعة خبراء صارمة لـ471 حالة ناجحة أن 312 مهمة (66.2%) أُعيد إنتاجها بشكل كامل ودقيق!
عند المقارنة مع خبراء الأمان باستخدام نفس المعلومات الأولية، حقق نظامنا معدل اجتياز تحقق يبلغ ~95% في بناء البيئة والحل — مما يُظهر قدرة على مستوى الخبراء في إعادة إنتاج الثغرات آليًا.
📂 مجموعة بيانات مفتوحة: ننشر أكثر من 1,000 بيئة مهام CVE في دليل
cve_tasks/:
trainset/(887 مهمة): تُستخدم لتدريب Abacus-cve. تُولَّد أكثر من 4,000 من آثار الوكلاء المقطّرة على Hugging Face 🤗 من هذه المهام باستخدام Claude Opus 4.5 مع إطار Mini SWE-Agent.trainset-2/: مهام إضافية بصعوبة أبسط نسبيًا. غير مدرجة في بيانات التدريب.- جديد: 3,181 مهمة إضافية متاحة في
cve_tasks_3k_compressedعلى Hugging Face (أرشيف مضغوط بسبب حدود الحجم)، مع 18.8 ألف أثر وكيل لتدريب Abacus-cve-v1.1.
يؤدي الضبط الدقيق على آثار CVE-Factory إلى تحسينات هائلة عبر معايير الأمان. يحقق Qwen3-32B تحسينًا بنحو ~6.8× على LiveCVEBench (من 5.29% إلى 35.79%)، و~4.2× على PatchEval (من 5.66% إلى 23.58%)، بل ويُظهر مكاسب كبيرة على Terminal-Bench (من 12.50% إلى 28.75%) — مما يثبت تعميمًا قويًا عبر المهام.
| النموذج | LiveCVEBench | PatchEval | Terminal-Bench | المتوسط |
|---|---|---|---|---|
| Qwen3-32B (الأساس) | 5.29 | 5.66 | 12.50 | 7.82 |
| Abacus-cve (خاص بنا) | 35.79 | 23.58 | 28.75 | 29.37 |
| Qwen3-Coder-30B | 10.58 | 9.91 | 13.75 | 11.41 |
| Qwen3-Coder-480B | 19.58 | 19.34 | 36.25 | 25.06 |
| MiniMax-M2 | 24.87 | 19.34 | 37.50 | 27.24 |
| Claude Sonnet 4 | 20.11 | 22.64 | 33.75 | 25.50 |
| Claude Sonnet 4.5 | 34.39 | 28.77 | 45.00 | 36.05 |
| Claude Opus 4.5 | 41.27 | 32.08 | 48.75 | 40.70 |
مع 4 آلاف أثر فقط، يتفوق Abacus-cve (32B) على Qwen3-Coder-480B وMiniMax-M2 وClaude Sonnet 4، مقتربًا من مستوى Claude Sonnet 4.5 في مهام الأمان.
جديد: يحقق Abacus-cve-v1.1 المدرب على 18.8 ألف أثر مكاسب إضافية (+3.83 على LiveCVEBench، +2.38 على PatchEval). راجع cve_train_v1.1 للحصول على بيانات التدريب الموسعة.
خلافًا لسير عمل الاسترجاع الجامدة أو حلقات استخدام الأدوات البسيطة، يعمل كل وكيل كجلسة Claude Code كاملة. نحن لا نُرمّز الخطوات بشكل ثابت؛ بل نعرّف كل وكيل من خلال دوره (مثل Analyzer)، وهدفه (مثل "بناء بيئة قابلة للاستغلال")، وموارده (مثل الوصول إلى مستندات محددة)، وطريقة التحقق (مثل "يجب اجتياز check_env_ready"). يتصرف الوكلاء مثل المطورين البشر: يستكشفون الملفات بشكل مستقل، ويصححون الأخطاء، ويقرؤون السجلات، ويكررون الحلول داخل مساحة العمل المخصصة لهم.
صُمم CVE-Factory للتعامل مع عدة ثغرات CVE في وقت واحد. ينفذ كل خط أنابيب CVE بشكل لامتزامن، مما يعني أن المهام الأسرع تنتقل إلى المراحل اللاحقة دون انتظار المهام الأبطأ. يستخدم النظام بنية لامتزامنة تتيح لك فصل حدود التزامن لكل نوع وكيل على حدة. على سبيل المثال، يمكنك تعيين حد أعلى لمهام البحث الخفيفة (Analyzer) وحدًا أدنى لمهام Docker المكثفة من حيث الموارد (Builder). تمنع هذه المرونة تحميل النظام الزائد مع زيادة سرعة المعالجة إلى أقصى حد. تضمن المهلات الزمنية على مستوى المرحلة عدم قيام العمليات المعلقة بحظر قائمة انتظار المعالجة.
يتكون خط الأنابيب من 6 مراحل مستقلة يمكن تشغيلها منفصلة أو مجتمعة.
متطلب الأدوات: يعتمد وكيل Analyzer على أداتي
web_searchوweb_fetch. إذا كنت تستخدم مزود واجهة برمجة تطبيقات تابعًا لجهة خارجية، فيجب عليك التأكد من أنه يدعم هاتين الأداتين المحددتين.