¿Qué es el OWASP API Security Top 10?
El OWASP API Security Top 10 es la lista de los riesgos de seguridad más críticos específicos de APIs (REST, GraphQL, gRPC, SOAP, WebSockets). La versión actual es la edición 2023, publicada en junio de 2023. Las APIs presentan vectores de ataque únicos que no están completamente cubiertos por el OWASP Top 10 para aplicaciones web tradicionales.
¿Por qué un Top 10 específico para APIs?
API Security Top 10 — Edición 2023
API1:2023 — Broken Object Level Authorization (BOLA)
La vulnerabilidad n.º 1 de APIs. El endpoint no verifica si el usuario autenticado tiene derecho a acceder al objeto solicitado. Equivale a IDOR para APIs.
API2:2023 — Broken Authentication
Mecanismos de autenticación débiles o mal implementados: tokens JWT con firma débil o sin expiración, endpoints de autenticación sin rate-limiting, reset de contraseña que revela si el email existe, API keys en URLs o logs.
API3:2023 — Broken Object Property Level Authorization
Nueva en 2023 (antes Mass Assignment + Excessive Data Exposure). La API devuelve más datos de los necesarios (exposición) o permite escribir propiedades que no debería (mass assignment): un usuario modifica su campo roleo isAdmin mediante una petición PUT.
API4:2023 — Unrestricted Resource Consumption
La API no limita la cantidad de recursos que puede consumir un cliente: sin rate-limiting, sin límite de tamaño de payload, sin paginación máxima, sin límite de llamadas a servicios externos costosos (OpenAI, Twilio, SMS).
API5:2023 — Broken Function Level Authorization
Un usuario con rol normal puede acceder a endpoints que deberían ser solo de administrador. Diferencia con API1: API1 es sobre el objeto, API5 es sobre la función/acción.
API6:2023 — Unrestricted Access to Sensitive Business Flows
Nueva en 2023. APIs que exponen flujos de negocio críticos sin controles adicionales: compra masiva de artículos de edición limitada (scalping bots), abuso del flujo de registro para crear cuentas falsas masivamente, scraping de precios o inventario.
API7:2023 — Server-Side Request Forgery (SSRF)
Las APIs frecuentemente aceptan URLs como parámetros para hacer fetch de recursos. Sin validación, un atacante puede hacer que el servidor llame a servicios internos, metadatos de cloud (AWS IMDSv1), o servicios de red interna.
API8:2023 — Security Misconfiguration
CORS mal configurado, HTTPS desactivado en servicios internos, métodos HTTP innecesarios habilitados, cabeceras de seguridad ausentes, stack traces expuestos en respuestas de error, OpenAPI/Swagger con endpoints de debug expuestos.
API9:2023 — Improper Inventory Management
APIs desactualizadas o no documentadas expuestas: versiones antiguas (/api/v1/ vulnerables cuando /api/v3/ está parchado), endpoints de debug activos en producción, documentación Swagger/OpenAPI expuesta públicamente con endpoints sensibles.
API10:2023 — Unsafe Consumption of APIs
Nueva en 2023. Tu aplicación consume APIs de terceros sin validar sus respuestas: confías en que la API de tercero siempre devuelve datos seguros, pero si esa API es comprometida o devuelve datos maliciosos, tu aplicación los procesa sin sanitización → vectores de XSS stored, SSRF, injection.
Cómo testear la seguridad de APIs
Herramientas específicas para API security
Checklist rápida de seguridad de APIs