
CVE-फैक्ट्री
CVE-Factory पूर्णतः स्वचालित, एंड-टू-एंड CVE पुनरुत्पादन के लिए एक मल्टी-एजेंट प्रणाली है। CVE रिकॉर्ड दिए जाने पर, सिस्टम स्वचालित रूप से विवरणों पर शोध करता है, परीक्षण मामले उत्पन्न करता है, Docker वातावरण बनाता है, और सत्यापित करता है कि प्रत्येक भेद्यता का शोषण और पैच दोनों किया जा सकता है। यह पाइपलाइन CVE मेटाडेटा को बिना मैन्युअल हस्तक्षेप के पुनरुत्पादनीय, परीक्षण-योग्य भेद्यता वातावरण में बदल देती है।
⚠️ सुरक्षा चेतावनी: यह सिस्टम भेद्यता युक्त सॉफ़्टवेयर वाले Docker कंटेनर बनाता और चलाता है। आपको अपने होस्ट सिस्टम से CVE कंटेनरों को अलग करने के लिए Docker-in-Docker (DinD) वातावरण का उपयोग अवश्य करना चाहिए। CVE-Factory को कभी भी सीधे अपने होस्ट Docker डेमॉन पर न चलाएँ।
CVE रिकॉर्ड इनपुट करें, एक पूर्ण CVE पुनरुत्पादन वातावरण प्राप्त करें। Terminal Bench मानक का पालन करते हुए, प्रत्येक उत्पन्न कार्य पैकेज में शामिल है:
Dockerfile और docker-compose.yamltask.yaml जिसमें संरचित निर्देश विवरण (CVE-पहचान-मुक्त) होते हैंsolution.shrun-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
2025 के 554 CVEs के बड़े पैमाने पर मूल्यांकन में, CVE-Factory ने 499 मामलों को सफलतापूर्वक पुनरुत्पादित किया, जो 90.1% सफलता दर प्राप्त करता है। इसके अलावा, 471 सफल मामलों की कठोर विशेषज्ञ समीक्षा ने पुष्टि की कि 312 कार्य (66.2%) पूरी तरह और सटीक रूप से पुनरुत्पादित किए गए थे!
समान प्रारंभिक जानकारी का उपयोग करने वाले सुरक्षा विशेषज्ञों की तुलना में, हमारी प्रणाली ने वातावरण और समाधान निर्माण पर ~95% सत्यापन पास दर हासिल की — जो स्वचालित भेद्यता पुनरुत्पादन में विशेषज्ञ-स्तर की क्षमता प्रदर्शित करती है।
📂 ओपन डेटासेट: हम
cve_tasks/निर्देशिका में 1,000+ CVE कार्य वातावरण जारी करते हैं:
trainset/(887 कार्य): Abacus-cve के प्रशिक्षण के लिए उपयोग किए जाते हैं। Hugging Face 🤗 पर 4,000+ डिस्टिल्ड एजेंट ट्रेस इन कार्यों से Claude Opus 4.5 और Mini SWE-Agent हार्नेस का उपयोग करके उत्पन्न किए गए हैं।trainset-2/: अपेक्षाकृत सरल कठिनाई वाले अतिरिक्त कार्य। प्रशिक्षण डेटा में शामिल नहीं हैं।- नया: Hugging Face पर
cve_tasks_3k_compressedपर अतिरिक्त 3,181 कार्य उपलब्ध हैं (आकार सीमाओं के कारण संपीड़ित संग्रह), Abacus-cve-v1.1 के प्रशिक्षण के लिए 18.8k एजेंट ट्रेस के साथ।
CVE-Factory ट्रेस पर फाइन-ट्यूनिंग सुरक्षा बेंचमार्क में नाटकीय सुधार लाती है। Qwen3-32B LiveCVEBench पर ~6.8× सुधार (5.29% → 35.79%), PatchEval पर ~4.2× (5.66% → 23.58%) प्राप्त करता है, और यहाँ तक कि Terminal-Bench (12.50% → 28.75%) पर भी महत्वपूर्ण लाभ दिखाता है — जो मजबूत क्रॉस-टास्क सामान्यीकरण प्रदर्शित करता है।
केवल 4k ट्रेस के साथ, Abacus-cve (32B) सुरक्षा कार्यों में Qwen3-Coder-480B, MiniMax-M2, और Claude Sonnet 4 से बेहतर प्रदर्शन करता है, जो Claude Sonnet 4.5 के स्तर के करीब पहुँचता है।
नया: 18.8k ट्रेस पर प्रशिक्षित Abacus-cve-v1.1 और लाभ प्राप्त करता है (LiveCVEBench पर +3.83, PatchEval पर +2.38)। विस्तृत प्रशिक्षण डेटा के लिए cve_train_v1.1 देखें।
कठोर पुनर्प्राप्ति वर्कफ़्लो या सरल टूल-उपयोग लूप के विपरीत, प्रत्येक एजेंट एक पूर्ण Claude Code सत्र के रूप में संचालित होता है। हम चरणों को हार्ड-कोड नहीं करते; इसके बजाय, हम प्रत्येक एजेंट को उसकी भूमिका (जैसे, Analyzer), लक्ष्य (जैसे, "भेद्यता युक्त वातावरण बनाएँ"), संसाधन (जैसे, विशिष्ट दस्तावेज़ों तक पहुँच), और सत्यापन विधि (जैसे, "check_env_ready पास होना चाहिए") द्वारा परिभाषित करते हैं। एजेंट मानव डेवलपर्स की तरह कार्य करते हैं: वे अपने निर्दिष्ट कार्यक्षेत्र के भीतर स्वायत्त रूप से फ़ाइलों का पता लगाते हैं, त्रुटियों को डीबग करते हैं, लॉग पढ़ते हैं, और समाधानों पर पुनरावृति करते हैं।
CVE-Factory को एक साथ कई CVEs को संभालने के लिए डिज़ाइन किया गया है। प्रत्येक CVE पाइपलाइन एसिंक्रोनस रूप से निष्पादित होती है, जिसका अर्थ है कि तेज़ कार्य धीमे कार्यों की प्रतीक्षा किए बिना आगे के चरणों में आगे बढ़ते हैं। सिस्टम एक एसिंक्रोनस आर्किटेक्चर का उपयोग करता है जो आपको प्रत्येक विशिष्ट एजेंट प्रकार के लिए समवर्ती सीमाएँ अलग करने की अनुमति देता है। उदाहरण के लिए, आप हल्के शोध कार्यों (Analyzer) के लिए उच्च सीमा और संसाधन-गहन Docker कार्यों (Builder) के लिए कम सीमा निर्धारित कर सकते हैं। यह लचीलापन प्रसंस्करण गति को अधिकतम करते हुए सिस्टम ओवरलोड को रोकता है। स्टेज-स्तरीय टाइमआउट सुनिश्चित करते हैं कि अटके हुए प्रोसेस प्रसंस्करण कतार को अवरुद्ध न करें।
पाइपलाइन में 6 स्वतंत्र चरण होते हैं जिन्हें अलग-अलग या संयुक्त रूप से चलाया जा सकता है।
चरण 1 (Analyzer → Generator) CVE शोध करता है और बिना Docker की आवश्यकता के आर्टिफैक्ट उत्पन्न करता है।
टूलिंग आवश्यकता: Analyzer एजेंट
web_searchऔरweb_fetchटूल पर निर्भर करता है। यदि आप किसी तृतीय-पक्ष API प्रदाता का उपयोग करते हैं, तो आपको यह सुनिश्चित करना होगा कि वह इन विशिष्ट टूल क्षमताओं का समर्थन करता है।
चरण 2 (Builder → Validator → Solver → Checker) Docker वातावरण निर्माण और सत्यापन को संभालता है। वातावरण निर्माण से समग्र सत्यापन तक, कोई वेब-संबंधित टूल आवश्यक नहीं हैं, क्योंकि एजेंट केवल स्थानीय फ़ाइल सिस्टम और Docker डेमॉन के साथ बातचीत करते हैं।
प्रत्येक चरण को व्यक्तिगत रूप से भी लागू किया जा सकता है, जो पुनरुत्पादन प्रक्रिया पर सूक्ष्म-नियंत्रण और विशिष्ट चरणों की आसान डीबगिंग सक्षम करता है।
सिस्टम में 6 चरण होते हैं:
# Start the isolated DinD environment (required for security)
cd dev-env
docker compose up -d
# Enter the development container
docker compose exec cve-factory bash
DinD कॉन्फ़िगरेशन और समस्या निवारण के विस्तृत विवरण के लिए dev-env/README.md देखें।
जिन CVEs को आप पुनरुत्पादित करना चाहते हैं उन्हें original_cves_md/ निर्देशिका में रखें। फ़ाइलों का नाम CVE-YYYY-NNNNN.md प्रारूप में होना चाहिए जिसमें प्रासंगिक जानकारी हो। इन इनपुट को तैयार करने के लिए हम LiveCVEBench-Preview से cve-sampler का उपयोग करने की सलाह देते हैं।
# Inside the DinD development container
cd /workspace
pip install -r requirements.txt
# Verify CVE input files are ready
ls original_cves_md/
# Set API key or use Claude subscription
export ANTHROPIC_API_KEY="your-key"
export ANTHROPIC_BASE_URL="your-url"
# Process a specific CVE
python -m orchestrator.run --cve CVE-2025-XXXXX
# Or process all CVEs in the input directory
python -m orchestrator.run
# Run phases separately
python -m orchestrator.run --phase1 --cve CVE-2025-XXXXX # Analyzer + Generator only (no Docker needed)
python -m orchestrator.run --phase2 --cve CVE-2025-XXXXX # Builder → Checker (requires Docker)
एक CVE पुनरुत्पादन सफल माना जाता है जब:
अपने रन को अनुकूलित करने के लिए config.yaml में मुख्य सेटिंग्स:
# Example config.yaml tweak
orchestrator:
max_concurrent_cves: 3 # Lower concurrency for stability
agents:
limits:
builder: 2 # Prevent Docker from consuming all resources
हम सक्रिय रूप से OneFactory विकसित कर रहे हैं, जो Terminal, SWE, और Security (CVE) क्षमताओं को एक व्यापक 3-इन-1 एजेंटिक डेटा पाइपलाइन में एकीकृत करने वाला यूनिफाइड सिंथेटिक फ्रेमवर्क है।
CVE-Factory के आधार पर, हमने LiveCVEBench विकसित किया है और बेंचमार्क का पहला संस्करण, प्रशिक्षण डेटा, और Abacus-cve मॉडल जारी किया है। हम बेंचमार्क का विस्तार जारी रखेंगे और अपनी SFT और RL प्रशिक्षण विधियों को अनुकूलित करेंगे। अधिक अपडेट के लिए जुड़े रहें!
हम इस परियोजना का लगातार विस्तार और अद्यतन कर रहे हैं। यदि आपके पास कोई सुझाव है या इस परियोजना में शामिल होना/योगदान करना चाहते हैं, तो कृपया [email protected] से संपर्क करें!
MIT License
@misc{luo2026cvefactory,
title={CVE-Factory: Scaling Expert-Level Agentic Tasks for Code Security Vulnerability},
author={Xianzhen Luo and Jingyuan Zhang and Shiqi Zhou and Rain Huang and Chuan Xiao and Qingfu Zhu and Zhiyuan Ma and Xing Yue and Yang Yue and Wencong Zeng and Wanxiang Che},
year={2026},
eprint={2602.03012},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2602.03012}
}
| मॉडल | 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 |
| चरण | उद्देश्य |
|---|
| सूचना संग्रह | Analyzer विवरण public.md और भूमिका-विशिष्ट दस्तावेज़ों (for_generator.md, आदि) में एकत्र करता है। यदि जानकारी अपर्याप्त है तो समाप्त हो जाता है। |
| फ़ाइल निर्माण | Generator तार्किक घटक बनाता है: task.yaml, परीक्षण (test_func.py, test_vuln.py), solution.sh, run-tests.sh, और docker-reqs.md मार्गदर्शन। |
| वातावरण निर्माण | Builder Dockerfile और docker-compose.yaml का उत्पादन करता है, कठोरता सुनिश्चित करने के लिए "ब्लाइंड बिल्डिंग" (परीक्षणों/समाधान तक पहुँच नहीं) के तहत कार्य करता है। |
| भेद्यता सत्यापन | Orchestrator check_env_ready के माध्यम से test_vuln FAIL + test_func PASS सत्यापित करता है। विफल होने पर, Validator एजेंट वातावरण को ठीक करता है (अधिकतम 3 पुनर्प्रयास)। |
| समाधान सत्यापन | Orchestrator check_fix_ready के माध्यम से फिक्स सत्यापित करता है। दोनों परीक्षणों के PASS होने की आवश्यकता है। विफल होने पर, Solver एजेंट समाधान या वातावरण को समायोजित करता है। |
| समग्र सत्यापन | Checker एजेंट check_cve_ready परिणाम की परवाह किए बिना त्रुटियों को संभालता है या QA (मॉक कोड/डेटा सफाई) करता है। अंतिम E2E जाँच सफलता की पुष्टि करती है। |
| अनुभाग | सेटिंग | विवरण |
|---|
| Orchestrator | max_concurrent_cves | नियंत्रित करें कि कितने CVEs समानांतर में संसाधित किए जाते हैं। API दर सीमाएँ हिट होने पर इसे कम करें। |
| Agents | limits | विशिष्ट चरणों के लिए समवर्ती सीमाएँ निर्धारित करें (जैसे, डिस्क/CPU बचाने के लिए builder को सीमित करें)। |
| Models | models.default | अंतर्निहित LLMs स्विच करें (जैसे, Claude 4.5 Sonnet बनाम Opus)। |