Skip to content

[openaudit-search-api] Rate limiting e proteções anti-enumeração no /search #14

Description

@4lessandrodev

Repo: openaudit-search-api

Tags: priority:high type:feature area:security

Visão geral

Impedir abuso (enumeração e varredura massiva) e reduzir risco reputacional/jurídico.

Contexto

Busca por pessoas é sensível. Mesmo sem PII, um endpoint de busca pode ser usado para enumeração. O projeto pede mitigação ativa contra uso indevido.

Descrição

Adicionar rate limiting no /search:

  • Janela padrão: 60s
  • Máximo padrão: 60 req/min por IP (configurável)
  • Resposta 429 com payload mínimo

Adicionar limites:

  • limit max 25
  • offset max (ex.: 1000) para evitar varredura

Adicionar logs:

  • evento rate_limit.hit

Testes:

  • exceder limite retorna 429
  • config altera limites

Observação: sem bloquear uso legítimo, mas dificultar scraping massivo.

Impacto

Reduz superfície de abuso e melhora postura defensiva do projeto, alinhado com a política de risco.

Referências

Definição de pronto

  • Rate limiting ativo e configurável
  • 429 retornado corretamente ao exceder
  • Logs registram bloqueios sem PII
  • Testes automatizados cobrindo cenário

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions