Casos
Casos reales, anonimizados
Proyectos reales, resultados reales. Nombres y detalles específicos van anonimizados. Los hallazgos y la metodología no.
Pentest
Web + API
3 semanas
Startup fintech preparando ISO 27001
2 críticas corregidas en 2 semanas
ISO 27001 superada a la primera
Revisión interna recurrente adoptada
Contexto
Fintech de tamaño medio preparándose para la certificación ISO 27001. El pentest del proveedor anterior era un informe de escáner con un PDF de portada elegante. El auditor marcó el informe como insuficiente.
Alcance
Aplicación web de cara al cliente, panel interno de administración, API REST de flujos de pago. Perspectivas autenticada y no autenticada.
Hallazgos
- 2 críticas — bypass de auth por case-sensitivity + fallos de control de acceso en endpoints de admin
- 3 altas — IDOR exponiendo metadata de pagos, XSS persistente en dashboard interno, SSRF en subida de adjuntos
- 3 medias + varias informativas — falta de rate limits, errores verbosos, tokens de sesión predecibles
Resultado
Todos los hallazgos críticos y altos corregidos en 2 semanas. El retest confirmó la remediación. El cliente pasó la auditoría ISO 27001 a la primera. El equipo de desarrollo ahora hace revisiones de seguridad internas de forma recurrente, con la metodología que les expliqué.
Pentest
API + multi-tenant
2 semanas
Revisión pre-lanzamiento de API en SaaS B2B
IDOR crítico corregido pre-lanzamiento
Tests CI cross-tenant añadidos
8 meses en producción sin incidentes
Contexto
SaaS B2B con arquitectura multi-tenant a punto de lanzar una API pública. El equipo quería una revisión de hardening centrada en el aislamiento entre tenants antes de incorporar clientes enterprise.
Alcance
API REST (~80 endpoints), flujos OAuth 2.0, dos cuentas tenant creadas para pruebas cruzadas.
Hallazgos
- 1 crítica — lectura de datos entre tenants vía IDs de objeto predecibles (IDOR clásico)
- 2 altas — escalado de scope OAuth mediante race condition en refresh de token; log de acciones de admin filtrable por usuarios de otros tenants
- 4 medias — falta de autorización en 3 endpoints menores, generador UUID débil para tokens de invitación
Resultado
Hallazgos críticos y altos corregidos pre-lanzamiento. Añadieron middleware de autorización con tests automáticos cross-tenant en CI. La API pública salió en fecha; cero incidentes de aislamiento entre tenants en los 8 meses siguientes.
Red team LLM
Asistente GenAI
1 semana
Red team sobre asistente GenAI de cara al cliente
Fuga RAG entre cuentas cerrada
Extracción del system prompt parcheada
Checklist red team LLM en cada release
Contexto
Plataforma SaaS lanzando un asistente basado en LLM para clientes. Basado en RAG interno con acceso a datos de cuenta. Preocupación: prompt injection, fuga del system prompt, exposición de datos entre cuentas.
Alcance
UI del asistente + tool calls del backend + retrieval del RAG. Dos cuentas de cliente creadas para pruebas cruzadas.
Hallazgos
- System prompt totalmente extraíble mediante prompt injection indirecta en documentos subidos por usuario
- Abuso de tool calls — el asistente podía ser forzado a llamar una función admin interna no expuesta
- Fuga de datos entre cuentas — RAG recuperó fragmentos del contexto de otro cliente con un prompt multi-paso específico
- Evasión de filtros de salida vía codificación (base64, homoglifos)
Resultado
Lanzamiento retrasado 2 semanas para corregir la fuga cross-account. Sanitización de input y filtros de salida reescritos. Lista de tool calls más restrictiva. El equipo ahora ejecuta un checklist interno de red team LLM antes de cada release.
Investigación CVE
Plugin WordPress
Divulgación pública
CVE-2025-3769 — IDOR en un plugin WordPress con 100K instalaciones
100K+ sitios protegidos
CVE-2025-3769 publicado
4 semanas: reporte → CVE público
Contexto
Investigación independiente sobre plugins WordPress con despliegue masivo. Target: LatePoint, un plugin de reservas con más de 100.000 instalaciones activas.
Enfoque
Auditoría de código fuente. Seguí la pista del sistema ACL propio del plugin hasta un handler AJAX que renderizaba detalles de reservas sin comprobar propiedad del ID.
Hallazgos
- IDOR (CWE-639) que permitía a cualquier cliente registrado leer cualquier reserva: nombre, email, hora de cita, servicio
- Mismo patrón faltaba en dos funciones hermanas del mismo fichero
Resultado
Divulgación coordinada vía Wordfence. Parche publicado en 5.1.93, 4 semanas desde el reporte al CVE público. Writeup completo en el blog.