Voltar para o blog

Pentest de API: Quando Fazer, Escopo e Como Contratar

20/03/2023 13 min de leitura
Pentest de API: Quando Fazer, Escopo e Como Contratar

Resumo:

  • O Pentest de API é uma avaliação ofensiva específica para endpoints, autenticação, autorização, dados e fluxos de negócio expostos por APIs.
  • Testar apenas a aplicação web ou mobile não garante que a API tenha sido avaliada com a profundidade necessária.
  • Um bom escopo deve considerar tipos de API, ambientes, versões, perfis de usuário, tenants, integrações e fluxos críticos do negócio.
  • Documentação como OpenAPI/Swagger, coleções do Postman e contas de teste ajudam o pentester a aumentar a cobertura.
  • Antes de contratar, compare profundidade manual, experiência com autorização e lógica de negócio, qualidade das evidências, suporte à remediação e condições de reteste.

Realizar um pentest de API não é apenas apontar um scanner para os endpoints. 

As APIs conectam aplicações web, aplicativos mobile, parceiros, microsserviços, sistemas internos e serviços de terceiros. Em muitos produtos digitais, elas também concentram as operações mais sensíveis, como consultar dados, alterar cadastros, movimentar valores, aprovar ações e integrar sistemas.

Uma API pode estar tecnicamente disponível e funcionando exatamente como foi desenvolvida, mas ainda permitir que um usuário acesse o objeto de outro, invoque uma função administrativa ou abuse de um fluxo de negócio.

É por isso que o OWASP API Security Top 10 dá destaque a falhas de autorização, autenticação, consumo de recursos, inventário e abuso de fluxos sensíveis, problemas que dependem muito do contexto de uso da API.

Quando contratar um pentest de API?

O pentest de API faz mais sentido quando a empresa precisa validar a explorabilidade e o impacto, além de verificar se existem configurações ou dependências potencialmente inseguras.

Alguns gatilhos comuns são:

  • Antes de lançar uma API nova ou abrir endpoints para clientes e parceiros.
  • Após mudanças relevantes em autenticação, autorização ou modelo de permissões.
  • Quando a API passa a processar pagamentos, dados pessoais ou outras operações sensíveis.
  • Antes de integrar um aplicativo mobile, parceiro ou terceiro a uma API crítica.
  • Após mudanças arquiteturais importantes, migração para microsserviços ou cloud.
  • Quando o cliente, a auditoria ou o processo de compliance solicita uma avaliação independente.
  • Após incidentes, abuso de contas ou suspeita de exposição de dados.
  • Periodicamente, quando a API muda continuamente e concentra funções críticas do negócio.

Pentest de API e Pentest Web são a mesma coisa?

Não. Eles podem fazer parte do mesmo projeto, mas o escopo e a forma de testar são diferentes.

Aspecto Pentest Web Pentest de API
Superfície principal Aplicação acessada pelo navegador Endpoints e operações expostas pela API
Interação Fluxos pela interface e requisições da aplicação Chamadas diretas, parâmetros, objetos e métodos
Autorização Papéis e funções visíveis na aplicação Autorização por objeto, propriedade e função em cada endpoint
Lógica de negócio Fluxos da interface Sequências de chamadas e regras expostas diretamente pela API
Inventário Páginas e funcionalidades da aplicação Versões, endpoints documentados, shadow/zombie APIs e documentação
Integrações Recursos consumidos pela aplicação APIs de terceiros, webhooks, serviços internos e consumidores

Como atacantes podem interagir diretamente com APIs ignorando a interface web, o pentest web sozinho não garante cobertura completa das APIs.

O que deve entrar no escopo de um Pentest de API?

O escopo não deve ser definido apenas pelo número de endpoints. Duas APIs com a mesma quantidade de rotas podem exigir esforços muito diferentes dependendo de papéis, tenants, integrações e da complexidade do negócio.

  • Tipos e protocolos de API

É importante identificar se o ambiente usa REST, GraphQL, gRPC ou outros padrões, além de versões e gateways envolvidos. Cada arquitetura muda a forma de mapear operações e de testar o comportamento da API.

  • Ambientes e URLs

Produção, homologação, staging e versões antigas podem ter controles diferentes. O escopo deve registrar claramente quais hosts e ambientes estão autorizados para teste.

  • Autenticação

O pentester precisa entender como os usuários, serviços e parceiros se autenticam: tokens, OAuth/OIDC, API keys, JWT, certificados ou outros mecanismos.

  • Perfis, permissões e tenants

Esse é um dos pontos mais importantes. Se a API possui um usuário comum, administrador, parceiro, operador ou múltiplos tenants, o teste precisa considerar esses papéis. Sem isso, é difícil validar adequadamente falhas de autorização.

  • Fluxos críticos de negócio

Operações sensíveis, como pagamentos, transferências, cupons e aprovações, precisam estar mapeadas. O Pentest deve testar não apenas endpoints isolados, mas também se a sequência dessas chamadas pode ser manipulada. 

  • Integrações e dependências

Webhooks, APIs de terceiros, serviços internos, gateways e chamadas para cloud podem alterar o risco. O OWASP inclui o consumo inseguro de APIs de terceiros entre os principais riscos atuais de API.

Que informações ajudam o Pentest a ter mais cobertura?

Em muitos projetos, fornecer documentação e contas de teste aumenta a qualidade da avaliação. Isso permite que o especialista gaste menos tempo descobrindo informações que a equipe já conhece e mais tempo tentando quebrar os controles.

  • URLs e hosts autorizados.
  • Documentação OpenAPI/Swagger.
  • Coleções do Postman ou exemplos de requests.
  • Descrição dos principais fluxos de negócio.
  • Contas de teste para diferentes perfis e, quando aplicável, diferentes tenants.
  • Forma de autenticação e tokens necessários.
  • Lista de endpoints críticos ou integrações prioritárias.
  • Limites operacionais, rate limits e ações que não podem ser executadas.
  • Contato para comunicação durante o projeto.

Para APIs com autorização complexa, um cenário autenticado costuma ser essencial para testar o que cada papel consegue fazer depois do login.

Black Box, Gray Box ou White Box: qual abordagem faz mais sentido para a API?

Abordagem Como funciona Quando pode fazer sentido
Black Box Pouca ou nenhuma informação prévia Para avaliar a exposição pública e o que um atacante externo consegue descobrir sozinho
Gray Box Documentação parcial e contas com diferentes papéis Muito útil para testar autenticação, autorização e lógica de negócio com boa cobertura
White Box Acesso amplo à arquitetura, documentação e, em alguns casos, código Quando o objetivo é maximizar cobertura e aprofundar hipóteses de risco

Nenhuma abordagem é universalmente superior. O nível de informação precisa corresponder à pergunta que a empresa quer responder e ao objetivo do teste.

O que um bom Pentest de API precisa testar?

O OWASP API Security Top 10 é uma referência importante, mas uma avaliação madura não deveria ser somente uma checklist. O tester precisa relacionar as categorias de risco à arquitetura e ao modelo de negócio.

Frente Exemplos de teste Risco que procura validar
Autenticação Tokens, expiração, revogação, força bruta e recuperação de conta Tomada de conta e uso indevido de identidade
Autorização por objeto Troca de IDs, tenants e objetos entre usuários BOLA: acesso a dados de outro usuário
Autorização por função Chamadas administrativas com perfis comuns BFLA: execução de ações sem privilégio
Propriedades de objetos Leitura ou alteração de campos não permitidos Exposição excessiva ou mass assignment
Recursos e rate limiting Automação, payloads, paginação ou chamadas repetidas DoS, custos indevidos e força bruta
Fluxos de negócio Abuso de sequência, compra, cupom, limite ou aprovação Fraude sem necessidade de um bug técnico clássico
SSRF e integrações URLs, webhooks e destinos controlados pelo usuário Acesso a recursos internos ou cloud
Configuração CORS, TLS, métodos, erros e endpoints de debug Exposição por configuração inadequada
Inventário Versões antigas, endpoints ocultos e ambientes expostos Shadow/zombie APIs fora do controle do time
Terceiros Respostas e dados consumidos de parceiros Confiança indevida em APIs externas

Por que scanner e DAST não substituem Pentest de API?

Ferramentas automatizadas ajudam a encontrar padrões conhecidos, testar inputs, fuzzar endpoints e identificar regressões de forma frequente.

O problema aparece quando o risco depende de contexto. Uma ferramenta automatizada pode confirmar que uma requisição funcionou, mas não necessariamente entender que o usuário A conseguiu acessar o pedido do usuário B ou que uma sequência legítima de ações permite manipular um desconto.

A automação amplia a cobertura, enquanto uma análise manual valida o contexto, a lógica e o impacto.

Como funciona um pentest de API?

O processo varia conforme o fornecedor e o escopo, mas um projeto bem estruturado costuma passar pelas seguintes etapas.

  • Kick-off e definição de escopo

Alinhar APIs, ambientes, regras, perfis, restrições e objetivos.

  • Descoberta e enumeração

Mapear endpoints, documentação, versões, métodos e superfícies não óbvias.

  • Análise de autenticação e autorização

Testar tokens, papéis, objetos, propriedades e funções.

  • Exploração e lógica de negócio

Validar vulnerabilidades e caminhos de abuso com segurança e evidência.

  • Pós-exploração e impacto

Entender até onde um finding permite avançar e quais dados ou ações ficam expostos.

  • Relatório e remediação

Documentar achados, evidências, impacto e recomendações.

  • Reteste

Confirmar se as correções realmente eliminaram a exploração.

O que define o esforço e o orçamento de um Pentest de API?

A quantidade de endpoints é relevante, mas não é o único fator. Para comparar propostas, é preciso entender o que realmente está por trás desse número.

  • Quantidade de APIs e versões.
  • Número de endpoints e operações.
  • Quantidade de perfis e níveis de privilégio.
  • Arquitetura multi-tenant.
  • Complexidade dos fluxos de negócio.
  • REST, GraphQL, gRPC ou combinação de tecnologias.
  • Quantidade de ambientes.
  • Integrações com terceiros.
  • Necessidade de testar autenticação complexa ou certificados.
  • Escopo de reteste e suporte à remediação.

Duas propostas para 100 endpoints podem representar esforços muito diferentes se uma API possuir um único papel simples e a outra tiver múltiplos tenants, perfis, pagamentos e integrações externas.

O que exigir de um fornecedor antes de contratar

Um pentest de API é difícil de comparar apenas por preço ou prazo. Antes de decidir, verifique se a proposta deixa claro:

  • Quantas horas ou qual esforço de execução está previsto.
  • Quem serão os profissionais envolvidos e qual experiência têm com API security.
  • Quais tipos de API e mecanismos de autenticação o time domina.
  • Se o teste inclui análise manual de autorização e lógica de negócio.
  • Como o fornecedor define e valida o escopo.
  • Quais metodologias e referências são utilizadas.
  • Como os achados serão demonstrados no relatório.
  • Se há suporte para dúvidas de remediação.
  • Como funciona o reteste e por quanto tempo ele fica disponível.

O que deve existir no relatório de Pentest de API?

  • Descrição clara da vulnerabilidade.
  • Endpoint, método e contexto afetados.
  • Evidência de exploração.
  • Pré-condições e perfil utilizados.
  • Impacto técnico e de negócio.
  • Classificação de severidade.
  • Passos para reproduzir quando apropriado.
  • Recomendação de correção.
  • Resumo executivo para priorização.
  • Status de reteste após a remediação.

O relatório precisa mostrar o que foi, de fato, validado no ambiente.

Quando repetir o Pentest de API?

Não existe uma frequência única para todas as empresas. A periodicidade deve considerar criticidade, velocidade de mudança e gatilhos específicos.

  • Após grandes mudanças de arquitetura.
  • Depois de novos fluxos de autenticação ou autorização.
  • Quando APIs críticas ou novos parceiros entram em produção.
  • Após mudanças relevantes em pagamentos ou dados sensíveis.
  • Depois de incidentes.
  • Quando compliance, cliente ou contrato exige nova evidência.
  • Em ciclos periódicos definidos pelo risco do ambiente.

Como a Vantico realiza Pentest em APIs

A Vantico executa o pentest em APIs REST, GraphQL e gRPC com análise manual orientada pelo contexto do ambiente, usando o OWASP API Security Top 10 como referência, mas sem limitar o projeto a uma checklist.

Além de encontrar vulnerabilidades conhecidas, nossa avaliação busca falhas de autorização, exposição de dados e problemas de lógica de negócio que exigem raciocínio adversarial.

Depois da correção, a Vantico oferece reteste ilimitado por 90 dias sem custo adicional, permitindo validar novos ciclos de remediação dentro da janela do projeto.

Conheça o serviço de Pentest em APIs da Vantico.

FAQ: Perguntas Frequentes sobre Pentest de API

O que é Pentest de API?

É uma avaliação ofensiva que testa endpoints, autenticação, autorização, dados e fluxos de negócio de uma API para identificar e validar vulnerabilidades exploráveis.

Pentest Web inclui Pentest de API?

Não necessariamente. As avaliações podem ser combinadas, mas APIs possuem riscos, endpoints e fluxos próprios que precisam de escopo e testes específicos.

É preciso fornecer Swagger para o Pentest?

Não é obrigatório em todo cenário, mas a documentação OpenAPI/Swagger pode aumentar a cobertura e liberar mais tempo para análise de segurança. A decisão depende do tipo de abordagem escolhida.

Qual abordagem é melhor: black box ou gray box?

Depende do objetivo. O black box mede o que um atacante externo descobre sozinho, enquanto o gray box costuma oferecer mais cobertura para autorização e lógica de negócio, porque permite testar diferentes papéis autenticados.

Scanner de API substitui Pentest?

Não. Os scanners ajudam a automatizar verificações e encontrar padrões conhecidos, mas têm limitações para interpretar autorização, contexto e abuso de lógica de negócio.

Quanto tempo dura um pentest de API?

Depende de endpoints, perfis, tenants, tecnologias, fluxos de negócio, ambientes e integrações. O esforço deve ser definido a partir do escopo, não apenas de um prazo padrão.

Pentest de API precisa de reteste?

Sim, quando há correções de vulnerabilidades, é importante validar se a exploração deixou de ser possível e se a mudança não criou um novo problema.


Kaique Bonato Kaique Bonato

Agende uma demonstração com a Vantico

Agendar demonstração