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
516vor 4 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
    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

    Parameterbeschreibung

    Parameter von main.py

    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

    Parameter von hyperparam_exp.py

    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

    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