Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
VulnReach — SCA consciente del runtime — demuestra qué CVEs son realmente alcanzables, no solo instalados. | Kitploit
Herramientas/GitHubGitHub/owasp/vulnreach
Análisis EstáticoEscáneres de VulnerabilidadesAnálisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoSeguridad WebDevSecOpsSeguridad de Cadena de Suministro
GitHubowasp/vulnreach

VulnReach

SCA consciente del runtime — demuestra qué CVEs son realmente alcanzables, no solo instalados.

Ver Repositorio
8165hace 4 díasAún no revisado
Sitio web

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

VulnReach

SCA consciente del runtime: demuestra qué CVEs son realmente alcanzables, no solo instaladas.

OWASP Project License Python

VulnReach es ahora un Proyecto OWASP oficial. 🎉

Demo

VulnReach Demo

Paso 1: el SCA detecta 74 CVEs en las dependencias

Salida SCA de Trivy: 74 vulnerabilidades detectadas

Paso 2: VulnReach demuestra cuáles son realmente alcanzables

Plan de corrección: 7 paquetes, 50 CVEs confirmados como alcanzables con versiones objetivo de actualización


Hallazgos: cadena de evidencia por CVE

Hallazgos dinámicamente alcanzables con cadena de evidencia completa

Panel: 42 confirmados como alcanzables en 9 repos

Panel de VulnReach

Soporte de lenguajes: Python está totalmente listo para producción (taint, AST, rutas, runtime). Java y JavaScript tienen análisis de grafo de llamadas funcional y son experimentales. Go, C# y PHP están en la hoja de ruta. Consulta ROADMAP.md para más detalles.

VulnReach se basa en la salida estándar del SCA añadiendo contexto de alcanzabilidad: demuestra mediante análisis estático, seguimiento de taint y cobertura de runtime en vivo cuáles de los CVEs detectados pueden alcanzarse realmente en tu aplicación.


Estado del proyecto

Desarrollo más reciente (publicado)

  • Pipeline de ejecución paralela consciente de dependencias para escaneos más rápidos
  • Alcanzabilidad en Python: lista para producción (capas de taint, AST, rutas y runtime totalmente funcionales)
  • Alcanzabilidad en Java: grafo de llamadas funcional con análisis de dependencias Maven/Gradle (experimental)
  • Alcanzabilidad en JavaScript: grafo de llamadas funcional con detección de puntos de entrada por rutas (experimental)
  • Cancelación de escaneos: POST /scan/{id}/cancel detiene escaneos en curso
  • Contrato de respuesta de escaneo estable: summary + buckets clasificados en GET /scan/{id}
  • Normalización compartida de la respuesta de escaneo entre la API y el modo local del paquete (paridad)
  • Límite de runtime seguro por defecto:
    • el compose base se ejecuta sin montar el socket de Docker
    • los escaneos dinámicos requieren aceptación explícita mediante VULNREACH_ALLOW_DOCKER_DAEMON=true
    • el perfil de runtime usa docker-socket-proxy restringido
  • Controles de calidad deterministas de fixtures para Java/JavaScript/Go en CI
  • Aceptado como Proyecto OWASP oficial: owasp.community/projects/vulnreach
  • Endpoint de próximos pasos con IA: POST /findings/{id}/next-steps produce orientación de remediación orientada a analistas (acciones inmediatas, sondas de validación, rutas de actualización, monitorización) para un hallazgo determinista. Perezoso / bajo demanda: los escaneos nunca llaman al LLM y los fallos del LLM degradan de forma controlada. El veredicto determinista es de solo lectura. Consulta docs/api.md.

Experimental

  • Modo de trazado scan.runtime.ebpf (centrado en Linux, aceptación explícita)
  • Generación de OpenAPI asistida por IA y flujos DAST inteligentes

Consulta:

  • docs/incubator-readiness.md
  • docs/threat-model.md

Cómo funciona

Cada CVE se clasifica mediante una cadena de evidencia de cinco capas:

1. SCA (Trivy)              → ¿el paquete está instalado y es vulnerable?
2. Análisis de taint (tainter) → ¿el input del usuario fluye hacia el sink vulnerable?
3. Análisis AST             → ¿la función vulnerable está en tu grafo de llamadas?
4. Exposición de rutas      → ¿la ruta de llamada es alcanzable desde un endpoint HTTP?
5. Cobertura de runtime     → ¿el código vulnerable se ejecutó realmente?

El resultado es una lista de hallazgos priorizada con cuatro niveles:

NivelSignificado
DYNAMICALLY_REACHABLELa cobertura de runtime confirmó la ejecución: corregir de inmediato
STATICALLY_REACHABLERuta de código probada mediante AST/taint: prioridad alta
UNCERTAINSolo señal débil: investigar
NOT_REACHABLESin evidencia: suprimir de la cola de alertas

Inicio rápido

Con Docker Compose (recomendado)

Aviso de seguridad: antes de empezar, copia .env.example a .env.local y reemplaza cada valor CHANGE_ME con un secreto aleatorio seguro.
No expongas VulnReach en una red pública sin establecer credenciales reales y configurar CORS_ORIGINS.

git clone https://github.com/ihrishikesh0896/vulnreach.git
cd vulnreach

# 1. Crea tu configuración local
cp .env.example .env.local

# 2. Rellena cada CHANGE_ME: genera secretos con: openssl rand -hex 32
$EDITOR .env.local

# 3. Inicia la pila
docker compose up --build

# Opcional: habilita escaneos de runtime dinámicos (acceso al daemon de Docker mediante proxy de socket restringido)
# docker compose -f docker-compose.yml -f docker-compose.runtime.yml up --build

Ejecutar un escaneo

Opciones de autenticación:

  • JWT de corta duración: POST /login
  • Token de API de larga duración (API key): créalo en la interfaz Settings -> API Keys y úsalo como Authorization: Bearer <API_KEY>
# Obtén un token (reemplaza con las credenciales que configuraste en .env.local)
TOKEN=$(curl -s -X POST http://localhost:8000/login \
  -H "Content-Type: application/json" \
  -d '{"username":"<your-admin-user>","password":"<your-admin-password>"}' | jq -r .access_token)

# Inicia el escaneo desde un repositorio de GitHub
curl -X POST http://localhost:8000/scan \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"repo_url":"https://github.com/yourorg/yourapp"}'

# Consulta los resultados
curl http://localhost:8000/scan/<scan_id> \
  -H "Authorization: Bearer $TOKEN" | jq .summary

Características

Descargar herramienta