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.

FeedsContactoPrivacidad© 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
8184hace 17 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 entorno de ejecución — demuestra qué CVE son realmente alcanzables, no solo cuáles están instalados.

OWASP Project License Python

VulnReach ahora es un Proyecto OWASP oficial. 🎉

Demo

VulnReach Demo

Paso 1 — El SCA revela 74 CVE en las dependencias

Salida del SCA de Trivy — 74 vulnerabilidades detectadas

Paso 2 — VulnReach demuestra cuáles son realmente alcanzables

Plan de corrección — 7 paquetes, 50 CVE confirmados como alcanzables con objetivos 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 repositorios

Panel de VulnReach

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

VulnReach se construye sobre la salida estándar del SCA añadiendo contexto de alcanzabilidad — demostrando mediante análisis estático, seguimiento de taint y cobertura en tiempo de ejecución cuáles de los CVE detectados pueden realmente alcanzarse en su aplicación.


Estado del proyecto

Últimos desarrollos (publicados)

  • 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 de rutas (experimental)
  • Cancelación de escaneos — POST /scan/{id}/cancel detiene los 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 opt-in explícito mediante VULNREACH_ALLOW_DOCKER_DAEMON=true
    • el perfil de runtime usa un docker-socket-proxy restringido
  • Puertas de calidad deterministas para fixtures de 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 genera orientación de remediación para el analista (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 se degradan de forma controlada. El veredicto determinista es de solo lectura. Consulte docs/api.md.

Experimental

  • Modo de trazado scan.runtime.ebpf (enfocado en Linux, opt-in explícito)
  • Generación de OpenAPI asistida por IA y flujos de DAST inteligente

Consulte:

  • 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)              → ¿está el paquete instalado y es vulnerable?
2. Análisis de taint (tainter) → ¿fluye la entrada del usuario hacia el sink vulnerable?
3. Análisis AST             → ¿está la función vulnerable en su grafo de llamadas?
4. Exposición de rutas      → ¿es alcanzable la ruta de llamada desde un endpoint HTTP?
5. Cobertura en runtime     → ¿se ejecutó realmente el código vulnerable?

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

NivelSignificado
DYNAMICALLY_REACHABLELa cobertura en runtime confirmó la ejecución — corregir de inmediato
STATICALLY_REACHABLERuta de código demostrada mediante AST/taint — alta prioridad
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, copie .env.example a .env.local y reemplace cada valor CHANGE_ME por un secreto aleatorio fuerte.
No exponga VulnReach en una red pública sin configurar credenciales reales y configurar CORS_ORIGINS.

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

# 1. Create your local config
cp .env.example .env.local

# 2. Fill in every CHANGE_ME — generate secrets with: openssl rand -hex 32
$EDITOR .env.local

# 3. Start the stack
docker compose up --build

# Optional: enable dynamic runtime scans (Docker daemon access via restricted socket proxy)
# 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 (clave de API): créelo en la UI Settings -> API Keys, luego úselo como Authorization: Bearer <API_KEY>
# Get a token (replace with the credentials you set in .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)

# Start scan from a GitHub repo
curl -X POST http://localhost:8000/scan \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"repo_url":"https://github.com/yourorg/yourapp"}'

# Poll for results
curl http://localhost:8000/scan/<scan_id> \
  -H "Authorization: Bearer $TOKEN" | jq .summary

Características

Descargar herramienta