Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/vinsontang1/dcvd
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoAprendizaje AutomáticoPapers e InvestigaciónSeguridad de IA
GitHubvinsontang1/dcvd

DCVD

El código en "DCVD: Fusión multimodal de doble canal para la detección y localización conjunta de vulnerabilidades"

Ver Repositorio
26hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

Fuentes de datos y modelos

Conjunto de datos

Usamos el conjunto de datos LineVul para la detección de vulnerabilidades:

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

Además, preprocesamos el conjunto de datos para convertirlo en estructuras de grafo y alineamos cada muestra con las explicaciones generadas por el LLM.

Modelos

Utilizamos los siguientes modelos preentrenados:

  • OpenAI GPT-4o-mini

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

    • gpt-4o-mini-2024-07-18: se utiliza para generar explicaciones del LLM.
  • Modelos Qwen (serie Qwen3)

    Qwen Team, "Qwen3 Technical Report", arXiv:2505.09388, 2025.
    Artículo: https://arxiv.org/abs/2505.09388
    Repositorio: https://github.com/QwenLM/Qwen3

    • Qwen3.5-4B: se utiliza como backbone del embedding semántico (solo la capa de embedding).
  • GraphCodeBERT

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

Licencias

Este proyecto utiliza conjuntos de datos públicos y modelos preentrenados. Sus licencias se enumeran a continuación:

  • Conjunto de datos LineVul
    Licencia: MIT License
    Fuente: https://github.com/awsm-research/LineVul

  • OpenAI GPT-4o-mini
    El uso está sujeto a los Términos de uso de OpenAI.

  • Modelos Qwen (Qwen3.5-4B)
    Licencia: Apache License 2.0
    Fuente: https://github.com/QwenLM/Qwen3

  • GraphCodeBERT
    Licencia: MIT License
    Fuente: https://github.com/microsoft/CodeBERT

Todos los recursos se utilizan de acuerdo con sus respectivas licencias.

Configuración del entorno

Requisitos

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

Instalación de PyTorch Geometric

PyTorch Geometric (PyG) depende de CUDA. Instálalo según tu entorno.

Preparación de datos

Estructura de directorios

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

El archivo CSV debe contener los siguientes campos:

  • index: identificador único de la muestra
  • func_before: código fuente
  • llm_explanation: explicación generada por el LLM

Datos de grafo (.pt)

Cada objeto Data de PyG debe incluir:

  • index: alineado con el CSV
  • x: características de los nodos
  • ast_edge_index: aristas del AST
  • cfg_edge_index: aristas del CFG
  • y_f: etiqueta a nivel de función
  • y_s: etiquetas a nivel de línea
  • line_mask: mapeo de token a línea

Configuración del modelo

El framework utiliza los siguientes modelos preentrenados:

  • Ruta semántica: Qwen/Qwen3.5-4B
  • Módulo Transformer: microsoft/graphcodebert-base

Puedes modificarlos mediante:

root@kitploit:~
--llm_model_name
--transformer_base_name

Inicio rápido

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

Salida

Los resultados se guardarán en:

root@kitploit:~
outputs/<run_name>/

Incluyendo:

  • checkpoints del modelo
  • logs
  • result.json
Descargar herramienta