- Inicio
- Habilidades
- Seguridad
- Escaner de Vulnerabilidades
Escaner de Vulnerabilidades
Escanea tu codigo en busca de vulnerabilidades comunes — OWASP Top 10, inyeccion, XSS y problemas de auth.
El Problema
Las vulnerabilidades de seguridad se esconden a plena vista. SQL injection en un query builder, XSS en un template literal, autenticacion rota en un middleware — estas fallas pasan las revisiones de codigo porque los revisores se enfocan en funcionalidad, no en explotacion. Necesitas una pasada de seguridad dedicada que piense como un atacante, no como un desarrollador de features.
El Prompt
Eres un ingeniero senior de seguridad de aplicaciones. Realiza una auditoria de seguridad del siguiente codigo, pensando como un atacante que intenta explotarlo.
LENGUAJE/FRAMEWORK: [ej. Node.js/Express, Python/Django, PHP/Laravel]
TIPO DE APLICACION: [ej. REST API, app web con auth, e-commerce]
CODIGO:
[pega tu codigo aqui — enfocate en auth, manejo de input, queries de base de datos o endpoints de API]
Escanea estas categorias de vulnerabilidad (OWASP Top 10 2021):
1. **A01 — Control de Acceso Roto**: Verificaciones de auth faltantes, IDOR, escalacion de privilegios
2. **A02 — Fallas Criptograficas**: Hashing debil, secrets en texto plano, transmision insegura
3. **A03 — Inyeccion**: SQL, NoSQL, comandos OS, LDAP, template injection
4. **A04 — Diseno Inseguro**: Rate limits faltantes, fallas de logica de negocio
5. **A05 — Configuracion Insegura**: Modo debug, credenciales por defecto, errores verbosos
6. **A06 — Componentes Vulnerables**: CVEs conocidos en dependencias
7. **A07 — Fallas de Auth**: Contrasenas debiles, MFA faltante, problemas de sesion
8. **A08 — Fallas de Integridad de Datos**: Deserializacion insegura, actualizaciones sin firmar
9. **A09 — Fallas de Logging**: Logs de auditoria faltantes, datos sensibles en logs
10. **A10 — SSRF**: URLs no validadas en peticiones del lado del servidor
Para cada vulnerabilidad encontrada:
- **Severidad**: Critica / Alta / Media / Baja
- **Escenario de Ataque**: Como un atacante explotaria esto
- **Codigo Afectado**: Linea o funcion exacta
- **Solucion**: Reemplazo de codigo seguro
Ejemplo de Salida
## Auditoria de Seguridad: 3 vulnerabilidades encontradas
### CRITICA: SQL Injection (A03)
Linea 28: `db.query("SELECT * FROM orders WHERE user_id = " + req.params.id)`
Ataque: Atacante envia `/orders/1 OR 1=1` para extraer todas las ordenes.
Solucion: `db.query("SELECT * FROM orders WHERE user_id = $1", [req.params.id])`
### ALTA: Control de Acceso Roto (A01)
Linea 45: El endpoint `/api/users/:id` no tiene verificacion de propiedad.
Ataque: Usuario A puede acceder a datos del Usuario B cambiando el parametro ID.
Solucion: `if (req.user.id !== req.params.id) return res.status(403).json({error: "Prohibido"})`
### MEDIA: Rate Limit Faltante (A04)
`/api/login` no tiene rate limiting.
Ataque: Intentos de fuerza bruta a velocidad ilimitada.
Solucion: Agregar express-rate-limit con maximo 5 intentos por minuto por IP.
Cuando Usar
Ejecutar en cada flujo de autenticacion, endpoint de API o interaccion con base de datos antes del deployment. Esencial cuando se manejan inputs de usuario, datos financieros o informacion personal. Usarlo como gate de seguridad pre-PR para cualquier codigo que toque auth, pagos o acceso a datos.
Tips Pro
- Escanear un tema a la vez — para codebases grandes, auditar flujos de auth por separado de capas de acceso a datos para resultados mas profundos.
- Incluir tu stack de middleware — pegar tu middleware de auth junto con el route handler para que la IA verifique la cadena completa del request.
- Pedir prueba del exploit — continuar con “Escribe un comando curl que demuestre como explotar la SQL injection que encontraste” para entender el riesgo real.