Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
VulTriage — Der Code von VulTriage: Triple-Path-Kontextanreicherung für LLM-basierte Schwachstellenerkennung | Kitploit
Tools/GitHubGitHub/vinsontang1/vultriage
Statische AnalyseSchwachstellenanalyseCode-AnalyseMaschinelles LernenPapers & ForschungLernen & BildungKI-Sicherheit
GitHubvinsontang1/vultriage

VulTriage

Der Code von VulTriage: Triple-Path-Kontextanreicherung für LLM-basierte Schwachstellenerkennung

Repository anzeigen
51vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ChatGPT Image 2026年5月10日 16_51_24

Ein intelligentes Schwachstellenerkennungs-Framework auf Basis von Large Language Models und statischer Codeanalyse, das Multi-Datensatz-Evaluierung und Ablationsstudien unterstützt.

image-20260510164600403

📋 Inhaltsverzeichnis

  • Einführung
  • Hauptfunktionen
  • Systemanforderungen
  • Schnellstart
  • Verwendung
  • Datensätze & Modelle
  • FAQ

Einführung

Dieses Projekt ist ein intelligentes Schwachstellenerkennungs-Framework auf Basis der Modelle GPT-4o und BGE-M3 und kombiniert:

  • Statische Strukturanalyse: Kontrollflussgraphen (CFG), Datenflussgraphen (DFG), abstrakte Syntaxbäume (AST)
  • Retrieval-Augmented Generation (RAG): Abgleich von Schwachstellenmustern auf Basis der CWE-Wissensbasis
  • Codeverständnis: Semantische Analyse mithilfe von Large Language Models
  • Paar-/Einzelproben-Erkennung: Unterstützung mehrerer Evaluierungsmodi

Hauptfunktionen

  • ✅ Unterstützung für PrimeVul- und Kotlin-Datensätze
  • ✅ Integrierter Abruf der CWE-Schwachstellenwissensbasis
  • ✅ Konfigurierbare Ablationsstudien
  • ✅ Echtzeit-Metrikverfolgung
  • ✅ Flexible Unterstützung für Hyperparameterexperimente

Systemanforderungen

  • Python >= 3.9
  • CUDA (optional, für GPU-Beschleunigung)

Schnellstart

1. Abhängigkeiten installieren

root@kitploit:~
pip install -r requirements.txt

2. Ressourcen vorbereiten

BGE-M3-Modell herunterladen

Das Modell wird automatisch heruntergeladen, oder Sie können es manuell herunterladen:

root@kitploit:~
git clone https://huggingface.co/BAAI/bge-m3
# Note: BGE-M3 related dependencies can be installed via FlagEmbedding. For details, refer to: pip install -U FlagEmbedding

CWE-Daten vorbereiten

Stellen Sie sicher, dass die Dateien cwec_latest.xml/cwec_v4.19.1.xml und 1435.csv/1435_filtered_columns.csv (CWE-Indexdaten) im Projektstammverzeichnis vorhanden sind.

Hinweis: Dieses Projekt verwendet die CWE Top 25 Most Dangerous Software Weaknesses. Die zugehörigen Dateien sind bereits im Projektstammverzeichnis enthalten.

Datensätze vorbereiten

Platzieren Sie die folgenden Dateien im Projektstammverzeichnis:

  • primevul_test_paired.jsonl (PrimeVul-Datensatz)
  • LLM4Vul-main/LLM4Vul-main/data/kotlin_data.csv (Kotlin-Datensatz)

3. API-Schlüssel konfigurieren

Ändern Sie die OpenAI-API-Konfiguration in main.py oder hyperparam_exp.py:

root@kitploit:~
client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.poixe.com/v1"
)

Hinweis: Die aktuelle URL https://api.poixe.com/v1 konnte nicht geparst werden. Möglicherweise handelt es sich um einen nicht unterstützten Webseitentyp oder einen defekten Link. Bitte überprüfen Sie die Gültigkeit des Links oder wechseln Sie zu einem anderen API-Anbieter.

4. Schwachstellenerkennung ausführen

Basismodus (Volle Funktionalität)

root@kitploit:~
python main.py --wotask all --jsonl_file primevul_test_paired.jsonl

Ablationsstudienmodus

root@kitploit:~
# Without control flow information
python main.py --wotask wo_ctrl_info_pth --jsonl_file primevul_test_paired.jsonl
# Without RAG knowledge
python main.py --wotask wo_rag_pth --jsonl_file primevul_test_paired.jsonl
# Without code understanding
python main.py --wotask wo_exp_pth --jsonl_file primevul_test_paired.jsonl
# Without any auxiliary information
python main.py --wotask nan --jsonl_file primevul_test_paired.jsonl

Hyperparameterexperimente

root@kitploit:~
# Pairwise evaluation mode
python hyperparam_exp.py --mode pairwise --input_file primevul_test_paired.jsonl --detail_level C --info_comb all --desc_level concise --max_vuln 2
# Single-sample evaluation mode
python hyperparam_exp.py --mode single --input_file LLM4Vul-main/LLM4Vul-main/data/kotlin_data.csv

5. Ergebnisse anzeigen

Die Erkennungsergebnisse werden in Echtzeit in metrics_log.txt gespeichert, und abschließende Evaluierungszusammenfassungen werden im Terminal ausgegeben:

  • Zu den Evaluierungsmetriken gehören Genauigkeit, Recall, Falsch-Positiv-Rate usw.
  • Die Ergebnisse der Ablationsstudie vergleichen Leistungsunterschiede zwischen verschiedenen Modi, um den Beitrag jedes Moduls zu analysieren.

Verwendung

Übersicht der Hauptskripte

SkriptZweck
main.pyHauptskript zur Schwachstellenerkennung mit Unterstützung für Ablationsstudien

Parameterbeschreibung

Parameter von main.py

Parameter von hyperparam_exp.py

Datensätze & Modelle

📊 Datensätze

1. PrimeVul-Datensatz

  • Zitation: Yangruibo Ding, Yanjun Fu, Omniyyah Ibrahim, Chawin Sitawarin, Xinyun Chen, Basel Alomair, David Wagner, Baishakhi Ray, and Yizheng Chen. 2025. Vulnerability detection with code language models: How far are we? ISSTA 2025 (2025).
  • Zweck: Benchmark für paarweise Schwachstellenerkennung
  • Format: JSONL (enthält die Felder func und target)
  • Quelle: ISSTA 2025 Conference (Offizielle ISSTA-Website). Bitte beachten Sie die Zugriffsrechte für den Datensatz in der Originalveröffentlichung.

2. Kotlin-Datensatz

  • Zitation: Triet Huynh Minh Le, M Ali Babar, and Tung Hoang Thai. 2024. Software vulnerability prediction in low-resource languages: An empirical study of codebert and chatgpt. In Proceedings of the 28th International Conference on Evaluation and Assessment in Software Engineering, 679–685.
  • Zweck: Forschung zur Schwachstellenvorhersage in ressourcenarmen Sprachen
  • Format: CSV (enthält die Spalten code und label)
  • Quelle: EASE 2024 Conference (Offizielle EASE-2024-Website). Bitte beachten Sie die Zugriffsrechte für den Datensatz in der Originalveröffentlichung.

3. CWE-Datenbank

  • Version: CWE v4.19.1
  • Quelle: MITRE CWE
  • Zweck: Wissensbasis für Schwachstellenmuster und Retrieval-Augmentation
  • Hinweis: CWE kann frei für Forschungs-, Entwicklungs- und kommerzielle Zwecke verwendet werden. Die Urheberrechtsangabe an MITRE muss erhalten bleiben.

🤖 Modelle

1. BGE-M3-Einbettungsmodell

  • Entwickler: BAAI (Beijing Academy of Artificial Intelligence)
  • HuggingFace: BAAI/bge-m3
  • Lizenz: MIT-Lizenz (Hinweis: Die aktuelle Lizenzseite des Modells konnte nicht geparst werden. Siehe Lizenz des FlagEmbedding-Projekts, die eine MIT-Lizenz ist)
  • Zweck: Hybrider Abruf mit dichten und dünnbesetzten Vektoren; unterstützt mehrsprachigen, mehrgranularen (maximale Eingabelänge 8192 Token) und multifunktionalen Abruf
  • Verwandtes Projekt: FlagEmbedding (Open-Source-Repository für BGE-Serienmodelle)

2. GPT-4o

  • Entwickler: OpenAI
  • Modellversion: gpt-4o-2024-11-20
  • Lizenz: Gemäß den OpenAI-Nutzungsbedingungen (in Kraft ab 1. Januar 2026)
  • Zweck: Codeverständnis, Schwachstellenidentifizierung, Schlussfolgerung und Beurteilung
  • Hinweis: Die Nutzung muss den OpenAI-Nutzungsbedingungen entsprechen. Rechtswidrige oder schädliche Aktivitäten sowie Reverse Engineering des Modells sind untersagt.

📦 Abhängigkeitsbibliotheken

BibliothekVersionLizenz
FlagEmbedding1.4.0MIT
openai2.26.0Apache 2.0

FAQ

F1: Wie kann ich den OpenAI-API-Anbieter ändern?

Ändern Sie base_url und api_key in main.py oder hyperparam_exp.py.

F2: Warum sind die Abrufergebnisse ungenau?

  1. Prüfen Sie, ob 1435.csv/1435_filtered_columns.csv korrekt geladen wird, und stellen Sie sicher, dass das Format der CWE-Indexdaten korrekt ist;
  2. Bestätigen Sie, dass das BGE-M3-Modell korrekt heruntergeladen wurde. Sie können es manuell über git clone https://huggingface.co/BAAI/bge-m3 herunterladen;

F3: Wie kann ich Evaluierungsmetriken anpassen?

Ändern Sie die Methode update_pair_metrics in metrics_tracker.py, um die Logik zur Metrikberechnung hinzuzufügen oder anzupassen.

F4: Was, wenn das Herunterladen des BGE-M3-Modells fehlschlägt?

Laden Sie die Modelldateien direkt von der HuggingFace-Website herunter und entpacken Sie sie in das Projektstammverzeichnis, oder überprüfen Sie Ihre Netzwerkverbindung und führen Sie den Befehl git clone https://huggingface.co/BAAI/bge-m3 erneut aus.

Tool herunterladen
hyperparam_exp.pyHyperparameterexperimente und Multi-Modus-Evaluierung
retrieval.pyAbrufmodul für die CWE-Wissensbasis (hybrider Abruf auf Basis des BGE-M3-Modells)
metrics_tracker.pyEchtzeit-Metrik-Tracker mit Protokollspeicherung und Visualisierungsunterstützung
ParameterStandardBeschreibung
--wotaskallAblationsmodus: all (volle Funktionalität), wo_ctrl_info_pth (keine statischen Strukturinformationen), wo_rag_pth (kein RAG-Wissen), wo_exp_pth (kein Codeverständnis), nan (keine Zusatzinformationen)
--jsonl_fileprimevul_test_paired.jsonlJSONL-Datensatzpfad
--metrics_filemetrics_log.txtAusgabedatei für Metriken
ParameterStandardBeschreibung
--modepairwiseEvaluierungsmodus: pairwise oder single
--input_fileErforderlichPfad der Eingabedatei (JSONL- oder CSV-Format)
--detail_levelCDetailgrad der Codeanalyse: C (vollständig), B (standard), A (kurz)
--info_comballInformationskombination: all, no_ast, no_cfg, no_dfg
--desc_levelconciseBeschreibungsgrad: concise (prägnant), normal (normal), detailed (detailliert)
--max_vuln2Maximale Anzahl von Schwachstellen: 2 oder 4