Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DVDR_LLM — إطار عمل تجميعي لاكتشاف وإصلاح الثغرات الأمنية في البرمجيات باستخدام نماذج لغوية كبيرة متعددة، مع أدوات لتحليل توافق الآراء وتقييم المفاضلة بين الدقة والاستدعاء. | Kitploit
أدوات/GitHubGitHub/erroristotle/dvdr_llm
تحليل الثغرات الأمنيةتحليل الكودتعلم الآلةالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعي
GitHuberroristotle/dvdr_llm

DVDR_LLM

إطار عمل تجميعي لاكتشاف وإصلاح الثغرات الأمنية في البرمجيات باستخدام نماذج لغوية كبيرة متعددة، مع أدوات لتحليل توافق الآراء وتقييم المفاضلة بين الدقة والاستدعاء.

عرض المستودع
316منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

DVDR-LLM: متى تكون النماذج اللغوية الكبيرة أفضل معًا لاكتشاف وإصلاح الثغرات البرمجية؟

Python 3.8+ Paper

التنفيذ الرسمي والقطعة الأثرية للبحث العلمي:
"DVDR-LLM: متى تكون النماذج اللغوية الكبيرة أفضل معًا لاكتشاف وإصلاح الثغرات البرمجية؟"

🎯 نظرة عامة

DVDR-LLM هو إطار عمل تنسيقي (Ensemble) يدرس بشكل منهجي المفاضلات الأساسية في تجميع نماذج لغوية كبيرة متعددة (LLMs) لاكتشاف وإصلاح الثغرات البرمجية. يكشف تقييمنا الشامل عن رؤى حاسمة حول موازنة الدقة والاستدعاء (Precision-Recall)، وفوائد تنوع النماذج، والمناهج القائمة على توافق الآراء في التطبيقات الحساسة أمنيًا.

النتائج الرئيسية

  • مفاضلات الدقة والاستدعاء: يقلل التنسيق (Ensemble) من النتائج الإيجابية الكاذبة في تقييم صلاحية التصحيحات (دقة +10-12%) ولكنه يزيد من النتائج السلبية الكاذبة في تحديد الثغرات
  • فوائد التعقيد: تزداد مزايا تنوع النماذج مع ارتفاع مستوى تجريد الكود (+18% استدعاء، +11.8% F1 للثغرات متعددة الملفات)
  • الانحياز التحفظي: 80% من النماذج تُظهر سلوكًا تحفظيًا منهجيًا (تفويت الثغرات مقابل الإفراط في الاكتشاف)
  • لا يوجد مختصون فريدون: جميع اكتشافات الثغرات تتداخل عبر التنسيق، مما يتحقق من صحة استراتيجيات التصويت بالأغلبية

📁 هيكل المستودع

DVDR_LLM/
├── dvdr_llm/                  # الحزمة الرئيسية (هيكل احترافي)
│   ├── __init__.py            # تصديرات الحزمة
│   ├── cli.py                 # واجهة سطر الأوامر
│   ├── config.py              # إعدادات التهيئة
│   ├── core/                  # الوظائف الأساسية
│   │   ├── api_client.py      # التواصل مع واجهة برمجة تطبيقات LLM
│   │   ├── detector.py        # صنف VulnerabilityDetector
│   │   └── prompts.py         # أدوات توليد المطالبات
│   ├── analysis/              # وحدات التحليل
│   │   ├── consensus.py       # تحليل توافق الآراء
│   │   └── metrics.py         # مقاييس الأداء
│   ├── evaluation/            # تقييم النماذج
│   │   └── evaluator.py       # صنف ModelEvaluator
│   ├── visualization/         # الرسم والتصور
│   │   └── plotter.py         # صنف ResultsPlotter
│   └── tools/                 # أدوات إضافية
├── utils/                     # الوحدات المساعدة الأصلية
│   ├── api.py                 # أدوات التفاعل مع واجهة برمجة تطبيقات LLM
│   ├── database.py            # دوال مساعدة لـ SQLite
│   └── config.py              # ثوابت الإعدادات
├── data/                      # مجموعات البيانات وقواعد البيانات
│   ├── vulnerabilities.csv    # بيانات الثغرات
│   └── vulnerable and patched codes.sqlite
├── output/                    # النتائج وقواعد البيانات المُنشأة
│   ├── database_*.sqlite      # قواعد بيانات خاصة بكل نموذج
│   ├── consensus_analysis/    # نتائج تحليل توافق الآراء
│   ├── metrics/              # مقاييس الأداء
│   └── database_exports/     # البيانات المُصدَّرة
├── examples/                  # أمثلة الاستخدام
│   └── basic_usage.py         # عرض أساسي للاستخدام
├── docs/                      # التوثيق
│   └── README_consensus_analysis.md
├── paper/                     # البحث العلمي
│   ├── main.pdf               # الورقة المنشورة
│   └── main.tex               # مصدر LaTeX
├── setup.py                   # تثبيت الحزمة
├── requirements.txt           # التبعيات
├── CHANGELOG.md              # سجل التغييرات
├── LICENSE                   # رخصة MIT
└── README.md                 # هذا الملف

🚀 بدء سريع

المتطلبات الأساسية

  • Python 3.8+
  • الوصول إلى واجهات برمجة تطبيقات LLM (Ollama، OpenAI، وغيرها)
  • SQLite لقواعد بيانات الثغرات

التثبيت

  1. استنساخ المستودع:

    git clone https://github.com/Erroristotle/DVDR_LLM.git
    cd DVDR_LLM
    
  2. تثبيت التبعيات:

    pip install -r requirements.txt
    pip install -e .  # تثبيت الحزمة في وضع التطوير
    
  3. التحقق من التثبيت:

    python verify_package.py
    

الاستخدام الأساسي

واجهة سطر الأوامر

# تشغيل اكتشاف الثغرات مع التنسيق
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

from dvdr_llm import VulnerabilityDetector, ConsensusAnalyzer, ModelEvaluator

# Initialize vulnerability detector
detector = VulnerabilityDetector("llama3-8b-instruct")

# Connect to database
detector.connect_to_database("data/vulnerabilities.sqlite")

# Analyze code for vulnerabilities
code = """
void vulnerable_function(char *input) {
    char buffer[100];
    strcpy(buffer, input);  // Buffer overflow
}
"""

# Get CVE predictions
cve_names = detector.analyze_code_for_cves(code, 2023)
print(f"Identified CVEs: {cve_names}")

# Detect vulnerability
is_vulnerable = detector.detect_vulnerability(code)
print(f"Is vulnerable: {is_vulnerable}")

# Process database entries
stats = detector.process_database_entries(limit=100)
print(f"Processed {stats['processed']} entries")

# Clean up
detector.close()

# Multi-model consensus analysis
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)

# Model evaluation
evaluator = ModelEvaluator()
evaluation_results = evaluator.evaluate_multiple_models(
    model_databases, 
    "data/ground_truth.csv"
)

📊 إعادة إنتاج نتائج الورقة

أسئلة البحث

RQ1: تأثير تجميع نماذج لغوية كبيرة متعددة

# توليد الجدول 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: العتبة المثلى لتوافق الآراء

# توليد الشكل 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: الأداء عبر مستويات التجريد

# توليد الجدول 3 (تحليل مستوى التجريد)
python dvdr_llm/evaluation/evaluator.py --abstraction-analysis --threshold 0.6

# تقييم الأداء الخاص بكل مستوى
dvdr-llm evaluate --abstraction-levels 1,2,3 --ensemble

RQ4: التجميع الموزون لجودة التصحيحات

# تحليل مقاييس جودة التصحيح (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

توليد الأشكال الرئيسية

# الشكل الرئيسي لتحليل نمط التضارب (الشكل 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

🔧 الإعدادات

إعدادات النموذج

قم بتعديل dvdr_llm/config.py لإعداد نقاط نهاية النماذج اللغوية الكبيرة:

LLM_MODELS = {
    "llama3_8b": "ollama run llama3:8b-instruct",
    "codellama_7b": "ollama run codellama:7b-instruct",
    "mistral_7b": "ollama run mistral:7b-instruct",
    # Add your model configurations
}
تنزيل الأداة