Skip to content

Exposição de Endpoints

A exposição indevida de endpoints ocorre quando a API revela mais informações do que o necessário sobre a estrutura do sistema, versões de software ou dados internos, facilitando o trabalho de um atacante durante a fase de reconhecimento.

Riscos Comuns

  • Endpoints de Debug: Esquecer rotas como /debug, /info ou /env ativas em produção.
  • Nomenclatura Previsível: Usar /admin/delete-all-users sem proteção adequada.
  • Vazamento de Estrutura: Mensagens de erro que revelam nomes de tabelas, colunas do banco ou stack traces do servidor.

Como fazer vs Como não fazer

✅ Como fazer

  • Utilize o princípio do Privilégio Mínimo: se um endpoint não é necessário para a funcionalidade pública, ele não deve estar acessível na rede pública.
  • Remova documentações de API (como o Swagger/OpenAPI UI) dos ambientes de produção, mantendo-os apenas em Staging/Dev ou atrás de autenticação forte.
  • Utilize nomes de rotas que descrevam o recurso, não a implementação técnica.

❌ Como não fazer

  • Não deixe rotas de teste ou "Mocks" ativas em produção.
  • Não retorne objetos do banco de dados (Models) diretamente na resposta da API; utilize DTOs (Data Transfer Objects) ou Mappers para enviar apenas os campos necessários ao Frontend.
  • Não utilize versões de software ou nomes de bibliotecas nos cabeçalhos de resposta (ex: X-Powered-By: Express).