Skip to content

[HIGH] Desabilitar documentação Swagger/ReDoc da embeddings-api em produção #114

@cesarsv

Description

@cesarsv

User Story

Como responsável pela segurança da API,
Quero desabilitar a documentação técnica (Swagger/ReDoc) do embeddings-api em produção,
Para que atacantes não tenham acesso a um mapa completo dos endpoints e parâmetros da API.

Contexto

Durante pentest realizado pelo CPQD (17/03/2026), foi identificada exposição pública de documentação técnica da embeddings-api sem autenticação.

Vulnerabilidade: [V05] - Exposição de Documentação Técnica de API
Severidade: Médio (CVSS 6.5)
Referência: Relatório CPQD INSPIRE-M7-Destaquesgovbr (pág. 25-27)

Endpoints expostos:

  • `/docs` - Swagger UI
  • `/redoc` - ReDoc UI
  • `/openapi.json` - Especificação OpenAPI completa

Impacto:

  • Reconhecimento Facilitado: Fornece roteiro completo de métodos, parâmetros e esquemas de dados
  • Descoberta de Endpoints Ocultos: Exposição de rotas de integração sem referências públicas
  • Footprinting: Facilita planejamento de ataques direcionados

URLs afetadas:
```
https://destaquesgovbr-embeddings-api-990583792367.southamerica-east1.run.app/docs
https://destaquesgovbr-embeddings-api-990583792367.southamerica-east1.run.app/redoc
https://destaquesgovbr-embeddings-api-990583792367.southamerica-east1.run.app/openapi.json
```

Critérios de Aceite

  • Swagger UI desabilitado em produção via variável de ambiente `DOCS_ENABLED=false`
  • ReDoc desabilitado em produção
  • Endpoint `/openapi.json` desabilitado ou protegido por autenticação
  • Documentação mantida acessível apenas em ambiente de desenvolvimento local
  • Teste de validação: acesso a `/docs` deve retornar HTTP 404 em produção
  • Teste de validação: `/docs` continua funcionando em dev/local

Dependências

  • FastAPI application settings
  • Variáveis de ambiente no Cloud Run
  • Relacionada: docs#23 (Epic Segurança & IAM)

Metadata

Metadata

Labels

bugSomething isn't workingsize:XSExtra pequeno (~1h)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions