CreaRack-SL

Feature: Auditoría Suprema SA5 — cierre del dominio network (sesión 118)

Resumen

Quinta y última sesión de auditoría del módulo network (SA5: Port connections / Cable report). Cierra al 100% el dominio network tras audit de SA1-SA4.

18 hallazgos confirmados (3 ALTA, 6 MEDIA, 9 BAJA):

  • Broken Access Control en 11 endpoints (faltaba require_perm)
  • XSS en Cable Report HTML (Mermaid loose + nombres crudos)
  • Inyección de header y markdown
  • Duplicación de código extraída a port_labels.py

Cambios principales

CambioArchivoImpacto
require_perm(network, edit) en mutacionesport_connections.pyReadonly ya no crea/borra cableado
require_perm(network, view) en lecturas/reportcable_report.pyNo exfiltra mapa de red a readonly
securityLevel:'strict' + saneo labelscable_report.pyXSS Mermaid cerrado
Whitelist en Content-Dispositioncable_report.pyHeader injection cerrada
Escape de pipes en tabla Markdowncable_report.pyMarkdown injection cerrada
Nuevo port_labels.pyservices/Deduplicación (Regla 2)
12 tests nuevostests/api/test_network_sa5.pyCobertura de autorización/XSS

Status

  • ✅ Implementado en commit 14e9074
  • ✅ Sin migraciones
  • ✅ Backward-compatible (solo gating de permisos, endpoints públicos igual)
  • ✅ Dominio network: 100% auditado y rectificado (SA1-SA5)

Véase también

  • [[incident—20260609—auditoria-sa5-red-network]]
  • [[entity—network—service—port-labels]]
  • [[entity—network—model—port-connection]]
  • [[entity—network—endpoint—port-connections]]
  • [[entity—network—endpoint—cable-report]]