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
kavach-loop — Remediación de vulnerabilidades en bucle cerrado: detectar -> reproducir el exploit -> generar el parche -> verificar con un arnés de prueba. Ejemplo práctico: Langflow CVE-2026-33017 | Kitploit
Herramientas/GitHubGitHub/nsk-394/kavach-loop
Análisis EstáticoEscáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebVirtualización de SeguridadDevSecOps
GitHubnsk-394/kavach-loop

kavach-loop

Remediación de vulnerabilidades en bucle cerrado: detectar -> reproducir el exploit -> generar el parche -> verificar con un arnés de prueba. Ejemplo práctico: Langflow CVE-2026-33017

hace 8 díasAún no revisado
Ver Repositorio

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

kavach-loop

Una canalización de remediación de vulnerabilidades en bucle cerrado: detectar → reproducir el exploit → generar un parche → verificar el parche contra un arnés de prueba — antes de que se confíe en cualquier corrección.

La mayoría de las demos de "la IA corrige tu CVE" se detienen en generar un parche. kavach-loop se niega a confiar en un parche hasta haber demostrado dos cosas contra una instancia real en ejecución del software vulnerable: (1) el exploit original ya no funciona, y (2) la aplicación sigue funcionando con normalidad. El ejemplo práctico es un CVE crítico real.

⚠️ Alcance y seguridad: cada módulo que toca la red está bloqueado de forma estricta a localhost (127.0.0.1 / ::1) y rechaza cualquier otro objetivo. El código del exploit existe para demostrar que un parche funciona contra un contenedor desechable que tú mismo ejecutas — no para atacar nada. Ejecuta esto únicamente contra el objetivo incluido.

Ejemplo práctico: CVE-2026-33017 (RCE en Langflow)

Ejecución remota de código sin autenticación en Langflow ≤ 1.8.2 — GHSA-vwmf-pq79-vjvx / NVD. POST /api/v1/build_public_tmp/{flow_id}/flow construye un flujo público sin autenticación; el code del nodo proporcionado por el atacante llega a exec() sin sandbox, a través de una cadena de llamadas de seis saltos desde el manejador de la ruta hasta el sink.

El bucle

flowchart LR
    T["exploit_repro/<br/>disposable Langflow 1.8.2<br/>container (localhost only)"]
    D["detection/<br/>Semgrep rule over<br/>live-extracted source"]
    E["exploit_repro/exploit.py<br/>PoC: confirm RCE is real"]
    P["patch_gen/<br/>LLM unified diff,<br/>applied to a real copy"]
    V["proof_harness/verify.py<br/>exploit blocked? + app<br/>still works? → one verdict"]
    T --> D --> E --> P --> V
    V -->|fused confidence score| OUT["trusted / rejected"]
EtapaMóduloQué hace realmente
Detectardetection/detect.py + rules/unauthenticated-exec-sink.yamlEjecuta una pasada real de Semgrep sobre el código fuente extraído en vivo del contenedor objetivo. La regla señala honestamente la precondición detectable de forma fiable (una ruta no autenticada que reenvía entrada estructurada por el atacante hacia una llamada posterior), no el taint completo de seis saltos — y lo indica así, con confidence: LOW, de modo que cada hallazgo aún requiere confirmación.
Reproducirexploit_repro/exploit.pyPoC solo para localhost que confirma que el RCE realmente se dispara, de modo que estamos parcheando un error real, no una suposición de análisis estático.
Parchearpatch_gen/generate.pyObtiene el código fuente real y actual de la función vulnerable desde el contenedor en ejecución, recupera 1–2 patrones de corrección de referencia, solicita a un LLM un diff unificado y luego lo aplica a un segundo contenedor desechable y lo reinicia para que el código parcheado se recargue.
Verificarproof_harness/verify.py + test_functionality.pyFusiona dos comprobaciones en un único veredicto: el PoC ahora debe fallar, y la API REST autenticada normal de Langflow (health, version, whoami, CRUD de flujos) debe seguir pasando. Un parche que bloquea el exploit destrozando la aplicación es rechazado.

La honestidad es lo importante: la regla de detección documenta exactamente qué demuestra y qué no, y el verificador se niega a declarar bueno un parche solo porque el exploit dejó de funcionar.

Ejecutarlo

pip install -r requirements.txt           # requests, pytest, openai, semgrep
export OPENAI_API_KEY=...                  # for patch_gen

cd exploit_repro/langflow-cve-2026-33017
docker compose up -d                       # vulnerable target on 127.0.0.1:7860
curl -s http://127.0.0.1:7860/health

cd ../..
python detection/detect.py                 # static-analysis finding
python exploit_repro/exploit.py            # confirm the RCE (localhost only)
python patch_gen/generate.py               # generate + apply + verify a patch
pytest proof_harness/                       # functionality smoke tests

Detener y borrar: docker compose down -v.

Estado

Las etapas individuales (detección, reproducción del exploit, generación del parche, arnés de prueba) están implementadas y se ejecutan contra el objetivo real. main.py es un esqueleto de orquestación ligero — actualmente las etapas se ejecutan directamente como se muestra arriba. Integrarlas en una única llamada a main() es el siguiente paso.

Por qué "kavach"

Kavach (कवच) significa "armadura" en sánscrito. El bucle es la armadura: nada se publica hasta que ha sido atacado y se ha demostrado que resiste.

Descargar herramienta