Pentest de API REST, GraphQL y gRPC
El pentest de API es la prueba de intrusión de interfaces REST, GraphQL y gRPC que explota fallas de autorización (BOLA), autenticación, mass assignment, exposición de datos y ausencia de rate limiting, siguiendo el OWASP API Security Top 10, para probar con evidencias qué obtendría un atacante desde sus endpoints.
Qué es un pentest de API y en qué se diferencia del pentest web
El pentest de API es una prueba de seguridad de API realizada desde la óptica de un atacante que habla directamente con el backend, sin pasar por la interfaz gráfica. Mientras el pentest web tradicional sigue los flujos que expone el navegador, la prueba de API examina cada operación documentada — y las no documentadas — como un contrato: quién puede llamarla, con qué parámetros, sobre qué objetos y con qué frecuencia.
Esa diferencia importa porque las fallas más comunes en APIs no son inyecciones clásicas, sino errores de lógica de autorización: un endpoint que devuelve el pedido de otro cliente al cambiar un identificador, un campo interno aceptado en el cuerpo de un PUT, una mutation GraphQL sin verificación de rol. Los scanners rara vez las encuentran, porque exigen entender el modelo de negocio detrás de cada recurso. Por eso Berghem combina automatización para inventario y cobertura con explotación manual para autorización, lógica y encadenamiento de vulnerabilidades.
El pentest de API puede contratarse de forma aislada o como parte del Ethical Hacking Test (EHT), cuando la aplicación web o móvil que consume la API también está en el alcance.
Qué incluye
Qué probamos: las diez categorías del OWASP API Security Top 10
Cada categoría del OWASP API Security Top 10 se convierte en un conjunto de casos de prueba ejecutados en todos los endpoints del alcance, con todos los perfiles de acceso disponibles.
Broken Object Level Authorization
Intercambiamos identificadores de objetos (pedidos, cuentas, documentos, usuarios) entre sesiones de clientes distintos y verificamos si el backend valida la propiedad del recurso. Es la falla más frecuente en APIs y la que más expone datos personales a escala.
Broken Authentication
Evaluamos emisión y validación de tokens JWT (algoritmo, firma, expiración, claims), flujos OAuth 2.0 y OIDC, API keys estáticas, refresh tokens, recuperación de contraseña y protección contra credential stuffing y fuerza bruta en los endpoints de login.
Autorización por propiedad y mass assignment
Probamos si el cliente puede leer o escribir campos que no debería: el precio de un pedido, el rol de un usuario, el estado de una aprobación. El mass assignment ocurre cuando el backend mapea el cuerpo de la petición directo al modelo sin lista de campos permitidos.
Consumo de recursos y rate limiting
Medimos límites de peticiones por cliente, tamaño de payload, paginación, uploads y operaciones costosas. Sin rate limiting, un atacante enumera datos, fuerza OTPs cortos y genera costos de infraestructura o de servicios de terceros pagados por llamada.
Broken Function Level Authorization
Invocamos operaciones administrativas y de otros perfiles (aprobar, reembolsar, exportar, eliminar) con credenciales comunes, alterando método HTTP, ruta o parámetros de versión para verificar si el control de acceso se aplica por función y no solo en la interfaz.
Acceso irrestricto a flujos sensibles
Analizamos flujos de negocio que pueden abusarse al automatizarse — compra, registro, cupón, reserva, referidos — y verificamos si existen controles contra bots y uso masivo, además de protección de la secuencia esperada entre etapas.
Server-Side Request Forgery
Donde la API recibe URLs (webhooks, importación, generación de previews), verificamos si el servidor puede ser inducido a acceder a redes internas, metadatos de nube o servicios no expuestos, un vector recurrente de escalamiento en entornos cloud.
Security Misconfiguration
Cubrimos CORS permisivo, mensajes de error detallados, métodos HTTP innecesarios, TLS débil, cabeceras ausentes, introspección GraphQL habilitada en producción, documentación Swagger expuesta y configuraciones por defecto de gateways y frameworks.
Improper Inventory Management
Mapeamos versiones antiguas (/v1 aún activa), entornos de pruebas alcanzables, endpoints sin documentación e integraciones olvidadas. Las shadow APIs y zombie APIs suelen conservar fallas ya corregidas en la versión actual.
Consumo inseguro de APIs
Verificamos cómo su API trata datos provenientes de socios y proveedores: validación, límites de redirección, confianza en respuestas no verificadas. Una integración comprometida no debe convertirse en un camino directo a su backend.
Cómo cambia la prueba entre REST, GraphQL y gRPC
Las categorías de OWASP son las mismas, pero la forma de explotarlas depende del protocolo. Ajustamos herramientas, casos de prueba y criterios de cobertura para cada estilo de API presente en el alcance.
APIs REST
Partimos de la especificación OpenAPI/Swagger o de colecciones Postman para generar la matriz endpoint × método × perfil. El foco es BOLA/IDOR, mass assignment en PUT/PATCH, manipulación de verbos, versionado, caché de respuestas autenticadas y validación de contenido.
APIs GraphQL
Probamos introspección y schema expuesto, autorización por campo y por resolver, aliasing y batching para eludir rate limiting, consultas anidadas que agotan el servidor, mutations sin verificación de rol y fuga de datos por relaciones entre tipos.
APIs gRPC
Evaluamos reflexión del servidor, definiciones .proto, autenticación por metadatos, uso de TLS y mTLS, autorización en streams bidireccionales y deserialización de mensajes. Las herramientas web comunes no cubren gRPC, por eso usamos tooling específico y casos manuales.
Webhooks, SOAP y APIs de socios
Cubrimos firma y replay de webhooks, validación de origen, SOAP con WS-Security y XML, y APIs expuestas a socios y fintechs — incluidos los requisitos técnicos de Open Finance Brasil cuando aplican a su alcance.
Cómo realizamos un pentest de API
Un pentest de API bien hecho es mayoritariamente manual y orientado por perfiles de acceso. Preferimos trabajar en modo grey-box, con documentación y credenciales de cada rol, porque así se encuentran fallas de autorización en profundidad.
Alcance y documentación
Relevamos endpoints, versiones, entornos, perfiles de usuario, tenants e integraciones. Recibimos OpenAPI, schemas GraphQL, archivos .proto o colecciones Postman y definimos ventanas de prueba, cuentas de prueba y canal para hallazgos críticos.
Reconocimiento e inventario
Comparamos lo documentado con lo que realmente responde: rutas ocultas, versiones anteriores, parámetros no listados, entornos de pruebas alcanzables. Aquí aparecen las shadow APIs que nadie recuerda.
Autenticación y sesión
Analizamos el ciclo de vida de las credenciales: emisión, alcance y validación de tokens, rotación de refresh tokens, revocación, políticas de contraseña y OTP, y el comportamiento de la API ante tokens expirados, alterados o de otro cliente.
Autorización y lógica de negocio
Ejecutamos la matriz completa de autorización horizontal (entre clientes) y vertical (entre roles) en cada operación, seguida de abuso de flujos, mass assignment, race conditions y encadenamiento de fallas para demostrar impacto real.
Informe y retest
Cada hallazgo incluye petición y respuesta reproducibles, CVSS, impacto de negocio y recomendación específica para el framework en uso. Tras la corrección, retesteamos los ítems y emitimos evidencia de cierre para auditoría o cliente final.
Qué determina el costo y el plazo de un pentest de API
El esfuerzo de una prueba de seguridad de API se dimensiona por la superficie y por la complejidad del modelo de autorización, no por el número de sistemas. Estos son los factores que más influyen en la propuesta.
Cantidad de operaciones
Endpoints × métodos en REST, queries y mutations en GraphQL, servicios y métodos en gRPC. Cada operación debe probarse con todos los perfiles, así que el número de operaciones es el principal multiplicador de horas.
Perfiles, tenants y roles
Cuantos más roles (cliente, operador, administrador, socio) y más aislamiento entre tenants exige el negocio, mayor es la matriz de autorización a recorrer — y mayor la probabilidad de encontrar BOLA y BFLA relevantes.
Protocolos y autenticación
Mezclar REST, GraphQL y gRPC en el mismo alcance, o usar flujos OAuth complejos con múltiples proveedores de identidad, aumenta la preparación y el tooling necesario. mTLS y firma de mensajes también exigen configuración dedicada.
Documentación y modalidad
Grey-box con especificación actualizada y credenciales por perfil es más eficiente y profundo que black-box, que gasta horas en descubrimiento. La inclusión de retest y la integración con pipeline DevSecOps también entran en el dimensionamiento.
Cuándo un pentest de API es exigido o esperado
Las APIs concentran los datos que la regulación protege. En varios sectores, la prueba de intrusión en APIs dejó de ser buena práctica y pasó a ser evidencia esperada por auditores, reguladores y clientes corporativos.
En el ecosistema de pagos, PCI DSS exige pruebas de intrusión periódicas sobre el entorno de datos de tarjeta, y las APIs que procesan o transmiten esos datos forman parte de ese alcance. La LGPD brasileña, a su vez, exige medidas técnicas aptas para proteger datos personales — y un pentest de API es la forma más directa de demostrar que los endpoints que exponen esos datos no permiten acceso indebido.
Para instituciones financieras en Brasil, las resoluciones del BACEN/CMN sobre seguridad cibernética, incluida la 4.893, establecen la política de seguridad y los controles esperados, mientras Open Finance Brasil define requisitos técnicos específicos para las APIs compartidas entre participantes. Vea nuestra página de seguridad en Open Finance para ese ecosistema.
Las APIs también son el canal por el cual agentes de IA y aplicaciones con LLM ejecutan acciones. Cuando un agente llama a su API con credenciales delegadas, las fallas de autorización ganan un nuevo vector de abuso — tratamos ese escenario en seguridad en agentes de IA.
Servicios relacionados
La API rara vez es el único activo. Estos servicios suelen combinarse con el pentest de API para cubrir la aplicación de extremo a extremo.
Ethical Hacking Test (EHT)
Pentest completo de aplicaciones web e infraestructura, con la API en el mismo alcance.
Pentest Mobile
Las apps Android e iOS consumen APIs — pruebe el cliente y el backend en conjunto.
Pentest Cloud
Gateways, funciones serverless e IAM que alojan y protegen sus APIs.
DevSecOps
Pruebas de API integradas al pipeline para encontrar fallas antes de producción.
Seguridad de Pagos
APIs de adquirencia, billeteras digitales y pagos instantáneos bajo la óptica de PCI DSS.
Pentest PCI DSS
Prueba de intrusión alineada al requisito de pentest de PCI DSS, con evidencia para el QSA.
Preguntas frecuentes sobre pentest de API
¿Cuál es la diferencia entre pentest de API y pentest web?
¿Necesito entregar documentación y credenciales para el pentest de API?
¿El pentest de API cubre GraphQL y gRPC o solo REST?
¿Cuánto tiempo toma un pentest de API?
¿El pentest de API sirve como evidencia para PCI DSS, BACEN o LGPD?
¿Quiere saber qué entrega su API a un atacante?
En una conversación de 30 minutos mapeamos endpoints, perfiles y protocolos de su alcance y proponemos el formato de pentest de API más eficiente para su caso.
Contáctenos