Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
VulTriage — Il codice di VulTriage: potenziamento del contesto a triplo percorso per il rilevamento delle vulnerabilità basato su LLM | Kitploit
Strumenti/GitHubGitHub/vinsontang1/vultriage
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceMachine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IA
GitHubvinsontang1/vultriage

VulTriage

Il codice di VulTriage: potenziamento del contesto a triplo percorso per il rilevamento delle vulnerabilità basato su LLM

Vedi Repository
51174 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

ChatGPT Image 2026年5月10日 16_51_24

Un framework intelligente per il rilevamento delle vulnerabilità basato su modelli linguistici di grandi dimensioni e analisi statica del codice, con supporto per la valutazione su più dataset e studi di ablazione.

image-20260510164600403

📋 Indice

  • Introduzione
  • Caratteristiche Principali
  • Requisiti di Sistema
  • Avvio Rapido
  • Utilizzo
  • Dataset e Modelli
  • FAQ

Introduzione

Questo progetto è un framework intelligente per il rilevamento delle vulnerabilità basato sui modelli GPT-4o e BGE-M3, che combina:

  • Analisi della Struttura Statica: Control Flow Graphs (CFG), Data Flow Graphs (DFG), Abstract Syntax Trees (AST)
  • Retrieval-Augmented Generation (RAG): corrispondenza di pattern di vulnerabilità basata sulla base di conoscenza CWE
  • Comprensione del Codice: analisi semantica mediante modelli linguistici di grandi dimensioni
  • Rilevamento a Coppie/Campione Singolo: supporto per più modalità di valutazione

Caratteristiche Principali

  • ✅ Supporto per i dataset PrimeVul e Kotlin
  • ✅ Recupero integrato dalla base di conoscenza delle vulnerabilità CWE
  • ✅ Studi di ablazione configurabili
  • ✅ Monitoraggio delle metriche in tempo reale
  • ✅ Supporto flessibile per esperimenti sugli iperparametri

Requisiti di Sistema

  • Python >= 3.9
  • CUDA (opzionale, per l'accelerazione GPU)

Avvio Rapido

1. Installare le Dipendenze

pip install -r requirements.txt

2. Preparare le Risorse

Scaricare il Modello BGE-M3

Il modello verrà scaricato automaticamente, oppure puoi scaricarlo manualmente:

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

Preparare i Dati CWE

Assicurati che i file cwec_latest.xml/cwec_v4.19.1.xml e 1435.csv/1435_filtered_columns.csv (dati dell'indice CWE) esistano nella directory principale del progetto.

Nota: Questo progetto utilizza le CWE Top 25 Most Dangerous Software Weaknesses. I file correlati sono già inclusi nella directory principale del progetto.

Preparare i Dataset

Posiziona i seguenti file nella directory principale del progetto:

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

3. Configurare la Chiave API

Modifica la configurazione API OpenAI in main.py o hyperparam_exp.py:

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

Nota: l'URL corrente https://api.poixe.com/v1 non è stato analizzato correttamente. Potrebbe essere un tipo di pagina web non supportato o un collegamento interrotto. Verifica la validità del collegamento oppure passa a un altro provider API.

4. Eseguire il Rilevamento delle Vulnerabilità

Modalità Base (Funzionalità Completa)

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

Modalità Studio di Ablazione

# 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

Esperimenti sugli Iperparametri

# 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. Visualizzare i Risultati

I risultati del rilevamento vengono salvati in tempo reale in metrics_log.txt e i riepiloghi finali della valutazione vengono stampati sul terminale:

  • Le metriche di valutazione includono accuratezza, richiamo, tasso di falsi positivi, ecc.
  • I risultati degli studi di ablazione confrontano le differenze di prestazione tra le diverse modalità per analizzare il contributo di ciascun modulo.

Utilizzo

Panoramica degli Script Principali

ScriptScopo
main.pyScript principale di rilevamento delle vulnerabilità con supporto per studi di ablazione
hyperparam_exp.pyEsperimenti sugli iperparametri e valutazione multi-modalità
retrieval.pyModulo di recupero dalla base di conoscenza CWE (recupero ibrido basato sul modello BGE-M3)
metrics_tracker.pyMonitoraggio delle metriche in tempo reale con salvataggio dei log e supporto alla visualizzazione

Descrizione dei Parametri

Parametri di main.py

ParametroDefaultDescrizione
--wotaskallModalità di ablazione: all (funzionalità completa), wo_ctrl_info_pth (senza informazioni sulla struttura statica), wo_rag_pth (senza conoscenza RAG), wo_exp_pth (senza comprensione del codice), nan (senza informazioni ausiliarie)
--jsonl_fileprimevul_test_paired.jsonlPercorso del dataset JSONL
--metrics_filemetrics_log.txtFile di output delle metriche

Parametri di hyperparam_exp.py

ParametroDefaultDescrizione
--modepairwiseModalità di valutazione: pairwise o single
--input_fileObbligatorioPercorso del file di input (formato JSONL o CSV)
--detail_levelCLivello di dettaglio dell'analisi del codice: C (completo), B (standard), A (breve)
--info_comballCombinazione di informazioni: all, no_ast, no_cfg, no_dfg
--desc_levelconciseLivello di descrizione: concise, normal, detailed
--max_vuln2Numero massimo di vulnerabilità: 2 o 4

Dataset e Modelli

📊 Dataset

1. Dataset PrimeVul

  • Citazione: 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).
  • Scopo: benchmark di rilevamento delle vulnerabilità a coppie
  • Formato: JSONL (contiene i campi func e target)
  • Fonte: Conferenza ISSTA 2025 (Sito ufficiale ISSTA). Fare riferimento all'articolo originale per i permessi di accesso al dataset.

2. Dataset Kotlin

  • Citazione: 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.
  • Scopo: ricerca sulla previsione delle vulnerabilità in lingue a basse risorse
  • Formato: CSV (contiene le colonne code e label)
  • Fonte: Conferenza EASE 2024 (Sito ufficiale EASE 2024). Fare riferimento all'articolo originale per i permessi di accesso al dataset.

3. Database CWE

  • Versione: CWE v4.19.1
  • Fonte: MITRE CWE
  • Scopo: base di conoscenza di pattern di vulnerabilità e potenziamento del recupero
  • Nota: CWE può essere utilizzata liberamente per scopi di ricerca, sviluppo e commerciali. Deve essere mantenuta l'attribuzione del copyright a MITRE.

🤖 Modelli

Scarica lo strumento