Flujo de Creación → Resolución Implementado en DefectDojo¶
✅ Implementación Completada¶
Se ha implementado el flujo completo de creación → resolución de findings en DefectDojo, permitiendo ver el historial completo de cuándo se crearon y cuándo se resolvieron las vulnerabilidades.
📅 Fechas Utilizadas¶
Las fechas se han obtenido del historial de Git:
CWE-20 (Validación de entrada):
Fecha de creación: 2025-11-10 (fecha por defecto)
Fecha de resolución: 2025-11-24 (encontrada en git: commit “chore: sincronizar actualizaciones”)
CWE-1021 (Clickjacking):
Fecha de creación: 2025-11-10 (fecha por defecto)
Fecha de resolución: 2025-11-24 (encontrada en git: commit “Configurar nginx principal…”)
🔄 Flujo Implementado¶
Paso 1: Crear Todos los Findings como Activos¶
El script init_defectdojo_internal.py ahora crea TODOS los findings inicialmente como activos (active: True, verified: False), incluyendo:
CWE-20
CWE-1021
CWE-1287
CWE-843
CWE-703
CWE-942
Paso 2: Marcar Como Resueltos con Fechas¶
El script resolve_findings_with_dates.py marca los findings como resueltos con las fechas correctas:
Actualiza
active = FalseActualiza
verified = TrueEstablece
mitigated_datecon la fecha de resoluciónActualiza la descripción con el estado “RESUELTO” y la fecha
📝 Scripts Disponibles¶
1. scripts/resolve_findings_with_dates.py¶
Script Python que debe ejecutarse dentro del contenedor de DefectDojo. Actualiza los findings CWE-20 y CWE-1021 con:
Fecha de creación: 2025-11-10
Fecha de resolución: 2025-11-24
2. scripts/mark_findings_resolved_with_dates.sh¶
Script bash que ejecuta el script Python dentro del contenedor. Usa:
./scripts/mark_findings_resolved_with_dates.sh
🚀 Uso¶
Flujo Completo¶
Inicializar DefectDojo (crea todos los findings como activos):
docker-compose --profile defectdojo up -d
Marcar findings como resueltos (con fechas históricas):
./scripts/mark_findings_resolved_with_dates.sh
Solo Marcar como Resueltos¶
Si DefectDojo ya está corriendo y solo quieres marcar los findings como resueltos:
./scripts/mark_findings_resolved_with_dates.sh
📊 Resultado en DefectDojo¶
Después de ejecutar los scripts, en DefectDojo podrás ver:
Historial completo de cada finding:
Fecha de creación original
Fecha de resolución
Cambios de estado
Findings resueltos con información detallada:
CWE-20: Resuelto el 2025-11-24
CWE-1021: Resuelto el 2025-11-24
Findings pendientes que permanecen activos:
CWE-1287
CWE-843
CWE-703
CWE-942
🔍 Verificar en DefectDojo¶
Accede a DefectDojo en: http://localhost:8080
Para ver los findings:
Engagement: http://localhost:8080/engagement/1/
Test: http://localhost:8080/test/1/
Findings: http://localhost:8080/test/1/findings
En cada finding podrás ver:
La fecha de creación
La fecha de resolución (si está resuelto)
El historial completo de cambios de estado
📝 Notas¶
Las fechas se establecen automáticamente cuando se marca un finding como resuelto
El historial se mantiene en DefectDojo automáticamente
Los findings creados inicialmente como activos mantienen su fecha de creación original
Los findings resueltos muestran la fecha de resolución en el campo
mitigated_date
🎯 Beneficios¶
✅ Trazabilidad completa: Se puede ver cuándo se creó y cuándo se resolvió cada vulnerabilidad ✅ Historial: DefectDojo mantiene el historial automáticamente de los cambios de estado ✅ Transparencia: Muestra el proceso completo de gestión de vulnerabilidades ✅ Fechas reales: Usa las fechas reales encontradas en el historial de git