Sin Rate Limiting de IA
Tu app hace llamadas a APIs de IA sin límites por usuario, dejando que un solo usuario (o bot) dispare miles de requests y agote tu presupuesto de API en minutos.
Cómo Funciona
Las llamadas a APIs de IA son caras — GPT-4o puede costar $10-30 por millón de tokens, y Claude Opus es similar. Sin rate limiting, un usuario gratuito puede escribir un script que martille tu endpoint /api/ai todo el día. Esto es un ataque de costos: ellos no pagan nada, tú pagas la factura. También es un vector de denegación de servicio si llegas a los límites de la API y los usuarios legítimos quedan bloqueados.
// MAL: sin rate limiting en el endpoint de IA
export async function POST(req: Request) {
const { message } = await req.json();
// Cualquier usuario autenticado puede llamar esto sin límite
const response = await openai.chat.completions.create({ messages: [{ role: 'user', content: message }] });
return Response.json({ result: response.choices[0].message.content });
}// BIEN: aplica rate limits por usuario antes de llamar a la IA
export async function POST(req: Request) {
const user = await getAuthUser(req);
const usage = await getUserAiUsage(user.id); // revisar contador en Redis/BD
if (usage.requestsThisHour > 20) {
return Response.json({ error: 'Límite de tasa excedido' }, { status: 429 });
}
await incrementAiUsage(user.id);
const response = await openai.chat.completions.create({ messages: [{ role: 'user', content: message }] });
return Response.json({ result: response.choices[0].message.content });
}Ejemplo Real
Varios desarrolladores indie han reportado despertarse con facturas de API de IA de $500-$2000 después de olvidar agregar rate limiting. Los bots escanean apps públicas en busca de endpoints de IA sin protección a los pocos días del lanzamiento. OpenAI ahora ofrece límites de gasto, pero eso no te protege de llegar a tus propios límites y romper tu app para usuarios reales.
Cómo Prevenirlo
- Implementa rate limits por usuario (ej. 20 requests/hora para gratis, 200 para de pago) rastreados en Redis o tu base de datos
- Configura límites de gasto fijos en el dashboard de tu proveedor de IA como red de seguridad
- Agrega autenticación a todos los endpoints de IA — nunca los expongas públicamente sin auth
- Rastrea el uso de tokens por usuario, no solo el conteo de requests (un request puede consumir miles de tokens)
- Alerta cuando el uso se dispare — un usuario haciendo 10x su uso normal es una señal de alerta
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Inyección de Prompts
highEl input del usuario se concatena directo en el prompt del LLM, permitiendo que atacantes sobreescriban tus instrucciones y hagan que la IA haga lo que ellos quieran.
Filtración de PII a Modelos de IA
highTu app manda información personal identificable — emails, nombres, contraseñas, teléfonos — a APIs de IA externas, exponiendo datos de usuarios a proveedores de modelos de terceros.
Respuesta de IA Sin Validación
mediumEl output de un LLM se renderiza o ejecuta directo sin verificar si coincide con el formato esperado o contiene contenido dañino.
API Key de IA en el Frontend
criticalTu API key de OpenAI, Anthropic u otro proveedor de IA está expuesta en el código del cliente, donde cualquiera puede robarla y acumular cargos en tu cuenta.