Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
VulnLLM-R — स्रोत-कोड भेद्यता का पता लगाने के लिए C/C++ और Python में विशेषीकृत रीज़निंग LLM, जिसमें डेटासेट निर्माण, SFT/DPO प्रशिक्षण और परिणाम-पुनरुत्पादन स्क्रिप्ट शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/ucsb-mlsec/vulnllm-r
स्थैतिक कोड विश्लेषण (SAST)भेद्यता विश्लेषणकोड विश्लेषणमशीन लर्निंगपेपर और शोध
GitHubucsb-mlsec/vulnllm-r

VulnLLM-R

स्रोत-कोड भेद्यता का पता लगाने के लिए C/C++ और Python में विशेषीकृत रीज़निंग LLM, जिसमें डेटासेट निर्माण, SFT/DPO प्रशिक्षण और परिणाम-पुनरुत्पादन स्क्रिप्ट शामिल हैं।

रिपॉजिटरी देखें
37058236 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

VulnLLM-R: भेद्यता पहचान के लिए विशेषीकृत रीज़निंग LLM

  • पेपर: arXiv:2512.07533
  • कोड और डेटा: GitHub
  • डेमो: Web demo
  • मॉडल: 7B Model
model_size_vs_f1_scatter_01

पर्यावरण और डेटासेट

🛠️ पर्यावरण बनाएँ

  • Git LFS इंस्टॉल करें और रिपॉज़िटरी क्लोन करें (LFS फ़ाइलें क्लोन के दौरान स्वचालित रूप से प्राप्त हो जाती हैं)
git lfs install          # one-time setup
git clone https://github.com/ucsb-mlsec/VulnLLM-R.git
cd VulnLLM-R
# If you cloned before installing Git LFS, run: git lfs pull
  • नया conda वातावरण बनाएँ
conda create -n vulnscan python=3.11
conda activate vulnscan
  • आवश्यक पैकेज इंस्टॉल करें
pip install -e . -e ./vulscan/train/LLaMA-Factory -e ./vulscan/model_zoo

हमारे परिणामों को दोहराने के लिए

# generate VulnLLM-R-7B's results
python -m vulscan.test.test --output_dir results/test_data --dataset_path ./datasets/test/function_level/ ./datasets/test/repo_level/ --language python c java --model UCSB-SURFI/VulnLLM-R-7B --requests_per_minute 1000 --save --use_cot --batch_size 4 --tp 2 --vllm --max_tokens 8192 --random_cwe

python -m vulscan.test.test_hf \
      --output_dir results/test_hf \
      --hf_dataset UCSB-SURFI/VulnLLM-R-Test-Data \
      --hf_split repo_level function_level \
      --language c python java \
      --model UCSB-SURFI/VulnLLM-R-7B \
      --save --use_cot --vllm --tp 2

# [optional] generate other models' results with our shell script 
# remember to add your API keys to .env file if you want to run commercial models
# use ./run_test.sh -h for more options
./vulscan/test/run_test.sh -o results/test_data -t 2 # -o means output directory, -t means tensor parallelism
./vulscan/test/run_test.sh -o results/test_data -M o3-mini # -M means model name, which runs only one model.
./vulscan/test/run_test.sh -o results/test_data -M gpt-5.4 -e high # -e sets reasoning effort (e.g., none/low/medium/high/xhigh)
./vulscan/test/run_test.sh -o results/test_data -M claude-opus-4-6 -e high

# [optional] draw plot to compare with other models
python plots/plot_language_comparison_models.py --results-dir results/test_data
python plots/plot_model_size_scatter.py --results-dir results/test_data # Note: Labels may overlap with scatter points. Adjust text positions manually if needed.

मौजूदा डिस्टिल्ड डेटासेट

  • Distill-DeepSeek
  • Distill-QwQ

हम डिस्टिल्ड डेटासेट के संक्षिप्त रीज़निंग संस्करण भी प्रदान करते हैं:

  • Reduced-Distill-DeepSeek
  • Reduced-Distill-QwQ

तकनीकी विवरण

📚 प्रशिक्षण और परीक्षण डेटासेट तैयार करना

मौजूदा फ़ंक्शन-स्तरीय भेद्यता पहचान डेटासेट को मर्ज करें: PrimeVul [1], SecCodePLT [2], Juliet [3], Sven [4], और Arvo [5]। इन डेटासेट में से, PrimeVul में सबसे जटिल फ़ंक्शन हैं। हम दो प्रशिक्षण सेट बनाते हैं: clean (PrimeVul के बिना) और noisy (PrimeVul के साथ), ताकि हम अपेक्षाकृत सरल डेटासेट पर प्रशिक्षण ले सकें और जटिल PrimeVul डेटासेट पर परीक्षण कर सकें। ध्यान दें कि हमने PrimeVul वाले प्रशिक्षण सेट को noisy नाम दिया है, इसका मतलब यह नहीं है कि डेटासेट noisy है। यह एक अपेक्षाकृत मनमाना नाम है जिसे हमने शुरुआत में इस्तेमाल किया था।

  • सभी डेटासेट डाउनलोड करने के बाद, vulscan/data_process/data_utils में डेटासेट को प्रोसेस और मर्ज करने के लिए कई स्क्रिप्ट हैं।
    • raw_to_us.py: कच्चे डेटा को हमारे डेटासेट में मर्ज करें और अनावश्यक डेटा हटाएँ
    • check_cwe_correct.py: प्रत्येक CWE श्रेणी के लिए सटीकता की गणना करें
    • generate_arvo_raw_data.py: arvo डेटासेट से संरचित कच्चा डेटा तैयार करें
    • arvo_to_us.py: arvo संरचित कच्चे डेटा को हमारे डेटासेट प्रारूप में पुनः प्रारूपित करें
    • split_good_bad_for_juliet.py: कच्चे Juliet 1.3 डेटासेट से डेटा निकालें और उसे आवश्यक प्रारूप में बदलें, जो हमारे clean_dataset का हिस्सा बनता है
    • add_sven_to_clean_dataset.py: Sven डेटासेट से डेटा निकालें, जो हमारे C clean डेटासेट का हिस्सा बनता है
    • sync_large_small.py: noisy_dataset/large_train/c के संशोधनों को noisy_dataset/small_train/c के साथ सिंक्रनाइज़ करें
    • remove_testing_from_training.py: प्रत्येक डेटा में human टैग जोड़ें, जिसका अर्थ है कि बिंदु की मानव द्वारा पुष्टि की गई है और परीक्षण डेटा के रूप में उपयोग किया जाता है -data_utils.py: डेटासेट में related_cwe फ़ील्ड जोड़ें।
  • मर्ज किया गया डेटा इसमें सहेजा जाएगा:
    • datasets/clean_dataset: PrimeVul के बिना प्रशिक्षण डेटा
      • datasets/clean_dataset/python में SVEN और SecCodePLT का डेटा है
      • datasets/clean_dataset/c में Juliet और SVEN का डेटा है
    • datasets/noisy_dataset
      • datasets/noisy_dataset/small_train: चयनित CWEs के साथ PrimeVul और SVEN का प्रशिक्षण डेटा शामिल है ( हम इस डेटासेट में PrimeVul डेटा को प्रशिक्षण के रूप में उपयोग करते हैं)
      • datasets/noisy_dataset/large_train: PrimeVul, SVEN और SecCodePLT से अधिक CWEs के साथ प्रशिक्षण डेटा शामिल है (यह डेटासेट बाद में बड़े मॉडलों को प्रशिक्षित करने के लिए उपयोग किया जा सकता है)
      • datasets/noisy_dataset/test: मानव द्वारा सत्यापित PrimeVul का एक छोटा परीक्षण सेट
    • datasets/test
      • datasets/test/test_clean: SVEN, SecCodePLT और Juliet का परीक्षण डेटा; प्रशिक्षण सेट का हिस्सा नहीं होने वाले OOD CWEs के साथ
      • datasets/test/test_primevul_pair: मूल PrimeVul परीक्षण डेटा
  • डेटासेट आँकड़े; डेटासेट का हिस्टोग्राम प्राप्त करने के लिए vulscan/data_process/data_utils/get_cwe_stat.py चला सकते हैं
डेटासेटभाषाप्रशिक्षण/परीक्षणCWE# Benign# Vuln.औसत लंबाई
Clean (seccodeplt)Pythonप्रशिक्षण2012811281741
Clean (juliet)C/C++प्रशिक्षण22171616533689
Hard (primevul filtered)C/C++प्रशिक्षण26271729524689
Long Context (Oss-fuzz)C/C++प्रशिक्षण347560412761
Simple (seccodeplt)Pythonपरीक्षण24 (6 ood)7474814
Simple (juliet)C/C++परीक्षण38 (14 ood)3583762575
Hard (PrimeVul, SecLLMHolmes)C/C++परीक्षण13 (5 ood)1451524545
Long Context (Oss-fuzz)C/C++परीक्षण3 (0 ood)032018929
primevul test (noisy)C/C++परीक्षण56 (34 ood)4214225341

🤔 प्रशिक्षण के लिए रीज़निंग डेटा तैयार करना

डेटासेट तैयार करने के बाद, हम अपने प्रशिक्षण सेट के लिए रीज़निंग डेटा तैयार करेंगे। हम DeepSeek-r1 और QwQ रीज़निंग मॉडल को क्वेरी करके रीज़निंग डेटा तैयार करेंगे और बहुत लंबी रीज़निंग चेन वाले डेटा को फ़िल्टर कर देंगे। रीज़निंग डेटा तैयार करने का कोड vulscan/data_process/generate_reasoning में है और रीज़निंग डेटा datasets/reasoning_data में सहेजा जाएगा।

cd vulscan/data_process/generate_reasoning
टूल डाउनलोड करें