Volver a la wiki

Auditoria 2026-07 Fase 1: Seguridad, Rendimiento y Calidad

Contexto

Se inicia auditoria formal 2026-07 con Fase 0 (verificación estática) y Fase 1 (implementación de correcciones). Objetivo: diagnosticar y remediar brechas de seguridad, rendimiento y calidad arquitectónica del backend y frontend.

Hallazgos Críticos — FASE 0

Seguridad (CRÍTICO)

Vulnerabilidades identificadas:

  1. IDOR en admin.py (línea 275): endpoint revoke sin validación de org. Corrección aplicada en el commit.
  2. Cross-org attachment en ClientProject: falta validación de org al adjuntar proyectos. Verificado.
  3. WebSocket sin filtro de org (sentinel_ingest.py): broadcast de métricas sin row-level-security. Severidad ALTA.
  4. RLS-gap en 3 tablas nuevas: AIInsight, AIInsightAuditLog, y tabla de ingestión de VictoriaMetrics. No tienen RLS configurado. Véase [[incident—20260710—rls-gap-tablas-nuevas]].
  5. Refresh token en WS (consumers.py): WebSocket acepta refresh tokens sin validar tiempo de vida. Severidad MEDIA.

Superficies nuevas auditadas:

Rendimiento (MEDIO-ALTO)

N+1 queries: hot path de racks limpio. Grueso del bloque requiere medición con CaptureQueries/silk (decisión tooling de Edu en FASE 2).

Valkey (in-memory cache):

Huey (task queue):

VictoriaMetrics:

Calidad Arquitectónica (MEDIO)

Cobertura: 106 tests con buena cobertura de seguridad.

Ciclomatic complexity: 0 ciclos, god-nodes sanos. Ningún módulo >1000 LOC.

Hallazgos:

  1. Sin mypy: análisis de tipos estático ausente. Severidad: MEDIO (requiere setup inicial bajo). Corrección: activado en CI .github/workflows/ci.yml con modo laxo (baseline 0).
  2. Frontend Vite huerfano:
    • No se sirve desde Django.
    • 132 nodos muertos.
    • Konva duplicado.
    • Severidad: ALTO (dead code, UX desconocida).
    • Recomendación: FASE 1.5 remover o integrar.

Stack:

Decisiones Implementadas — FASE 1

Seguridad

Infra

Calidad

Plan — FASE 2 y adelante

FaseTemaOwnerDeadline
1aRLS en AIInsight + ingestiónEdu2026-07-15
1bWS filtrado por org + refresh-tokenMarcos2026-07-17
1cVictoriaMetrics allowlist agentesEdu2026-07-20
1.5Frontend Vite: remover o integrarEsquembri2026-07-25
2Medición N+1 (silk/CaptureQueries)Edu2026-08-01
2Valkey/Huey tuningInfra2026-08-05

Documentación

Documento maestro: AUDIT.md (en el repo).

Incidentes relacionados:

Decisión previa (multi-tenancy y RLS):

Concepto:

Véase también

Subir