Pentest de API REST, GraphQL e gRPC
Pentest de API é o teste de invasão de interfaces REST, GraphQL e gRPC que explora falhas de autorização (BOLA), autenticação, mass assignment, exposição de dados e ausência de rate limiting, seguindo o OWASP API Security Top 10, para provar com evidências o que um atacante obteria a partir dos seus endpoints.
O que é um pentest de API e por que ele difere do pentest web
O pentest de API é um teste de segurança de API conduzido sob a ótica de um atacante que fala diretamente com o backend, sem passar pela interface gráfica. Enquanto o pentest web tradicional segue os fluxos que o navegador expõe, o teste de API examina cada operação documentada — e as não documentadas — como um contrato: quem pode chamar, com quais parâmetros, sobre quais objetos e com que frequência.
Essa diferença importa porque as falhas mais comuns em APIs não são injeções clássicas, e sim erros de lógica de autorização: um endpoint que devolve o pedido de outro cliente ao trocar um identificador, um campo interno aceito no corpo de um PUT, uma mutation GraphQL sem verificação de papel. Scanners raramente encontram essas falhas, porque elas exigem entender o modelo de negócio de cada recurso. Por isso a Berghem combina automação para inventário com exploração manual para autorização, lógica e encadeamento de vulnerabilidades.
O pentest de API pode ser contratado isoladamente ou como parte do Ethical Hacking Test (EHT), quando a aplicação web ou mobile que consome a API também está no escopo.
O que está incluso
O que testamos: as dez categorias do OWASP API Security Top 10
Cada categoria do OWASP API Security Top 10 vira um conjunto de casos de teste executados em todos os endpoints do escopo, com todos os perfis de acesso. Abaixo, o que buscamos em cada uma.
Broken Object Level Authorization
Trocamos identificadores de objetos (pedidos, contas, documentos) entre sessões de clientes distintos e verificamos se o backend valida a propriedade do recurso — a falha mais frequente em APIs e a que mais expõe dados pessoais em escala.
Broken Authentication
Avaliamos emissão e validação de tokens JWT (algoritmo, assinatura, expiração, claims), fluxos OAuth 2.0 e OIDC, API keys estáticas, refresh tokens, recuperação de senha e proteção contra credential stuffing e brute force no login.
Autorização por propriedade e mass assignment
Testamos se o cliente consegue ler ou gravar campos indevidos: preço de um pedido, papel de um usuário, status de uma aprovação. O mass assignment ocorre quando o backend mapeia o corpo da requisição direto no modelo, sem lista de campos permitidos.
Consumo de recursos e rate limiting
Medimos limites de requisições por cliente, tamanho de payload, paginação, uploads e operações caras. Sem rate limiting, um atacante enumera dados, força OTPs curtos e gera custos de infraestrutura ou de serviços pagos por chamada.
Broken Function Level Authorization
Chamamos operações administrativas e de outros perfis (aprovar, estornar, exportar, excluir) com credenciais comuns, alterando método HTTP, caminho ou versão, para verificar se o controle de acesso é aplicado por função e não apenas na interface.
Acesso irrestrito a fluxos sensíveis
Analisamos fluxos de negócio que podem ser abusados quando automatizados — compra, cadastro, cupom, reserva, indicação — e verificamos controles contra bots e uso em massa, além da proteção da sequência esperada entre etapas.
Server-Side Request Forgery
Onde a API recebe URLs (webhooks, importação, preview), verificamos se o servidor pode ser induzido a acessar redes internas, metadados de nuvem ou serviços não expostos — vetor recorrente de escalonamento em ambientes cloud.
Security Misconfiguration
Cobrimos CORS permissivo, erros detalhados, métodos HTTP desnecessários, TLS fraco, cabeçalhos ausentes, introspecção GraphQL ativa em produção, Swagger exposto e configurações padrão de gateways e frameworks.
Improper Inventory Management
Mapeamos versões antigas (/v1 ainda no ar), homologação alcançável, endpoints sem documentação e integrações esquecidas. Shadow APIs e zombie APIs costumam manter falhas já corrigidas na versão atual.
Consumo inseguro de APIs
Verificamos como a sua API trata dados de parceiros e provedores: validação, limites de redirecionamento, confiança em respostas não verificadas. Uma integração comprometida não deve virar caminho direto para o seu backend.
Como o teste muda entre REST, GraphQL e gRPC
As categorias do OWASP são as mesmas, mas a forma de explorá-las depende do protocolo. Ajustamos ferramentas, casos de teste e critérios de cobertura a cada estilo de API do escopo.
APIs REST
Partimos da especificação OpenAPI/Swagger ou de coleções Postman para gerar a matriz endpoint × método × perfil. O foco é BOLA/IDOR, mass assignment em PUT/PATCH, manipulação de verbos, versionamento e cache de respostas autenticadas.
APIs GraphQL
Testamos introspecção e schema exposto, autorização por campo e por resolver, aliasing e batching para contornar rate limiting, consultas aninhadas que esgotam o servidor, mutations sem verificação de papel e vazamento por relações entre tipos.
APIs gRPC
Avaliamos reflexão do servidor, definições .proto, autenticação por metadados, TLS e mTLS, autorização em streams bidirecionais e desserialização de mensagens. Ferramentas web comuns não cobrem gRPC, por isso usamos tooling específico.
Webhooks, SOAP e APIs de parceiros
Cobrimos assinatura e replay de webhooks, validação de origem, SOAP com WS-Security e XML, e APIs expostas a parceiros e fintechs — incluindo os requisitos técnicos do Open Finance Brasil quando aplicáveis.
Como conduzimos um pentest de API
Um pentest de API bem feito é majoritariamente manual e orientado por perfis de acesso. Preferimos o modo grey-box, com documentação e credenciais de cada papel, porque é assim que falhas de autorização aparecem com profundidade.
Escopo e documentação
Levantamos endpoints, versões, ambientes, perfis, tenants e integrações. Recebemos OpenAPI, schemas GraphQL, arquivos .proto ou coleções Postman e definimos janelas de teste, contas por perfil e canal para achados críticos.
Reconhecimento e inventário
Comparamos o que está documentado com o que responde de fato: rotas ocultas, versões anteriores, parâmetros não listados, homologação alcançável. É aqui que surgem as shadow APIs que ninguém lembra que existem.
Autenticação e sessão
Analisamos o ciclo de vida das credenciais: emissão, escopo e validação de tokens, rotação de refresh tokens, revogação, políticas de senha e OTP, e a reação da API a tokens expirados, alterados ou de outro cliente.
Autorização e lógica de negócio
Executamos a matriz completa de autorização horizontal (entre clientes) e vertical (entre papéis) em cada operação, seguida de abuso de fluxos, mass assignment, race conditions e encadeamento de falhas para demonstrar impacto real.
Relatório e retest
Cada achado traz requisição e resposta reproduzíveis, CVSS, impacto de negócio e recomendação específica para o framework em uso. Após a correção, retestamos e emitimos evidência de encerramento para auditoria ou cliente final.
O que determina o custo e o prazo de um pentest de API
O esforço de um teste de segurança de API é dimensionado pela superfície e pela complexidade do modelo de autorização, não pelo número de sistemas. Estes fatores pesam mais na proposta.
Quantidade de operações
Endpoints × métodos em REST, queries e mutations em GraphQL, serviços e métodos em gRPC. Cada operação é testada com todos os perfis, por isso o número de operações é o principal multiplicador de horas.
Perfis, tenants e papéis
Quanto mais papéis (cliente, operador, administrador, parceiro) e mais isolamento entre tenants o negócio exige, maior a matriz de autorização a percorrer — e maior a chance de encontrar BOLA e BFLA relevantes.
Protocolos e autenticação
Misturar REST, GraphQL e gRPC no mesmo escopo, ou usar fluxos OAuth com múltiplos provedores de identidade, aumenta preparação e tooling. mTLS e assinatura de mensagens também exigem configuração dedicada.
Documentação e modalidade
Grey-box com especificação atualizada e credenciais por perfil é mais eficiente e profundo que black-box, que gasta horas em descoberta. Retest e integração com pipeline DevSecOps também entram no dimensionamento.
Quando um pentest de API é exigido ou esperado
APIs concentram os dados que a regulação protege. Em vários setores, o teste de invasão em APIs deixou de ser boa prática e passou a ser evidência esperada por auditores, reguladores e clientes corporativos.
No ecossistema de pagamentos, o PCI DSS exige testes de invasão periódicos sobre o ambiente de dados de cartão, e as APIs que processam ou transmitem esses dados entram nesse escopo. A LGPD exige medidas técnicas aptas a proteger dados pessoais — e um pentest de API é a forma mais direta de demonstrar que os endpoints que expõem esses dados não permitem acesso indevido.
Para instituições financeiras, as resoluções do BACEN/CMN sobre segurança cibernética, incluindo a 4.893, definem a política e os controles esperados, enquanto o Open Finance Brasil impõe requisitos técnicos às APIs compartilhadas entre participantes. Veja nossa página de segurança em Open Finance para o recorte desse ecossistema.
APIs também são o canal pelo qual agentes de IA e aplicações com LLM executam ações. Quando um agente chama a sua API com credenciais delegadas, falhas de autorização ganham novo vetor de abuso — veja segurança em agentes de IA.
Serviços relacionados
A API raramente é o único ativo. Estes serviços costumam acompanhar o pentest de API para cobrir a aplicação de ponta a ponta.
Ethical Hacking Test (EHT)
Pentest completo de aplicações web e infraestrutura, com a API incluída no mesmo escopo.
Pentest Mobile
Apps Android e iOS consomem APIs — teste o cliente e o backend em conjunto.
Pentest Cloud
Gateways, funções serverless e IAM que hospedam e protegem as suas APIs.
DevSecOps
Testes de API integrados ao pipeline para encontrar falhas antes de chegar em produção.
Segurança de Pagamentos
APIs de adquirência, carteiras digitais e PIX sob a ótica do PCI DSS.
Pentest PCI DSS
Teste de invasão alinhado ao requisito de pentest do PCI DSS, com evidência para o QSA.
Perguntas frequentes sobre pentest de API
Qual a diferença entre pentest de API e pentest web?
Preciso fornecer documentação e credenciais para o pentest de API?
O pentest de API cobre GraphQL e gRPC ou apenas REST?
Quanto tempo leva um pentest de API?
O pentest de API serve como evidência para PCI DSS, BACEN ou LGPD?
Quer saber o que a sua API entrega a um atacante?
Em 30 minutos, mapeamos endpoints, perfis e protocolos do seu escopo e propomos o formato de pentest de API mais eficiente para o seu caso.
Fale Conosco