Pular para o conteúdo
Início / Serviços / Pentest de API
Pilar I · Offensive Security

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

•APIs REST, GraphQL, gRPC, SOAP e webhooks
•OWASP API Security Top 10 (2023) como base
•BOLA/IDOR, BFLA e autorização por propriedade
•OAuth 2.0, OpenID Connect, JWT, API keys e mTLS
•Rate limiting, abuso de fluxos e consumo de recursos
•Inventário de endpoints, versões antigas e shadow APIs
•Relatório com PoC reproduzível, CVSS e retest
Superfície de ataque

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.

API1 · BOLA

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.

API2 · Autenticação

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.

API3 · Propriedades

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.

API4 · Recursos

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.

API5 · BFLA

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.

API6 · Fluxos

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.

API7 · SSRF

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.

API8 · Configuração

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.

API9 · Inventário

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.

API10 · Terceiros

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.

Por protocolo

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.

REST · OpenAPI

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.

GraphQL · Schema

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.

gRPC · Protobuf

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 · Eventos

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.

Metodologia

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.

Fase 01

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.

Fase 02

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.

Fase 03

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.

Fase 04

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.

Fase 05

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.

Investimento

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.

Fator 01

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.

Fator 02

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.

Fator 03

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.

Fator 04

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.

Conformidade

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.

Perguntas frequentes

Perguntas frequentes sobre pentest de API

Qual a diferença entre pentest de API e pentest web?
O pentest web segue os fluxos que o navegador expõe; o pentest de API fala diretamente com o backend, testando cada operação com todos os perfis de acesso, inclusive endpoints que a interface não usa. O foco é autorização, lógica de negócio e rate limiting, e não apenas injeções.
Preciso fornecer documentação e credenciais para o pentest de API?
Não é obrigatório, mas é fortemente recomendado. Com OpenAPI, schema GraphQL ou arquivos .proto e credenciais de cada perfil, o teste cobre a matriz de autorização com profundidade em menos horas. Em black-box, parte do esforço vai para descoberta, o que reduz a cobertura de lógica.
O pentest de API cobre GraphQL e gRPC ou apenas REST?
Cobre os três, além de SOAP e webhooks. Cada protocolo tem casos de teste próprios: introspecção, batching e consultas aninhadas em GraphQL; reflexão, metadados e mTLS em gRPC; verbos, versionamento e mass assignment em REST. O tooling é ajustado ao escopo.
Quanto tempo leva um pentest de API?
Depende da quantidade de operações, de perfis de acesso e de protocolos no escopo. Uma API com poucas dezenas de endpoints e dois perfis é um projeto curto; plataformas multi-tenant com centenas de operações exigem semanas. Definimos o prazo na proposta, após o levantamento inicial.
O pentest de API serve como evidência para PCI DSS, BACEN ou LGPD?
Sim. O relatório traz metodologia, escopo, achados com CVSS, evidências reproduzíveis e resultado do retest, no formato que auditores e QSAs esperam. Para escopos regulados, alinhamos os casos de teste ao requisito específico antes de começar, evitando retrabalho na auditoria.

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