Skip to content
KitploitKITPLOIT
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DCVD — Le code de « DCVD: Dual-Channel Cross-Modal Fusion for Joint Vulnerability Detection and Localization » | Kitploit
Outils/GitHubGitHub/vinsontang1/dcvd
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeApprentissage AutomatiqueArticles et RechercheSécurité de l'IA
GitHubvinsontang1/dcvd

DCVD

Le code de « DCVD: Dual-Channel Cross-Modal Fusion for Joint Vulnerability Detection and Localization »

Voir le dépôt
26il 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

11image-20260510182333988

root@kitploit:~
project/
├── train.py
├── data_loader.py
├── README.md
├── requirements.txt
├── models/
│   ├── control_pathway.py
│   ├── semantic_pathway.py
│   ├── feature_fusion_module.py
│   ├── transformer_llm_module.py
│   └── multi_task_predictor.py

Sources de données et de modèles

Jeu de données

Nous utilisons le jeu de données LineVul pour la détection de vulnérabilités :

Michael Fu et Chakkrit Tantithamthavorn, « LineVul: A Transformer-based Line-Level Vulnerability Prediction », MSR 2022.
Article : https://conf.researchr.org/details/msr-2022/msr-2022-technical-papers/26/LineVul-A-Transformer-based-Line-Level-Vulnerability-Prediction
Dépôt : https://github.com/awsm-research/LineVul

Nous transformons ensuite le jeu de données en structures de graphe et alignons chaque échantillon avec des explications générées par LLM.

Modèles

Nous utilisons les modèles pré-entraînés suivants :

  • OpenAI GPT-4o-mini

    OpenAI, « Hello GPT-4o », 2024.
    URL : https://openai.com/index/hello-gpt-4o/

    • gpt-4o-mini-2024-07-18 : utilisé pour générer les explications LLM.
  • Modèles Qwen (série Qwen3)

    Qwen Team, « Qwen3 Technical Report », arXiv:2505.09388, 2025.
    Article : https://arxiv.org/abs/2505.09388
    Dépôt : https://github.com/QwenLM/Qwen3

    • Qwen3.5-4B : utilisé comme backbone d'embedding sémantique (couche d'embedding uniquement).
  • GraphCodeBERT

    Guo et al., « GraphCodeBERT: Pre-training Code Representations with Data Flow », ICLR 2021.
    Article : https://arxiv.org/abs/2009.08366
    Dépôt : https://github.com/microsoft/CodeBERT

Licences

Ce projet utilise des jeux de données et des modèles pré-entraînés disponibles publiquement. Leurs licences sont énumérées ci-dessous :

  • Jeu de données LineVul
    Licence : MIT License
    Source : https://github.com/awsm-research/LineVul

  • OpenAI GPT-4o-mini
    L'utilisation est soumise aux Conditions d'utilisation d'OpenAI.

  • Modèles Qwen (Qwen3.5-4B)
    Licence : Apache License 2.0
    Source : https://github.com/QwenLM/Qwen3

  • GraphCodeBERT
    Licence : MIT License
    Source : https://github.com/microsoft/CodeBERT

Toutes les ressources sont utilisées conformément à leurs licences respectives.

Configuration de l'environnement

Prérequis

root@kitploit:~
python >= 3.9

torch>=2.0.0
torch-geometric>=2.4.0

transformers>=4.35.0
accelerate>=0.25.0
sentencepiece

pandas>=1.5.0
tqdm>=4.60.0

tensorboard

Installation de PyTorch Geometric

PyTorch Geometric (PyG) dépend de CUDA. Veuillez l'installer en fonction de votre environnement.

Préparation des données

Structure du répertoire

root@kitploit:~
data/
├── processed/
│   ├── train_data_masked.pt
│   ├── train_with_llm.csv
│   ├── val_data_masked.pt
│   ├── val_with_llm.csv
│   ├── test_data_masked.pt
│   ├── test_with_llm.csv
├── config/
│   └── node_vocab.json

Format CSV

Le fichier CSV doit contenir les champs suivants :

  • index : identifiant unique d'échantillon
  • func_before : code source
  • llm_explanation : explication générée par LLM

Données de graphe (.pt)

Chaque objet PyG Data doit inclure :

  • index : aligné avec le CSV
  • x : caractéristiques des nœuds
  • ast_edge_index : arêtes AST
  • cfg_edge_index : arêtes CFG
  • y_f : étiquette au niveau de la fonction
  • y_s : étiquettes au niveau de la ligne
  • line_mask : mappage jeton-ligne

Configuration du modèle

Le framework utilise les modèles pré-entraînés suivants :

  • Chemin sémantique : Qwen/Qwen3.5-4B
  • Module Transformer : microsoft/graphcodebert-base

Vous pouvez les modifier via :

root@kitploit:~
--llm_model_name
--transformer_base_name

Démarrage rapide

root@kitploit:~
python train.py \
  --train_pt_path ./data/processed/train_data_masked.pt \
  --train_csv_path ./data/processed/train_with_llm.csv \
  --valid_pt_path ./data/processed/val_data_masked.pt \
  --valid_csv_path ./data/processed/val_with_llm.csv \
  --vocab_path ./data/config/node_vocab.json \
  --output_dir ./outputs \
  --run_name demo

Sortie

Les résultats seront enregistrés dans :

root@kitploit:~
outputs/<run_name>/

Notamment :

  • points de contrôle du modèle
  • logs
  • result.json
Télécharger l’outil