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
Vlun-Agent-X — VulnAgent-X: Un framework agéntico en capas para la detección de vulnerabilidades a nivel de repositorio | Kitploit
Herramientas/GitHubGitHub/renweimeng/vlun-agent-x
Análisis EstáticoAnálisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoAprendizaje AutomáticoPapers e InvestigaciónSeguridad de IA
GitHubrenweimeng/vlun-agent-x

Vlun-Agent-X

VulnAgent-X: Un framework agéntico en capas para la detección de vulnerabilidades a nivel de repositorio

Ver Repositorio
17hace 6 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

中文 English

Prototipo de investigación de VulnAgentX

VulnAgentX es un prototipo de detección de vulnerabilidades/defectos multi-agente orientado a la reproducción de investigaciones. Recibe un repositorio local o un diff como entrada y produce hallazgos estructurados, cadenas de evidencia, resultados de localización, niveles de confianza y registros de experimentos.

Capacidades principales

  • Forma de entrada: repo path o unified diff
  • Flujo de trabajo: screening -> context expansion -> scheduler -> router -> experts -> sceptic -> verification(stub) -> evidence fusion
  • Campos de salida:
    • issue_type
  • location(file + line range)
  • evidence_summary
  • confidence
  • severity
  • optional_cwe
  • fix_hint
  • evidence_chain
  • counter_evidence
  • Interfaz: CLI + FastAPI
  • Experimentos reproducibles: pytest / mypy / ruff + soporte de ejecución con Docker
  • Resumen del flujo de trabajo

    1. screening: detección rápida de regiones sospechosas (reglas + señales de metadatos)
    2. context_expansion: obtiene el «contexto mínimo suficiente» (extrae ventanas según las ubicaciones sospechosas)
    3. scheduler: aplica una estrategia de escalado basada en la confianza y el riesgo (early_exit / expert_review / verification)
    4. router_agent: selecciona un Agente experto para cada región sospechosa
    5. semantic/security/logic: proporcionan afirmaciones estructuradas y evidencia desde diferentes perspectivas
    6. sceptic_agent: genera contraevidencia y señales de penalización
    7. verification: verificación dinámica opcional (actualmente una implementación segura provisional)
    8. evidence_fusion: fusiona de forma unificada y emite los hallazgos finales

    Guía de instalación y ejecución

    1) Preparación del entorno

    Requisitos: Python 3.11+ (también funciona en versiones superiores)

    root@kitploit:~
    cd /Users/xiaolu/Documents/Python_code/vulnAgentX
    python3 -m venv .venv
    source .venv/bin/activate
    python -m pip install -e '.[dev]'
    

    2) Uso de la CLI

    Analizar un repositorio completo:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --repo /path/to/repo --output json
    

    Analizar un archivo diff:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --diff-file /path/to/patch.diff --output json
    

    Salida resumida:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --repo /path/to/repo --output summary
    

    3) Uso de la API

    Iniciar el servicio:

    root@kitploit:~
    .venv/bin/uvicorn vulnagentx.app.api:app --reload
    

    Comprobación de estado:

    root@kitploit:~
    curl http://127.0.0.1:8000/health
    

    Iniciar un análisis:

    root@kitploit:~
    curl -X POST http://127.0.0.1:8000/analyze \
      -H "Content-Type: application/json" \
      -d '{"repo_path":"/path/to/repo"}'
    

    4) Ejecución con Docker

    root@kitploit:~
    docker compose -f docker/docker-compose.yml up --build
    

    5) Control de calidad y pruebas

    root@kitploit:~
    .venv/bin/ruff check src tests
    .venv/bin/mypy src
    .venv/bin/pytest
    

    Ejemplo de salida

    root@kitploit:~
    {
      "run_id": "...",
      "findings": [
        {
          "issue_type": "command_injection",
          "location": {"file_path": "app.py", "start_line": 42, "end_line": 42},
          "evidence_summary": "Command execution surface detected...",
          "confidence": 0.87,
          "severity": "critical",
          "optional_cwe": "CWE-78",
          "fix_hint": "Avoid shell command composition...",
          "source_agents": ["security_agent", "semantic_agent"],
          "evidence_chain": [],
          "counter_evidence": []
        }
      ],
      "metrics": {
        "runtime_seconds": 0.07
      },
      "logs": []
    }
    

    Descripción de los archivos (archivo por archivo)

    Archivos raíz y del proyecto

    ArchivoPropósito
    .env.examplePlantilla de variables de entorno (configuración opcional como el nivel de registro).
    pyproject.tomlConstrucción del proyecto, dependencias, entradas de scripts, configuración de pytest/ruff/mypy.
    README.mdREADME principal (con botón de cambio de idioma, chino por defecto).
    README.zh.mdDocumentación completa en chino.
    README.en.mdDocumentación completa en inglés.
    docker/DockerfileArchivo de construcción de la imagen de contenedor del servicio API.
    docker/docker-compose.ymlLevanta el servicio de contenedores localmente con un solo comando.
    rules/semgrep/vulnagentx-rules.ymlConjunto de reglas Semgrep integradas (inyección de comandos/inyección SQL/deserialización/API C insegura).
    scripts/run_experiment.pyScript de ejecución de experimentos por lotes sobre datasets, genera predicciones en JSONL.
    scripts/evaluate.pyLee la salida de los experimentos y calcula métricas de detección/localización/eficiencia.
    scripts/run_ablation.pyScript de experimentos de ablación (no_semgrep/no_treesitter/no_sceptic/no_verification).

    Código fuente principal (src/vulnagentx)

    ArchivoPropósito
    src/vulnagentx/__init__.pyDefinición de la versión del paquete y sus exportaciones.
    src/vulnagentx/app/__init__.pyInicialización del subpaquete app.
    src/vulnagentx/app/cli.pyEntrada de la CLI (vulnagentx analyze).
    src/vulnagentx/app/api.pyEntrada del servicio FastAPI (/health, /analyze).
    src/vulnagentx/app/schemas.pyEsquemas Pydantic de solicitudes/respuestas de la API.
    src/vulnagentx/core/__init__.pyInicialización del subpaquete core.
    src/vulnagentx/core/state.pyModelo de estado global: regiones, evidencia, salidas de los Agentes, hallazgos, registros y métricas.
    src/vulnagentx/core/screening.pyDetección rápida de la primera fase, extrae regiones sospechosas.
    src/vulnagentx/core/context_expansion.pyExpansión de contexto: extrae ventanas de código mínimas según la localización.
    src/vulnagentx/core/scheduler.pyEstrategia de escalado consciente de la confianza (early_exit/expert_review/verification).
    src/vulnagentx/core/verification.pyMódulo de verificación dinámica opcional (actualmente una versión segura provisional).
    src/vulnagentx/core/evidence_fusion.pyFusión de evidencia de múltiples Agentes, emite los hallazgos finales.
    src/vulnagentx/core/workflow.pyEntrada de orquestación de extremo a extremo VulnAgentWorkflow.
    src/vulnagentx/agents/__init__.pyAgregación de exportaciones de los Agentes.
    src/vulnagentx/agents/base.pyClase base abstracta del Agente y utilidades de obtención de contexto.
    src/vulnagentx/agents/router_agent.pyAgente de enrutamiento: asigna un Agente experto a cada región sospechosa.

    Archivos de prueba (tests)

    ArchivoPropósito
    tests/test_agents.pyPruebas unitarias: salidas estructuradas de cada Agente y lógica de contraevidencia.
    tests/test_end_to_end.pyPruebas de extremo a extremo: flujo principal desde el repositorio de entrada hasta los hallazgos finales.
    tests/test_research_modules.pyPruebas de los nuevos módulos: construcción del grafo Tree-sitter, cadena de ejecución de la verificación y métricas de evaluación.

    Módulos mejorados implementados en esta versión

    • Adaptador LLM real: OpenAI + Ollama local + conmutación automática mediante fábrica
    • AST y grafo de código reales con Tree-sitter: analiza funciones/importaciones/relaciones de llamadas y admite expansión de contexto a archivos vecinos
    • Conjunto de reglas Semgrep real: archivo de reglas integrado y conectado a la fase de screening
    • Cadena de ejecución del sandbox de verificación: planificación de tareas, ejecución restringida, control de timeout y escritura de resultados estructurados
    • Evaluación de datasets y ablación: cargadores de datos, módulo de métricas y scripts de experimentos y ablación
    Descargar herramienta
    src/vulnagentx/agents/semantic_agent.pyAgente semántico: riesgos a nivel semántico (p. ej., punteros nulos, deserialización, excepciones tragadas).
    src/vulnagentx/agents/security_agent.pyAgente de seguridad: reglas de vulnerabilidades de seguridad (inyección de comandos, inyección SQL, fuera de límites, etc.).
    src/vulnagentx/agents/logic_bug_agent.pyAgente de lógica: defectos de negocio/flujo de control (límites, división por cero, falta de autorización, etc.).
    src/vulnagentx/agents/sceptic_agent.pyAgente escéptico: genera contraevidencia, penalizaciones por conflicto y reduce la confianza.
    src/vulnagentx/adapters/__init__.pyInicialización del subpaquete de adaptadores.
    src/vulnagentx/adapters/sandbox_adapter.pyEjecutor de sandbox de subprocesos restringidos (timeout, sin shell) para la verificación.
    src/vulnagentx/adapters/semgrep_adapter.pyAdaptador de la CLI de Semgrep (activación opcional).
    src/vulnagentx/adapters/treesitter_adapter.pyAdaptador real de Tree-sitter (analiza el AST y las relaciones de llamadas/importaciones cuando está disponible; degrada si no lo está).
    src/vulnagentx/adapters/llm/__init__.pyAgregación de exportaciones de adaptadores LLM.
    src/vulnagentx/adapters/llm/base.pyInterfaz de protocolo del adaptador LLM.
    src/vulnagentx/adapters/llm/mock_adapter.pyLLM simulado (Mock) comprobable sin conexión.
    src/vulnagentx/adapters/llm/openai_adapter.pyAdaptador del SDK oficial de OpenAI.
    src/vulnagentx/adapters/llm/local_adapter.pyAdaptador de modelo local (API HTTP de Ollama).
    src/vulnagentx/adapters/llm/factory.pySelecciona automáticamente el adaptador LLM según la configuración y recurre a Mock como respaldo.
    src/vulnagentx/retrieval/repo_graph.pyÍndice de grafo de código y recuperación de archivos vecinos (basado en solapamiento de símbolos del AST).
    src/vulnagentx/datasets/base.pyEstructura de muestras de dataset genérica y lectura de JSONL/CSV.
    src/vulnagentx/datasets/devign.pyEntrada de carga de datos de Devign.
    src/vulnagentx/datasets/bigvul.pyEntrada de carga de datos de Big-Vul.
    src/vulnagentx/datasets/primevul.pyEntrada de carga de datos de PrimeVul.
    src/vulnagentx/datasets/jit.pyEntrada de carga de datos de JIT.
    src/vulnagentx/eval/detection_metrics.pyMétricas de detección (Precision/Recall/F1/Accuracy).
    src/vulnagentx/eval/localization_metrics.pyMétricas de localización (Top-1/Top-3/MRR).
    src/vulnagentx/eval/efficiency_metrics.pyMétricas de eficiencia (tiempo medio, P95, media de hallazgos).
    src/vulnagentx/eval/ablations.pyLógica de ejecución de experimentos de ablación.
    src/vulnagentx/utils/config.pyCentro de configuración del flujo de trabajo (interruptores env/CLI/API).