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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DVDR_LLM — सॉफ्टवेयर भेद्यता का पता लगाने और मरम्मत के लिए एक एन्सेम्बल फ्रेमवर्क जो कई बड़े भाषा मॉडलों का उपयोग करता है, जिसमें सटीकता-पुनरावृत्ति व्यापार-बंद के लिए सर्वसम्मति विश्लेषण और मूल्यांकन उपकरण शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/erroristotle/dvdr_llm
भेद्यता विश्लेषणकोड विश्लेषणमशीन लर्निंगपेपर और शोधलर्निंग और शिक्षाAI सुरक्षा
GitHuberroristotle/dvdr_llm

DVDR_LLM

सॉफ्टवेयर भेद्यता का पता लगाने और मरम्मत के लिए एक एन्सेम्बल फ्रेमवर्क जो कई बड़े भाषा मॉडलों का उपयोग करता है, जिसमें सटीकता-पुनरावृत्ति व्यापार-बंद के लिए सर्वसम्मति विश्लेषण और मूल्यांकन उपकरण शामिल हैं।

रिपॉजिटरी देखें
38 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

DVDR-LLM: जब LLM सॉफ़्टवेयर भेद्यता का पता लगाने और मरम्मत के लिए एक साथ बेहतर होते हैं?

Python 3.8+ Paper

शोध पत्र के लिए आधिकारिक कार्यान्वयन और कलाकृति:
"DVDR-LLM: जब LLM सॉफ़्टवेयर भेद्यता का पता लगाने और मरम्मत के लिए एक साथ बेहतर होते हैं?"

🎯 अवलोकन

DVDR-LLM एक समूह ढांचा है जो सॉफ़्टवेयर भेद्यता का पता लगाने और मरम्मत के लिए कई बड़े भाषा मॉडल (LLM) को एकत्रित करने में मूलभूत व्यापार-बंदों की व्यवस्थित रूप से जांच करता है। हमारा व्यापक मूल्यांकन सटीकता-रीकॉल संतुलन, मॉडल विविधता लाभ और सुरक्षा-महत्वपूर्ण अनुप्रयोगों में सर्वसम्मति-आधारित दृष्टिकोणों के बारे में महत्वपूर्ण अंतर्दृष्टि प्रकट करता है।

मुख्य निष्कर्ष

  • सटीकता-रीकॉल व्यापार-बंद: समूह पैच वैधता मूल्यांकन में गलत सकारात्मक को कम करता है (+10-12% सटीकता) लेकिन भेद्यता पहचान में गलत नकारात्मक बढ़ाता है
  • जटिलता लाभ: कोड अमूर्तता स्तर बढ़ने पर मॉडल विविधता लाभ बढ़ते हैं (+18% रिकॉल, +11.8% F1 बहु-फ़ाइल भेद्यताओं के लिए)
  • रूढ़िवादी पूर्वाग्रह: 80% मॉडल व्यवस्थित रूप से रूढ़िवादी व्यवहार प्रदर्शित करते हैं (भेद्यताओं का पता न लगाना बनाम अति-पता लगाना)
  • कोई अद्वितीय विशेषज्ञ नहीं: सभी भेद्यता पहचान समूह में ओवरलैप होती हैं, जो बहुमत मतदान रणनीतियों को मान्य करती हैं

📁 रिपॉजिटरी संरचना

root@kitploit:~
DVDR_LLM/
├── dvdr_llm/                  # Main package (professional structure)
│   ├── __init__.py            # Package exports
│   ├── cli.py                 # Command-line interface
│   ├── config.py              # Configuration settings
│   ├── core/                  # Core functionality
│   │   ├── api_client.py      # LLM API communication
│   │   ├── detector.py        # VulnerabilityDetector class
│   │   └── prompts.py         # Prompt generation utilities
│   ├── analysis/              # Analysis modules
│   │   ├── consensus.py       # Consensus analysis
│   │   └── metrics.py         # Performance metrics
│   ├── evaluation/            # Model evaluation
│   │   └── evaluator.py       # ModelEvaluator class
│   ├── visualization/         # Plotting and visualization
│   │   └── plotter.py         # ResultsPlotter class
│   └── tools/                 # Additional utilities
├── utils/                     # Original utility modules
│   ├── api.py                 # LLM API interaction helpers
│   ├── database.py            # SQLite helper functions
│   └── config.py              # Configuration constants
├── data/                      # Datasets and databases
│   ├── vulnerabilities.csv    # Vulnerability data
│   └── vulnerable and patched codes.sqlite
├── output/                    # Generated results and databases
│   ├── database_*.sqlite      # Model-specific databases
│   ├── consensus_analysis/    # Consensus analysis results
│   ├── metrics/              # Performance metrics
│   └── database_exports/     # Exported data
├── examples/                  # Usage examples
│   └── basic_usage.py         # Basic usage demonstration
├── docs/                      # Documentation
│   └── README_consensus_analysis.md
├── paper/                     # Research paper
│   ├── main.pdf               # Published paper
│   └── main.tex               # LaTeX source
├── setup.py                   # Package installation
├── requirements.txt           # Dependencies
├── CHANGELOG.md              # Change log
├── LICENSE                   # MIT License
└── README.md                 # This file

🚀 त्वरित प्रारंभ

आवश्यक शर्तें

  • Python 3.8+
  • LLM API तक पहुंच (Ollama, OpenAI, आदि)
  • भेद्यता डेटाबेस के लिए SQLite

स्थापना

  1. रिपॉजिटरी को क्लोन करें:

    root@kitploit:~
    git clone https://github.com/Erroristotle/DVDR_LLM.git
    cd DVDR_LLM
    
  2. निर्भरताएं स्थापित करें:

    root@kitploit:~
    pip install -r requirements.txt
    pip install -e .  # पैकेज को डेवलपमेंट मोड में स्थापित करें
    
  3. स्थापना सत्यापित करें:

    root@kitploit:~
    python verify_package.py
    

बुनियादी उपयोग

कमांड लाइन इंटरफ़ेस

root@kitploit:~
# भेद्यता का पता लगाने के लिए समूह के साथ चलाएं
dvdr-llm detect --models llama3-8b,codellama-7b --database data/vulnerabilities.sqlite

# सर्वसम्मति पैटर्न का विश्लेषण करें (RQ2)
dvdr-llm analyze consensus --input results/metrics/model_predictions.csv --threshold 0.6

# विरोध पैटर्न विज़ुअलाइज़ेशन उत्पन्न करें (पेपर में चित्र)
python dvdr_llm/visualization/conflict_pattern_plot.py results/metrics/reviewer_insights_disagreement_patterns.csv -o reviewer_insights

# अमूर्तता स्तरों पर समूह प्रदर्शन का मूल्यांकन करें (RQ3)
dvdr-llm evaluate --models-dir output/ --abstraction-analysis

Python API

root@kitploit:~
from dvdr_llm import VulnerabilityDetector, ConsensusAnalyzer, ModelEvaluator

# भेद्यता डिटेक्टर को आरंभ करें
detector = VulnerabilityDetector("llama3-8b-instruct")

# डेटाबेस से कनेक्ट करें
detector.connect_to_database("data/vulnerabilities.sqlite")

# भेद्यताओं के लिए कोड का विश्लेषण करें
code = """
void vulnerable_function(char *input) {
    char buffer[100];
    strcpy(buffer, input);  // Buffer overflow
}
"""

# CVE भविष्यवाणियां प्राप्त करें
cve_names = detector.analyze_code_for_cves(code, 2023)
print(f"Identified CVEs: {cve_names}")

# भेद्यता का पता लगाएं
is_vulnerable = detector.detect_vulnerability(code)
print(f"Is vulnerable: {is_vulnerable}")

# डेटाबेस प्रविष्टियां संसाधित करें
stats = detector.process_database_entries(limit=100)
print(f"Processed {stats['processed']} entries")

# साफ करें
detector.close()

# बहु-मॉडल सर्वसम्मति विश्लेषण
model_databases = {
    "llama3-8b": "output/database_llama3-8b-instruct.sqlite",
    "codellama-7b": "output/database_codellama-7b-instruct.sqlite",
    "gemma2-9b": "output/database_gemma2-9b.sqlite"
}

analyzer = ConsensusAnalyzer()
consensus_results = analyzer.run_full_analysis(model_databases)

# मॉडल मूल्यांकन
evaluator = ModelEvaluator()
evaluation_results = evaluator.evaluate_multiple_models(
    model_databases, 
    "data/ground_truth.csv"
)

📊 पेपर परिणामों को पुन: प्रस्तुत करना

शोध प्रश्न

RQ1: एकाधिक LLM को एकत्रित करने का प्रभाव

root@kitploit:~
# तालिका 2 उत्पन्न करें (डेल्टा प्रतिशत के साथ मॉडल तुलना)
python dvdr_llm/tools/model_contribution_analysis.py results/metrics/model_predictions.csv --compare-ensemble --threshold 0.7

# व्यक्तिगत बनाम समूह प्रदर्शन का विश्लेषण करें
dvdr-llm evaluate --comparison-analysis --threshold 0.7

RQ2: इष्टतम सर्वसम्मति सीमा

root@kitploit:~
# चित्र 3 उत्पन्न करें (सीमा संवेदनशीलता विश्लेषण)
python dvdr_llm/tools/threshold_analysis.py results/metrics/model_predictions.csv --range 0.3-0.8

# सीमा चयन का सांख्यिकीय सत्यापन
python dvdr_llm/analysis/statistical_validation.py --threshold-analysis

RQ3: अमूर्तता स्तरों पर प्रदर्शन

root@kitploit:~
# तालिका 3 उत्पन्न करें (अमूर्तता स्तर विश्लेषण)
python dvdr_llm/evaluation/evaluator.py --abstraction-analysis --threshold 0.6

# स्तर-विशिष्ट प्रदर्शन मूल्यांकन
dvdr-llm evaluate --abstraction-levels 1,2,3 --ensemble

RQ4: पैच गुणवत्ता के लिए भारित एकत्रीकरण

root@kitploit:~
# पैच गुणवत्ता मेट्रिक्स का विश्लेषण करें (ROUGE, CodeBLEU, जटिलता)
python dvdr_llm/tools/patch_quality_analysis.py results/patches/ --weighted-scoring

# चित्र 4 उत्पन्न करें (पैच समानता और जटिलता विश्लेषण)
dvdr-llm visualize --patch-analysis --metrics results/patch_metrics.csv

मुख्य आंकड़े उत्पन्न करना

root@kitploit:~
# मुख्य विरोध पैटर्न विश्लेषण आकृति (चित्र 2)
python dvdr_llm/visualization/conflict_pattern_plot.py results/metrics/reviewer_insights_disagreement_patterns.csv -o reviewer_insights

# सीमा संवेदनशीलता विश्लेषण (चित्र 3)
python dvdr_llm/visualization/enhanced_figure3_generator.py results/metrics/model_predictions.csv

# सांख्यिकीय सत्यापन प्लॉट (परिशिष्ट)
python dvdr_llm/analysis/statistical_significance_analysis.py --generate-plots

🔧 कॉन्फ़िगरेशन

मॉडल कॉन्फ़िगरेशन

LLM एंडपॉइंट्स को कॉन्फ़िगर करने के लिए dvdr_llm/config.py संपादित करें:

root@kitploit:~
LLM_MODELS = {
    "llama3_8b": "ollama run llama3:8b-instruct",
    "codellama_7b": "ollama run codellama:7b-instruct",
    "mistral_7b": "ollama run mistral:7b-instruct",
    # अपने मॉडल कॉन्फ़िगरेशन जोड़ें
}

# विभिन्न परिदृश्यों के लिए सर्वसम्मति सीमाएं
CONSENSUS_THRESHOLDS = {
    "conservative": 0.8,  # उच्च सटीकता, कम गलत सकारात्मक
    "balanced": 0.6,      # संतुलित सटीकता-रीकॉल
    "sensitive": 0.4      # उच्च रिकॉल, अधिक भेद्यताएं पकड़ें
}

प्रॉम्प्ट टेम्पलेट

पुनरुत्पादन क्षमता के लिए ढांचा मानकीकृत प्रॉम्प्ट टेम्पलेट का उपयोग करता है:

  • SVD1: बिना पैच वाले कोड में भेद्यता पहचान
  • SVD2: पैच वैधता मूल्यांकन
  • SVD3: CVE/CWE-निर्देशित भेद्यता पहचान
  • SVD4: CVE/CWE-निर्देशित पैच सत्यापन
  • SVR1: शून्य-शॉट भेद्यता मरम्मत
  • SVR2: कमिट विवरण के साथ कुछ-शॉट मरम्मत

📈 प्रायोगिक परिणाम

मॉडल प्रदर्शन सारांश

Δ% समूह आधार रेखा से प्रदर्शन अंतर दर्शाता है

मुख्य अंतर्दृष्टियां

  1. व्युत्क्रम प्रदर्शन संबंध: पता लगाने में उत्कृष्ट मॉडल अक्सर सत्यापन में विफल होते हैं
  2. सीमा संवेदनशीलता: 60% सीमा कार्यों में इष्टतम संतुलन प्रदान करती है
  3. अमूर्तता लाभ: कोड जटिलता बढ़ने पर समूह के लाभ बढ़ते हैं
  4. रूढ़िवादी पूर्वाग्रह: अति-पता लगाने की तुलना में कम-पता लगाने की ओर व्यवस्थित प्रवृत्ति

🛠️ उन्नत उपयोग

कस्टम विश्लेषण

root@kitploit:~
# कस्टम सर्वसम्मति रणनीति लागू करें
from dvdr_llm.analysis.consensus import ConsensusAnalyzer

class WeightedConsensus(ConsensusAnalyzer):
    def __init__(self, model_weights):
        self.weights = model_weights
    
    def weighted_majority_vote(self, predictions):
        weighted_sum = sum(pred * weight for pred, weight in zip(predictions, self.weights))
        return weighted_sum >= 0.5

# कस्टम विज़ुअलाइज़ेशन का उपयोग करें
from dvdr_llm.visualization import ConflictPatternPlotter

plotter = ConflictPatternPlotter()
plotter.create_professional_figure(
    disagreement_data, 
    output_prefix="custom_analysis",
    style="publication"
)

ढांचे का विस्तार

root@kitploit:~
# नया LLM मॉडल जोड़ें
from dvdr_llm.core.api_client import LLMClient

class CustomLLMClient(LLMClient):
    def __init__(self, api_endpoint, model_name):
        super().__init__(api_endpoint, model_name)
    
    def generate_response(self, prompt, **kwargs):
        # कस्टम API इंटरैक्शन लागू करें
        pass

# नया मॉडल पंजीकृत करें
detector.register_model("custom-llm", CustomLLMClient("api_url", "model_name"))

📚 दस्तावेज़ीकरण

  • API संदर्भ: विस्तृत API दस्तावेज़ीकरण
  • विश्लेषण गाइड: सांख्यिकीय विश्लेषण स्पष्टीकरण
  • विज़ुअलाइज़ेशन गाइड: आकृति निर्माण निर्देश
  • सर्वसम्मति विश्लेषण: सर्वसम्मति पद्धति विवरण

🔬 शोध पत्र

पूर्ण शोध निष्कर्ष paper/main.tex में दस्तावेज़ित हैं। प्रमुख योगदानों में शामिल हैं:

  1. भेद्यता कार्यों के लिए LLM समूह विविधता का पहला व्यापक अनुभवजन्य मूल्यांकन
  2. वाक्य रचना से परे कोड गुणवत्ता पर विचार करने वाली नवीन भारित मरम्मत मूल्यांकन प्रणाली
  3. तीन अमूर्तता स्तरों पर व्यवस्थित विश्लेषण जो व्यावहारिक मापनीयता अंतर्दृष्टि प्रदान करता है
  4. सुरक्षा-महत्वपूर्ण अनुप्रयोगों के लिए महत्वपूर्ण सटीकता-रीकॉल व्यापार-बंद विश्लेषण

🤝 योगदान

हम योगदान का स्वागत करते हैं! कृपया हमारे योगदान दिशानिर्देश देखें:

  1. रिपॉजिटरी को फोर्क करें
  2. एक फीचर ब्रांच बनाएं (git checkout -b feature/new-analysis)
  3. परिवर्तन कमिट करें (git commit -am 'नई विश्लेषण विधि जोड़ें')
  4. ब्रांच पर पुश करें (git push origin feature/new-analysis)
  5. पुल रिक्वेस्ट बनाएं

📄 लाइसेंस

LICENCE फ़ाइल देखें।

यदि आप DVDR-LLM का उपयोग करते हैं, तो कृपया उद्धृत करें: @article{zibaeirad2025diverse, title={Diverse LLMs vs. Vulnerabilities: Who Detects and Fixes Them Better?}, author={Zibaeirad, Arastoo and Vieira, Marco}, journal={arXiv preprint arXiv:2512.12536}, year={2025} }

टूल डाउनलोड करें
मॉडलSVD1 (Δ%)SVD2 (Δ%)SVD3 (Δ%)SVD4 (Δ%)
Llama3-8b+59.8%-87.5%+127.1%-73.5%
Llama3-70b-50.8%+54.4%-19.6%+13.5%
CodeLlama-7b+16.8%-34.6%+86.9%-45.4%
Ensemble (60%)BaselineBaselineBaselineBaseline