Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DCVD — Il codice in "DCVD: Dual-Channel Cross-Modal Fusion for Joint Vulnerability Detection and Localization" | Kitploit
Strumenti/GitHubGitHub/vinsontang1/dcvd
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceMachine LearningPaper e RicercaSicurezza dell'IA
GitHubvinsontang1/dcvd

DCVD

Il codice in "DCVD: Dual-Channel Cross-Modal Fusion for Joint Vulnerability Detection and Localization"

Vedi Repository
23 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Fonti dei Dati e dei Modelli

Dataset

Utilizziamo il dataset LineVul per la rilevazione delle vulnerabilità:

Michael Fu and Chakkrit Tantithamthavorn, "LineVul: A Transformer-based Line-Level Vulnerability Prediction", MSR 2022.
Articolo: https://conf.researchr.org/details/msr-2022/msr-2022-technical-papers/26/LineVul-A-Transformer-based-Line-Level-Vulnerability-Prediction
Repository: https://github.com/awsm-research/LineVul

Preprocessiamo ulteriormente il dataset in strutture a grafo e allineiamo ogni campione con spiegazioni generate da LLM.

Modelli

Utilizziamo i seguenti modelli pre-addestrati:

  • OpenAI GPT-4o-mini

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

    • gpt-4o-mini-2024-07-18: utilizzato per generare spiegazioni LLM.
  • Modelli Qwen (serie Qwen3)

    Qwen Team, "Qwen3 Technical Report", arXiv:2505.09388, 2025.
    Articolo: https://arxiv.org/abs/2505.09388
    Repository: https://github.com/QwenLM/Qwen3

    • Qwen3.5-4B: utilizzato come backbone di embedding semantico (solo strato di embedding).
  • GraphCodeBERT

    Guo et al., "GraphCodeBERT: Pre-training Code Representations with Data Flow", ICLR 2021.
    Articolo: https://arxiv.org/abs/2009.08366
    Repository: https://github.com/microsoft/CodeBERT

Licenze

Questo progetto utilizza dataset e modelli pre-addestrati disponibili pubblicamente. Le relative licenze sono elencate di seguito:

  • LineVul Dataset
    Licenza: MIT License
    Fonte: https://github.com/awsm-research/LineVul

  • OpenAI GPT-4o-mini
    L'utilizzo è soggetto ai Termini di utilizzo di OpenAI.

  • Modelli Qwen (Qwen3.5-4B)
    Licenza: Apache License 2.0
    Fonte: https://github.com/QwenLM/Qwen3

  • GraphCodeBERT
    Licenza: MIT License
    Fonte: https://github.com/microsoft/CodeBERT

Tutte le risorse sono utilizzate in conformità con le rispettive licenze.

Configurazione dell'ambiente

Requisiti

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

Installazione di PyTorch Geometric

PyTorch Geometric (PyG) dipende da CUDA. Installalo in base al tuo ambiente.

Preparazione dei dati

Struttura delle directory

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

Formato CSV

Il file CSV deve contenere i seguenti campi:

  • index: ID univoco del campione
  • func_before: codice sorgente
  • llm_explanation: spiegazione generata da LLM

Dati del Grafo (.pt)

Ogni oggetto PyG Data deve includere:

  • index: allineato con il CSV
  • x: feature dei nodi
  • ast_edge_index: archi AST
  • cfg_edge_index: archi CFG
  • y_f: etichetta a livello di funzione
  • y_s: etichette a livello di riga
  • line_mask: mappatura token-riga

Configurazione del Modello

Il framework utilizza i seguenti modelli pre-addestrati:

  • Percorso Semantico: Qwen/Qwen3.5-4B
  • Modulo Transformer: microsoft/graphcodebert-base

Puoi modificarli tramite:

root@kitploit:~
--llm_model_name
--transformer_base_name

Avvio rapido

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

Output

I risultati verranno salvati in:

root@kitploit:~
outputs/<run_name>/

Tra cui:

  • checkpoint dei modelli
  • log
  • result.json
Scarica lo strumento