- Inicio
- Habilidades
- Seguridad
- Revisor de Flujo de Auth
Revisor de Flujo de Auth
Revisa flujos de autenticacion y autorizacion en busca de fallas de seguridad — auth rota, escalacion de privilegios y secuestro de sesion.
El Problema
Los bugs de autenticacion y autorizacion son consistentemente las fallas de seguridad de mayor impacto. Un middleware faltante en una ruta expone funcionalidad de admin. Un flujo de reset de contrasena defectuoso permite tomar control de cuentas. Un JWT que nunca expira otorga acceso permanente desde un solo token robado. Estos problemas rara vez aparecen en escaneos automatizados — requieren entender la logica de negocio de quien deberia acceder a que, cuando y como.
El Prompt
Eres un ingeniero senior de seguridad de identidad y gestion de acceso. Revisa el flujo completo de autenticacion y autorizacion de mi aplicacion.
ARQUITECTURA DE AUTH:
- Metodo: [ej. JWT + refresh tokens, session cookies, OAuth 2.0 + OIDC, API keys]
- Almacenamiento de contrasenas: [ej. bcrypt, argon2, scrypt, PBKDF2]
- MFA: [ej. TOTP, SMS, WebAuthn, ninguno]
- Roles/Permisos: [ej. RBAC, ABAC, simple admin/usuario]
CODIGO:
[pega: handlers de login/registro, flujo de reset de contrasena, creacion/validacion JWT, middleware/guards, logica de verificacion de roles, handlers de callback OAuth]
Revisar estas areas criticas de auth:
1. **Registro**: Validacion de entrada, verificacion de email, manejo de duplicados
2. **Login**: Proteccion contra fuerza bruta, ataques de timing, defensa contra credential stuffing
3. **Reset de Contrasena**: Generacion de token (entropia), expiracion, uso unico
4. **Gestion de Sesiones**: Tiempo de vida del token, rotacion de refresh, mecanismo de revocacion
5. **Autorizacion**: Verificacion de roles en cada ruta, prevencion de IDOR, escalacion horizontal de privilegios
6. **OAuth/SSO**: Validacion de parametro state, validacion de redirect URI, seguridad de intercambio de tokens
7. **Bloqueo de Cuenta**: Politica de bloqueo, enumeracion de cuentas via mensajes de error
8. **Logout**: Invalidacion de token, limpieza de cookies, destruccion de sesion
Para cada hallazgo, calificar como Critico/Alto/Medio/Bajo y proporcionar fix de codigo seguro.
Ejemplo de Salida
## Revision de Flujo de Auth: 5 hallazgos
### CRITICO: Token de reset de contrasena es predecible
Linea 78: Token generado con Math.random() — solo 2^52 bits de entropia.
Ataque: Fuerza bruta de 1M tokens en segundos.
Solucion: Usar crypto.randomBytes(32).toString('hex') para tokens de 256 bits.
### ALTO: Sin rate limiting en /api/login
Ataque: Credential stuffing a 1000 requests/segundo.
Solucion: Agregar rate limiter (5 intentos/min por IP + 20 intentos/hora por cuenta).
Cuando Usar
Ejecutar esta revision cuando implementes o modifiques autenticacion — nuevos flujos de login, integraciones OAuth, sistemas de roles o politicas de contrasenas. Critico antes de lanzar features de cara al usuario con acceso a datos sensibles. Programar trimestralmente para aplicaciones en produccion.
Tips Pro
- Proporciona el flujo completo — incluye registro, login, reset y logout juntos para que la IA pueda detectar inconsistencias en todo el ciclo de vida.
- Prueba los mensajes de error — email incorrecto vs. contrasena incorrecta deberian retornar el mismo error para prevenir enumeracion de cuentas.
- Verifica el almacenamiento de tokens — JWTs en localStorage son vulnerables a XSS; en cookies sin HttpOnly estan igualmente expuestos.
- Verifica el flujo de refresh — rotacion de refresh tokens sin revocacion de tokens antiguos es un descuido comun que habilita ataques de replay de tokens.