Pentest em API: Checklist Completo
- Douglas Leal
- 3 de mai.
- 2 min de leitura
Atualizado: 14 de mai.

As APIs estão no coração de sistemas modernos, conectando aplicativos, bancos de dados, serviços em nuvem e muito mais. Justamente por isso, elas se tornaram alvos preferidos de atacantes. Um Pentest em API é fundamental para identificar brechas que poderiam permitir o vazamento de dados, manipulação de operações ou controle indevido do sistema.
Neste post, você confere um checklist prático e técnico para garantir a segurança da sua API — seja REST, WebSocket, GraphQL ou SOAP — de ponta a ponta.
O que é um Pentest em API?
O Pentest em API (Application Programming Interface) é uma avaliação de segurança ofensiva focada em identificar vulnerabilidades nas interfaces de comunicação entre sistemas. Ele simula ataques reais, analisando desde endpoints expostos até permissões e lógica de negócio.
É essencial tanto para backends de aplicativos mobile, quanto para SaaS, integrações com terceiros, plataformas IoT e serviços bancários.
Checklist Completo: O que analisar em um Pentest de API?
✅ 1. Descoberta de Endpoints
Verifique todos os endpoints disponíveis (documentados ou não).
Cuidado com APIs Shadow: APIs não documentadas que continuam ativas.
✅ 2. Autenticação
A API exige autenticação? (Bearer Token, OAuth2, JWT etc.)
Tokens estão expostos nos headers ou URLs?
Os tokens expiram corretamente? Há rotação?
Teste falhas de autenticação: brute force, replay de token, tokens inválidos.
✅ 3. Autorização
Um usuário pode acessar recursos de outro?
Teste mudanças em IDs (IDOR - Insecure Direct Object Reference).
Valide se usuários com permissões diferentes recebem respostas diferentes.
✅ 4. Validação de Entrada
A API valida corretamente os dados recebidos?
Teste inputs maliciosos: SQL Injection, XSS, XXE, NoSQL Injection.
Use payloads com campos inesperados ou manipulados.
✅ 5. Rate Limiting e Proteção contra Abusos
Há controle contra força bruta?
Existe limitação de chamadas por IP, usuário ou token?
O rate limit pode ser burlado com múltiplos headers ou proxies?
✅ 6. Exposição de Dados Sensíveis
Os dados retornados são minimizados?
Campos como CPF, senhas, tokens ou dados bancários estão protegidos?
Verifique inclusive logs de erro, onde dados sensíveis podem aparecer.
✅ 7. Versionamento e Segurança por Versão
A API tem versionamento claro? (ex: /v1/, /v2/)
As versões antigas ainda estão ativas?
Teste o fallback para endpoints deprecated ou mal protegidos.
✅ 8. Comunicação Segura (HTTPS)
Todo o tráfego passa por HTTPS?
Teste se o HTTP está redirecionando corretamente ou se responde indevidamente.
✅ 9. Segurança em Headers e CORS
Analise a política de CORS: há permissividade excessiva?
Headers como Content-Security-Policy, X-Frame-Options, Strict-Transport-Security estão presentes?
✅ 10. Documentação e Swagger
A documentação está exposta publicamente?
Há dados reais nos exemplos de uso da API?
Teste se a documentação pode ser manipulada para fuzzing de rotas.
Boas práticas durante o Pentest
Testar como usuário autenticado e não autenticado
Reproduzir chamadas em diferentes contextos (mobile, web, scripts)
Documentar todas as respostas anômalas
Validar falhas lógicas, não apenas técnicas
Conclusão
Um Pentest em API é mais do que uma simples análise de endpoints: ele é uma auditoria completa da forma como seu sistema comunica, protege e expõe informações.
Com o checklist acima, sua equipe técnica pode estruturar um processo eficiente de segurança em APIs, evitando falhas críticas e se antecipando a ataques cada vez mais sofisticados.