Skip to content

[P3][security] api/routes.py: gate de /docs /redoc /openapi.json quando require_api_key off #1136

Open

Description

@FabioLeitao

U: U3 — backlog de hardening; sem pressão de deadline.
G: G1 — information disclosure do schema da API; impacto limitado à postura default sem auth.

Contexto (auditoria 2026-07-02)

A instância FastAPI(...) é criada sem gating de docs_url/redoc_url/openapi_url. Com require_api_key desligado, o schema interativo completo da API fica publicamente enumerável. Com a key ligada, o middleware protege as rotas, então o impacto se concentra na postura default sem auth.

Fix recomendado

  • Desabilitar docs_url/redoc_url/openapi_url por default quando não há auth, ou colocá-los atrás da mesma auth das demais rotas.
  • Manter um opt-in explícito para dev (quem quer o Swagger local).

Critérios de aceite

  • /docs, /redoc, /openapi.json inacessíveis sem auth (ou apenas sob opt-in explícito de dev).
  • Teste cobrindo os dois estados.
  • check-all verde.

Milestone sugerido: v1.8.0.
Liga: #1135 (bind não-loopback sem auth — postura default sem auth, mesma auditoria).

Opened by Claude (readonly auditor) — Cursor implements.

Activity

  1. self-assigned this
    on Aug 20, 2026
  2. added this to the v1.8.4 milestone on Aug 29, 2026
  3. added theissue type on Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P3Low — backlog / nice-to-have

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions