Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-bench — वास्तविक दुनिया की सुरक्षा कमजोरियों को ठीक करने के लिए AI एजेंटों का मूल्यांकन करने हेतु एक बेंचमार्क। | Kitploit
उपकरण/GitHubGitHub/giovannigatti/cve-bench
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणकोड विश्लेषणपेनिट्रेशन टेस्टिंगDevSecOpsमशीन लर्निंगलर्निंग और शिक्षाAI सुरक्षा
GitHubgiovannigatti/cve-bench

cve-bench

वास्तविक दुनिया की सुरक्षा कमजोरियों को ठीक करने के लिए AI एजेंटों का मूल्यांकन करने हेतु एक बेंचमार्क।

142 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-Bench

Blog Harness Coverage

एक बेंचमार्क जो LLM एजेंटों की वास्तविक दुनिया की सुरक्षा कमज़ोरियों को ठीक करने की क्षमता का मूल्यांकन करने के लिए है। एजेंट सैंडबॉक्स्ड डॉकर कंटेनरों के अंदर चलते हैं और उनका स्कोर मेंटेनर के सुरक्षा टेस्ट सूट के विरुद्ध किया जाता है।


आवश्यकताएँ

  • Python 3.12+
  • Docker
  • आपके वातावरण (या .env फ़ाइल) में OPENAI_API_KEY, ANTHROPIC_API_KEY, और/या POOLSIDE_API_KEY होना चाहिए

निर्भरताएँ स्थापित करें:

root@kitploit:~
pip install poetry
poetry install

कार्य संरचना

प्रत्येक कार्य tasks/{CVE-ID}/ के अंतर्गत रहता है और इसमें शामिल हैं:

root@kitploit:~
tasks/CVE-2026-33175/
├── meta.json           # GHSA ID, CWE, CVSS, रेपो URL, कमज़ोर और ठीक SHA
├── setup.sh            # रेपो क्लोन करता है, कमज़ोर SHA चेकआउट करता है, निर्भरताएँ स्थापित करता है
├── run_tests.sh        # रेपो में test_security.py इंजेक्ट करता है और pytest चलाता है
├── test_security.py    # सुरक्षा परीक्षण (कमज़ोर कोड पर xfail, फ़िक्स पर पास)
├── advisory.md         # पूर्ण GHSA सलाह (सबसे समृद्ध प्रॉम्प्ट)
├── diagnose.md         # केवल व्यवहारिक विवरण — कोई फ़ाइल या फ़ंक्शन नाम नहीं
├── locate.md           # केवल फ़ाइल और फ़ंक्शन — दोष का कोई विवरण नहीं
└── Dockerfile          # वैकल्पिक; केवल तब मौजूद जब कार्य को अतिरिक्त सिस्टम डिप्स की आवश्यकता हो

meta.json उदाहरण:

root@kitploit:~
{
  "ghsa_id": "GHSA-xxxx-xxxx-xxxx",
  "cwe": ["CWE-287"],
  "cvss": 9.1,
  "repo": {
    "url": "https://github.com/org/project",
    "vulnerable_sha": "abc123^",
    "fixed_sha": "abc123"
  }
}

setup.sh आइडेम्पोटेंट है और इसे फिर से चलाना सुरक्षित है। test_security.py को रन के दौरान एजेंट से छुपाकर रखा जाता है और एजेंट के समाप्त होने के बाद ही इंजेक्ट किया जाता है।


Docker इमेज बनाना

root@kitploit:~
python build.py

यह बनाता है:

  1. एक साझा बेस इमेज (cve-bench/base) — Python 3.12, git, poetry, और हार्नेस।
  2. प्रति कार्य एक कार्य इमेज (cve-bench/{task-id}) — बेस को बढ़ाता है, कार्य निर्देशिका कॉपी करता है, और setup.sh चलाता है।

विकल्प:

root@kitploit:~
# केवल विशिष्ट कार्य बनाएँ
python build.py --task CVE-2026-33175 CVE-2026-42561

# बेस इमेज को पुनः बनाना छोड़ें
python build.py --skip-base

कार्य इमेज समानांतर रूप से (अधिकतम 5 वर्कर्स) बनाई जाती हैं। यदि कार्य निर्देशिका में Dockerfile है, तो इसका उपयोग सामान्य docker/task.Dockerfile के बजाय किया जाता है।


कार्यों को मान्य करना

बेंचमार्क चलाने से पहले, सत्यापित करें कि प्रत्येक कार्य के सुरक्षा परीक्षण कमज़ोर और ठीक कोड के बीच सही अंतर करते हैं:

root@kitploit:~
python validate.py

प्रत्येक कार्य के लिए, यह कार्य कंटेनर के अंदर तीन चरण चलाता है:

चरणयह क्या जाँचता है
कमज़ोरसुरक्षा परीक्षण कमज़ोर SHA पर विफल होने चाहिए (या xfail होने चाहिए)
ठीकसुरक्षा परीक्षण ठीक SHA पर पास होने चाहिए
प्रतिगमनगैर-सुरक्षा परीक्षण ठीक SHA पर पास होने चाहिए

परिणाम एक लाइव तालिका के रूप में प्रदर्शित होते हैं। यदि कोई भी कार्य किसी भी चरण में विफल होता है तो निकास कोड 1 होता है।

root@kitploit:~
# केवल विशिष्ट कार्य मान्य करें
python validate.py --task CVE-2026-33175 GHSA-r758-8hxw-4845

# मान्यकरण से पहले इमेज पुनः बनाना छोड़ें
python validate.py --skip-build

बेंचमार्क चलाना

root@kitploit:~
python benchmark.py --model openai:gpt-5.5 poolside:laguna-m.1 --prompt-type advisory

विकल्प:

समर्थित प्रदाता:

प्रत्येक रन results/ में एक JSON परिणाम फ़ाइल उत्पन्न करता है:

root@kitploit:~
results/{task-id}__{provider}:{model}__{prompt-type}.json

मौजूदा परिणाम फ़ाइलें स्वचालित रूप से छोड़ दी जाती हैं। रन कार्यों में समवर्ती रूप से निष्पादित होते हैं (अधिकतम 20 वर्कर्स), प्रति-प्रदाता दर सीमा के साथ (एक समय में प्रति प्रदाता एक सक्रिय अनुरोध) 429 से बचने के लिए।


परिणाम प्रारूप

प्रत्येक परिणाम फ़ाइल निम्नलिखित संरचना वाला एक JSON ऑब्जेक्ट है:

root@kitploit:~
{
  "cve_id": "CVE-2026-33175",
  "model_id": "openai:gpt-5.5",
  "prompt_type": "advisory",
  "timestamp": "2026-05-01T12:00:00",
  "model_duration_s": 142.3,
  "test_duration_s": 8.1,
  "turns": [
    {
      "tool_calls_and_results": [...],
      "input_tokens": 12400,
      "output_tokens": 310
    }
  ],
  "tests": [
    {
      "kind": "security",
      "name": "test_email_verified",
      "outcome": "passed"
    }
  ]
}

tests[].kind या तो "security" (test_security.py से) या "regression" (प्रोजेक्ट के अपने टेस्ट सूट से) है। एक रन को हल माना जाता है केवल यदि सभी सुरक्षा परीक्षण पास हों और कोई प्रतिगमन परीक्षण विफल न हो।


चार्ट उत्पन्न करना

root@kitploit:~
python generate_charts.py

results/ से सभी परिणाम फ़ाइलों को पढ़ता है और docs/images/charts/ में SVG चार्ट लिखता है। Bokeh के हेडलेस निर्यात के लिए Chrome/Chromium की आवश्यकता है (chromedriver-binary के माध्यम से)।


हार्नेस आर्किटेक्चर

हार्नेस प्रत्येक Docker कंटेनर के अंदर python -m harness.run के रूप में चलता है। यह प्रॉम्प्ट लोड करने, एजेंटिक लूप चलाने और परिणाम फ़ाइल लिखने के लिए जिम्मेदार है।

root@kitploit:~
src/harness/
├── run.py                  # प्रवेश बिंदु; तर्क पार्स करता है, घटकों को जोड़ता है, BenchmarkRunner को कॉल करता है
├── client/
│   ├── factory.py          # provider:model-id पार्स करता है, सही LLMClient लौटाता है
│   ├── _client.py          # अमूर्त LLMClient, ToolCall और LLMTurn डेटाक्लासेस
│   ├── anthropic.py        # Anthropic SDK एकीकरण
│   └── oai.py              # OpenAI SDK एकीकरण (Poolside के लिए भी उपयोग किया जाता है)
├── agent/
│   ├── core.py             # एजेंटिक लूप: क्लाइंट को कॉल करता है, टूल कॉल भेजता है, संदेशों को थ्रेड करता है
│   └── runner.py           # एजेंट को लपेटता है, समय और टर्न सूची ट्रैक करता है
├── bench/
│   ├── runner.py           # सेटअप → एजेंट → सुरक्षा परीक्षण → प्रतिगमन परीक्षण का ऑर्केस्ट्रेट करता है
│   ├── result.py           # BenchmarkResult और TestResult डेटाक्लासेस, JSON सीरियलाइज़ेशन
│   └── repository.py       # परिणाम फ़ाइलों को डिस्क पर लिखता है
└── task/
    ├── tools.py             # टूल कार्यान्वयन: ListFiles, ReadFile, SearchInFiles,
    │                        #   EditFile, CreateFile, DeleteFile, RunPytest
    └── prompt_loader.py     # advisory.md / diagnose.md / locate.md पढ़ता है

एजेंट के लिए उपलब्ध टूल:

सभी टूल पथों को रिपॉजिटरी रूट के विरुद्ध मान्य करते हैं ताकि डायरेक्टरी ट्रैवर्सल को रोका जा सके। एजेंट के पास test_security.py या git इतिहास तक पहुँच नहीं है।

एजेंट लूप अधिकतम 20 टर्न के लिए चलता है। यदि टर्न सीमा पूरी हो जाती है, तो रन को वैसे ही रिकॉर्ड किया जाता है और सुरक्षा परीक्षण अभी भी रिपॉजिटरी की उस स्थिति के विरुद्ध निष्पादित किए जाते हैं जो एजेंट ने छोड़ी थी।


एक कार्य जोड़ना

  1. tasks/{CVE-ID}/ बनाएँ और meta.json, setup.sh, run_tests.sh, test_security.py, advisory.md, diagnose.md, locate.md जोड़ें।
  2. setup.sh और run_tests.sh को निष्पादन योग्य बनाएँ (chmod +x)।
  3. मान्य करें: python validate.py --task {CVE-ID}।
  4. बनाएँ: python build.py --task {CVE-ID}।

प्रकटीकरण

यह कार्य स्वतंत्र अनुसंधान के रूप में किया गया था। अनुसंधान करने और इस रिपॉजिटरी को तैयार करने के समय, मेरी कोई संस्थागत संबद्धता नहीं थी।


इस कार्य का उद्धरण

root@kitploit:~
@misc{gattipinheiro2026cvebench,
  author       = {Gatti Pinheiro, Giovanni},
  title        = {{CVE-Bench}: Benchmarking {LLM} Agents on Real-World Security Vulnerability Fixes},
  year         = {2026},
  howpublished = {\url{https://giovannigatti.github.io/cve-bench}},
  note         = {Code available at \url{https://github.com/GiovanniGatti/cve-bench}}
}

लाइसेंस

MIT — LICENSE देखें।

टूल डाउनलोड करें
फ़्लैगविवरणडिफ़ॉल्ट
--modelएक या अधिक provider:model-id स्ट्रिंगसभी कॉन्फ़िगर किए गए मॉडल
--prompt-typeadvisory, diagnose, locate, या कोई भी संयोजनसभी तीन
--taskएक या अधिक कार्य IDसभी कार्य
--cleanशुरू करने से पहले चयनित दायरे के लिए मौजूदा परिणाम हटाएँबंद
प्रदाताप्रारूपAPI कुंजी env var
OpenAIopenai:gpt-5.5OPENAI_API_KEY
Anthropicanthropic:claude-haiku-4-5-20251001ANTHROPIC_API_KEY
Poolsidepoolside:laguna-m.1POOLSIDE_API_KEY
टूलविवरण
list_filesरिपॉजिटरी में फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करें
read_fileफ़ाइल सामग्री पढ़ें, वैकल्पिक रूप से पंक्ति श्रेणी
search_in_filesकोडबेस में रेगेक्स खोज, वैकल्पिक फ़ाइल ग्लोब के साथ
edit_fileमौजूदा फ़ाइल में पंक्तियों की श्रेणी बदलें
create_fileएक नई फ़ाइल बनाएँ
delete_fileएक फ़ाइल हटाएँ
run_pytestप्रोजेक्ट का टेस्ट सूट चलाएँ; JSON रिपोर्ट लौटाता है