Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
VulTriage — Le code de VulTriage : augmentation de contexte à triple voie pour la détection de vulnérabilités basée sur les LLM | Kitploit
Outils/GitHubGitHub/vinsontang1/vultriage
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IA
GitHubvinsontang1/vultriage

VulTriage

Le code de VulTriage : augmentation de contexte à triple voie pour la détection de vulnérabilités basée sur les LLM

Voir le dépôt
5117il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ChatGPT Image 2026年5月10日 16_51_24

Un framework intelligent de détection de vulnérabilités basé sur de grands modèles de langage et l'analyse statique de code, prenant en charge l'évaluation multi-datasets et des études d'ablation.

image-20260510164600403

📋 Table des matières

  • Introduction
  • Fonctionnalités clés
  • Prérequis système
  • Démarrage rapide
  • Utilisation
  • Datasets et Modèles
  • FAQ

Introduction

Ce projet est un framework intelligent de détection de vulnérabilités basé sur les modèles GPT-4o et BGE-M3, combinant :

  • Analyse de structure statique : graphes de flux de contrôle (CFG), graphes de flux de données (DFG), arbres syntaxiques abstraits (AST)
  • Génération augmentée par récupération (RAG) : correspondance de modèles de vulnérabilités basée sur la base de connaissances CWE
  • Compréhension de code : analyse sémantique à l'aide de grands modèles de langage
  • Détection par paires / échantillon unique : prise en charge de plusieurs modes d'évaluation

Fonctionnalités clés

  • ✅ Prise en charge des datasets PrimeVul et Kotlin
  • ✅ Récupération intégrée dans la base de connaissances des vulnérabilités CWE
  • ✅ Études d'ablation configurables
  • ✅ Suivi des métriques en temps réel
  • ✅ Support flexible d'expériences sur les hyperparamètres

Prérequis système

  • Python >= 3.9
  • CUDA (optionnel, pour l'accélération GPU)

Démarrage rapide

1. Installer les dépendances

pip install -r requirements.txt

2. Préparer les ressources

Télécharger le modèle BGE-M3

Le modèle sera téléchargé automatiquement, ou vous pouvez le télécharger manuellement :

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

Préparer les données CWE

Assurez-vous que les fichiers cwec_latest.xml/cwec_v4.19.1.xml et 1435.csv/1435_filtered_columns.csv (données d'index CWE) existent dans le répertoire racine du projet.

Remarque : Ce projet utilise le Top 25 des faiblesses logicielles les plus dangereuses de CWE. Les fichiers associés sont déjà inclus dans le répertoire racine du projet.

Préparer les datasets

Placez les fichiers suivants dans le répertoire racine du projet :

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

3. Configurer la clé API

Modifiez la configuration de l'API OpenAI dans main.py ou hyperparam_exp.py :

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

Remarque : l'URL actuelle https://api.poixe.com/v1 n'a pas pu être analysée. Il peut s'agir d'un type de page non pris en charge ou d'un lien cassé. Veuillez vérifier la validité du lien ou passer à un autre fournisseur d'API.

4. Exécuter la détection de vulnérabilités

Mode de base (fonctionnalité complète)

python main.py --wotask all --jsonl_file primevul_test_paired.jsonl

Mode d'étude d'ablation

# 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

Expériences sur les hyperparamètres

# 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. Consulter les résultats

Les résultats de détection sont enregistrés en temps réel dans metrics_log.txt et les résumés d'évaluation finaux sont affichés dans le terminal :

  • Les métriques d'évaluation incluent l'exactitude, le rappel, le taux de faux positifs, etc.
  • Les résultats des études d'ablation comparent les différences de performance entre différents modes afin d'analyser la contribution de chaque module.

Utilisation

Aperçu des scripts principaux

ScriptObjectif
main.pyScript principal de détection de vulnérabilités avec prise en charge des études d'ablation
hyperparam_exp.pyExpériences sur les hyperparamètres et évaluation multi-modes
retrieval.pyModule de récupération de la base de connaissances CWE (récupération hybride basée sur le modèle BGE-M3)
metrics_tracker.pySuivi des métriques en temps réel avec enregistrement des journaux et prise en charge de la visualisation

Description des paramètres

Paramètres de main.py

ParamètreDéfautDescription
--wotaskallMode d'ablation : all (fonctionnalité complète), wo_ctrl_info_pth (sans information de structure statique), wo_rag_pth (sans connaissances RAG), wo_exp_pth (sans compréhension de code), nan (sans information auxiliaire)
--jsonl_fileprimevul_test_paired.jsonlChemin du dataset JSONL
--metrics_filemetrics_log.txtFichier de sortie des métriques

Paramètres de hyperparam_exp.py

ParamètreDéfautDescription
--modepairwiseMode d'évaluation : pairwise ou single
--input_fileRequisChemin du fichier d'entrée (format JSONL ou CSV)
--detail_levelCNiveau de détail de l'analyse de code : C (complet), B (standard), A (bref)
--info_comballCombinaison d'informations : all, no_ast, no_cfg, no_dfg
--desc_levelconciseNiveau de description : concise, normal, detailed
--max_vuln2Nombre maximal de vulnérabilités : 2 ou 4

Datasets et Modèles

📊 Datasets

1. Dataset PrimeVul

  • Citation : 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).
  • Objectif : benchmark de détection de vulnérabilités par paires
  • Format : JSONL (contient les champs func et target)
  • Source : Conférence ISSTA 2025 (Site officiel ISSTA). Veuillez vous référer à l'article original pour les autorisations d'accès au dataset.

2. Dataset Kotlin

  • Citation : 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.
  • Objectif : recherche sur la prédiction de vulnérabilités dans les langues à faibles ressources
  • Format : CSV (contient les colonnes code et label)
  • Source : Conférence EASE 2024 (Site officiel EASE 2024). Veuillez vous référer à l'article original pour les autorisations d'accès au dataset.
Télécharger l’outil