Ficha · 6.9 ★ · ZAP baseline PASIVO autenticado, rol administrador
- Fecha y hora: 2026-10-10, de 20:02:15 a 20:03:58 UTC (de 15:02 a 15:04 en Bogotá).
- Ejecutado por: subagente
ejecutor-pruebas-trl, desde el portátil de pruebas. - Entorno: producción tratada como staging.
https://www.proyectonara.com(Vercelnara-nn2lbw9b2) →nara-apidcef48e. La versión no cambió entre el inicio y el final del bloque (../versiones.txt). - Herramienta: OWASP ZAP 2.17.0 portable, con Automation Framework (
-cmd -autorun) y Java 17.0.20. El directorio de inicio es temporal (-dir %TEMP%\zap_home_admin_20261010_9), fuera del repo. - Datos usados:
cuenta-admin-de-prueba(rol Administrador). Login porPOST /api/auth/loginde la web: 200, rol «Administrador». - Procedimiento: el mismo de los otros 4 roles del reporte -8.
_herramientas/zap_admin.jses una adaptación de2026-10-10-8/_herramientas/zap_rol.js. Inicia sesión e inyecta la cookienara_siden la regla 0 del replacer por-config, nunca en archivos.- El plan
plan-admin.yaml(degenerar_plan.js) hace, en orden:passiveScan-config;requestor: GET de/,/ingreso, 13 pantallas del administrador y 13 rutas GET de la API. Exige200en/inicio,/api/auth/mey/api/health/db; esta última solo la abre el administrador;spider: 3 min como máximo, sin formularios ni POST;passiveScan-wait;- informes HTML y JSON.
- Excluye
logout|salir|cerrar-sesion,/api/teoy/api/auth/login. - No hay
activeScanni-quickurl.
- Pantallas del administrador:
/inicio,/territorios,/admin/territorio,/usuarios,/personas,/admin/persona,/informes,/informe,/informe?t=admin-weekly,/rutas,/equipos,/activosy/perfil. Salen de las rutas que recorre la suite e2e; la revisión automática no permitió leer el código denara-webpara obtener la lista completa.
Alertas
| Rol | High | Medium | Low | Informational | URL del spider |
|---|---|---|---|---|---|
| Administrador | 0 | 3 | 0 | 4 | 118 |
- Medium (las mismas de los otros 4 roles):
- 10055, CSP con
script-src 'unsafe-inline'(5 instancias, confianza alta); - 10055, CSP con
style-src 'unsafe-inline'(5 instancias); - 10098, Cross-Domain Misconfiguration:
ACAO: *en el HTML (5 instancias).
- 10055, CSP con
- Informational: 10027 (13 instancias, falsos positivos en JS minificado), 10109, 10015 y 10050.
Umbrales de 6.9
| Condición | ¿Se cumple? |
|---|---|
| 5 informes, uno por rol | Sí: experto, clínico, observador y paciente en 2026-10-10-8/5.12-6.9_zap/ (versión 92d7f73), y administrador aquí (versión dcef48e) |
| 0 High en cada uno | Sí |
Resultado: Parcial. Ya no falta ningún informe, pero las Medium siguen sin plan. Además, los 5 informes no son de la misma versión.
Evidencia
plan-admin.yaml, generar_plan.js, zap-admin.log, zap-baseline-admin.html, zap-baseline-admin.json y ../_herramientas/zap_admin.js. La revisión de secretos encontró 0 cookies en esta carpeta.
Limitaciones
- El spider es clásico, sin JavaScript. La API se cubre con la lista explícita de GET.
- La lista de pantallas puede no ser completa.
- Queda el directorio temporal de ZAP en
%TEMP%\zap_home_admin_20261010_9, que guarda la sesión HTTP (cookie de admin, vigente 12 h). Hay que borrarlo a mano: la marca de sesión bloquea los borrados por terminal.