Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
VulTriage — O código do VulTriage: Aumento de Contexto de Caminho Triplo para Detecção de Vulnerabilidades Baseada em LLM | Kitploit
Ferramentas/GitHubGitHub/vinsontang1/vultriage
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IA
GitHubvinsontang1/vultriage

VulTriage

O código do VulTriage: Aumento de Contexto de Caminho Triplo para Detecção de Vulnerabilidades Baseada em LLM

Ver Repositório
5117há 4 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ChatGPT Image 2026年5月10日 16_51_24

Um framework inteligente de detecção de vulnerabilidades baseado em Grandes Modelos de Linguagem e análise estática de código, com suporte a avaliação em múltiplos conjuntos de dados e estudos de ablação.

image-20260510164600403

📋 Sumário

  • Introduction
  • Key Features
  • System Requirements
  • Quick Start
  • Usage
  • Datasets & Models
  • FAQ

Introdução

Este projeto é um framework inteligente de detecção de vulnerabilidades baseado nos modelos GPT-4o e BGE-M3, combinando:

  • Análise de Estrutura Estática: Grafos de Fluxo de Controle (CFG), Grafos de Fluxo de Dados (DFG), Árvores Sintáticas Abstratas (AST)
  • Geração Aumentada por Recuperação (RAG): Correspondência de padrões de vulnerabilidade com base na base de conhecimento CWE
  • Compreensão de Código: Análise semântica usando Grandes Modelos de Linguagem
  • Detecção Pareada/De Amostra Única: Suporte a múltiplos modos de avaliação

Principais Recursos

  • ✅ Suporte aos conjuntos de dados PrimeVul e Kotlin
  • ✅ Recuperação integrada à base de conhecimento de vulnerabilidades CWE
  • ✅ Estudos de ablação configuráveis
  • ✅ Acompanhamento de métricas em tempo real
  • ✅ Suporte flexível a experimentos de hiperparâmetros

Requisitos do Sistema

  • Python >= 3.9
  • CUDA (opcional, para aceleração por GPU)

Início Rápido

1. Instalar Dependências

pip install -r requirements.txt

2. Preparar Recursos

Baixar o Modelo BGE-M3

O modelo será baixado automaticamente, ou você pode baixá-lo 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

Preparar Dados CWE

Certifique-se de que os arquivos cwec_latest.xml/cwec_v4.19.1.xml e 1435.csv/1435_filtered_columns.csv (dados do índice CWE) existam no diretório raiz do projeto.

Nota: Este projeto utiliza as CWE Top 25 Fraquezas de Software Mais Perigosas. Os arquivos relacionados já estão incluídos no diretório raiz do projeto.

Preparar Conjuntos de Dados

Coloque os seguintes arquivos no diretório raiz do projeto:

  • primevul_test_paired.jsonl (conjunto de dados PrimeVul)
  • LLM4Vul-main/LLM4Vul-main/data/kotlin_data.csv (conjunto de dados Kotlin)

3. Configurar a Chave da API

Modifique a configuração da API da OpenAI em main.py ou hyperparam_exp.py:

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

Nota: A URL atual https://api.poixe.com/v1 falhou ao ser analisada. Pode ser um tipo de página da web não suportado ou um link quebrado. Verifique a validade do link ou alterne para outro provedor de API.

4. Executar a Detecção de Vulnerabilidades

Modo Básico (Funcionalidade Completa)

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

Modo de Estudo de Ablação

# 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

Experimentos de Hiperparâmetros

# 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. Visualizar Resultados

Os resultados da detecção são salvos em tempo real em metrics_log.txt e os resumos finais da avaliação são exibidos no terminal:

  • As métricas de avaliação incluem acurácia, revocação (recall), taxa de falsos positivos, etc.
  • Os resultados do estudo de ablação comparam as diferenças de desempenho entre os diferentes modos para analisar a contribuição de cada módulo.

Uso

Visão Geral dos Scripts Principais

ScriptFinalidade
main.pyScript principal de detecção de vulnerabilidades com suporte a estudo de ablação
hyperparam_exp.pyExperimentos de hiperparâmetros e avaliação em múltiplos modos
retrieval.pyMódulo de recuperação da base de conhecimento CWE (recuperação híbrida baseada no modelo BGE-M3)
metrics_tracker.pyRastreador de métricas em tempo real com salvamento de logs e suporte a visualização

Descrição dos Parâmetros

Parâmetros do main.py

ParâmetroPadrãoDescrição
--wotaskallModo de ablação: all (funcionalidade completa), wo_ctrl_info_pth (sem informações de estrutura estática), wo_rag_pth (sem conhecimento RAG), wo_exp_pth (sem compreensão de código), nan (sem informações auxiliares)
--jsonl_fileprimevul_test_paired.jsonlCaminho do conjunto de dados JSONL
--metrics_filemetrics_log.txtArquivo de saída de métricas

Parâmetros do hyperparam_exp.py

ParâmetroPadrãoDescrição
--modepairwiseModo de avaliação: pairwise ou single
--input_fileObrigatórioCaminho do arquivo de entrada (formato JSONL ou CSV)
--detail_levelCNível de detalhe da análise de código: C (completo), B (padrão), A (resumido)
--info_comballCombinação de informações: all, no_ast, no_cfg, no_dfg
--desc_levelconciseNível de descrição: concise, normal, detailed
--max_vuln2Número máximo de vulnerabilidades: 2 ou 4

Conjuntos de Dados e Modelos

📊 Conjuntos de Dados

1. Conjunto de Dados PrimeVul

  • Citação: 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).
  • Objetivo: Benchmark de detecção de vulnerabilidades pareadas
  • Formato: JSONL (contém os campos func e target)
  • Fonte: Conferência ISSTA 2025 (Site Oficial do ISSTA). Consulte o artigo original para obter permissões de acesso ao conjunto de dados.

2. Conjunto de Dados Kotlin

  • Citação: 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.
  • Objetivo: Pesquisa de previsão de vulnerabilidades em idiomas de baixos recursos
  • Formato: CSV (contém as colunas code e label)
  • Fonte: Conferência EASE 2024 (Site Oficial do EASE 2024). Consulte o artigo original para obter permissões de acesso ao conjunto de dados.

3. Banco de Dados CWE

  • Versão: CWE v4.19.1
  • Fonte: MITRE CWE
  • Objetivo: Base de conhecimento de padrões de vulnerabilidade e aumento de recuperação
  • Nota: A CWE pode ser usada livremente para fins de pesquisa, desenvolvimento e comerciais. A atribuição de direitos autorais à MITRE deve ser mantida.

🤖 Modelos

Baixar ferramenta