Skip to content

v1.2

Choose a tag to compare

@ManuelArango1229 ManuelArango1229 released this 21 May 20:46
· 27 commits to main since this release

🔐 DevSecOps Engine v1.2

Pipeline reutilizable con gate SSVC + EPSS + CISA KEV como tercer mecanismo de decisión

Trabajo de Grado — Universidad del Valle — Ingeniería de Sistemas 2026 Jhojan Stiven Castaño Jejen & Juan Manuel Arango Rodas


¿Qué cambia en esta versión?

El modelo TLOT/ALOT de ISO/IEC 27034 como gate de decisión es reemplazado por el estándar SSVC v2.1 (CISA/SEI-CERT) enriquecido con datos empíricos de explotabilidad — EPSS (FIRST.org) y CISA KEV. Esto elimina las constantes arbitrarias 0.50/0.65/0.80/0.95 y las penalizaciones −0.40/−0.25/−0.10/−0.15, resuelve la saturación de scores (ALOT=0.35 en todos los casos) y habilita métricas formales de precisión, recall y F1 por primera vez.

ISO/IEC 27034 se conserva como marco de trazabilidad normativa — cada hallazgo sigue llevando su asc_id y los ASCs ejecutados quedan registrados por corrida.


✨ Nuevo módulo: ssvc_gate.py

Implementa el árbol de decisión SSVC v2.1 consultando dos fuentes públicas en cada ejecución:

Fuente Qué aporta
CISA KEV (cisa.gov) CVEs con explotación activa confirmada en producción — ~1.600 entradas, actualización diaria
EPSS API (api.first.org) Probabilidad de explotación en 30 días (0.0–1.0) por CVE ID, consulta en batch

SimpleHealthAPI es el caso de divergencia más claro: gate IA y SSVC coinciden en CONDITIONAL porque EPSS bajo y ausencia en CISA KEV confirman empíricamente bajo perfil de explotación. El gate tradicional (FAIL) es el único que no accede a ese contexto empírico.


📁 Archivos modificados

scripts/
├── ssvc_gate.py          ← NUEVO — árbol SSVC + EPSS API + CISA KEV + métricas F1
├── gate.py               ← actualizado — SSVC como gate 3, ISO 27034 a trazabilidad
└── report_generator.py   ← actualizado — sección SSVC con distribución y F1

⚠️ Limitaciones conocidas

  • F1=0.0 en ecosistema npm/Alpine: las heurísticas CWE sobreestiman explotación para CVEs JavaScript con EPSS bajo. El gate IA sí puede razonar sobre este contexto.
  • Hallazgos Semgrep/ZAP sin CVE ID quedan excluidos del cálculo formal de F1 por ausencia de ground truth verificable.
  • SSVC clasifica por hallazgo individual — no detecta cadenas de ataque multi-herramienta. Esa capacidad sigue siendo exclusiva del gate IA.
  • El gate IA recibe actualmente los hallazgos crudos sin el contexto de clasificaciones SSVC/EPSS/KEV. Se aborda en v1.3.

🚀 Próxima versión — v2.0

  • Gate IA híbrido: enriquecer el prompt del LLM con clasificaciones SSVC preliminares y datos EPSS/KEV antes de la evaluación contextual — metodología Al Haddad et al. (2025), arXiv 2510.18508
  • Campo ssvc_validation en el output del LLM con juicio sobre cada clasificación SSVC (confirmed | overestimated | underestimated)
  • Nueva sección en el reporte: validación cruzada LLM ↔ SSVC con razonamiento por hallazgo