Skip to content

MVP Security Review

Esta revisão cobre o MVP do standard-api-standard para staging controlado com dados sintéticos. O foco é validar guardrails mínimos antes de deploy interno: autenticação, autorização, tenant isolation, approval gates, upload security, prompt injection defenses, secure logging, auditability, CI e proteção de deploy.

Fora do escopo:

  • pentest externo;
  • dados reais de cliente;
  • produção pública;
  • auth enterprise completa;
  • validação de recursos Cloudflare reais em runtime.

Ameaças principais:

  • cross-tenant data access;
  • approval gate bypass;
  • mapping SCF oficial inventado por LLM;
  • prompt injection via documentos/evidências;
  • vazamento de documentos, chunks, prompts, tokens ou secrets em logs;
  • abuso de upload;
  • endpoints admin expostos sem proteção;
  • deploy production acidental;
  • uso de resources production por ambiente local/staging.
  • API Gateway /api/v1.
  • Endpoints de upload, KB search, workflows, approvals, agents, reports e SCF admin.
  • Workers de ingestion, queues, KB e reporting.
  • Cloudflare bindings R2, Queues, Vectorize, KV e Workflows.
  • GitHub Actions e deployment workflows.
  • Fixtures/evals/golden outputs.
  • Logs, audit events e security events.
  • RBAC route-level com permissões explícitas em rotas críticas.
  • Tenant resolution e tenant guard.
  • Rejeição de tenant mismatch.
  • Secure error responses com trace_id.
  • Upload validation por tamanho, extensão, MIME, assinatura e filename normalization.
  • Prompt security com conteúdo de KB tratado como untrusted_evidence.
  • Tool allowlist e bloqueio de approval tools por default.
  • Schema validation de outputs de agentes.
  • Guardrail contra mappings oficiais inferidos.
  • Approval gates obrigatórios no assessment engine/workflows.
  • Logs estruturados com redaction para campos sensíveis.
  • Audit/security events para auth, tenant e RBAC failures.
  • .env.example com placeholders.
  • Lint básico para secrets óbvios.
  • Production deploy manual com environment production.
  • Auth real JWT/API key/Cloudflare Access.
  • Membership/assignment real por assessment.
  • Rate limiting enforcement real.
  • Malware scanning real.
  • Persistência de audit/security events.
  • WAF/Access policy aplicada em ambiente real.
  • CORS production explícito sem wildcard.
  • Backup/restore e retention policies.
  • SIEM/SOC integration.
  • External security test/pentest.
RiscoSeveridadeStatus
Auth real ainda é placeholderAltaBloqueia produção pública; aceito apenas para staging interno protegido.
Rate limiting é placeholderMédia/AltaAceito em staging sintético; P0 antes de produção.
Audit/security events in-memory em runtime localAltaP0 antes de produção.
Malware scanning placeholderMédiaP0/P1 antes de aceitar documentos reais.
Cloudflare smoke tests reais pendentesMédiaExigir em staging antes de avançar.
packages/maturity dedicado ausenteMédiaNão bloqueia staging; limitar promessa funcional.
  • Testes padrão não usam LLM real.
  • Staging usa dados sintéticos.
  • Vectorize é auxiliar e não fonte normativa.
  • mock_dev é aceitável apenas local/test e staging interno protegido enquanto auth real não existe.
  • Terraform/Pulumi não é obrigatório no MVP, mas entra no backlog.
  1. Implementar auth real e desligar mock_dev.
  2. Persistir audit/security events com retenção.
  3. Implementar rate limiting real.
  4. Configurar Cloudflare Access/Zero Trust para admin/internal.
  5. Executar smoke tests Cloudflare reais.
  6. Formalizar backup/restore.
  7. Adicionar malware scanning para uploads reais.
  8. Configurar WAF, CORS production e alertas SOC.
  9. Executar revisão legal/privacy.
  10. Realizar security review externo ou pentest focado.
  • Sem secrets reais conhecidos em .env.example.
  • Lint básico escaneia padrões de secrets.
  • Tenant mismatch bloqueado.
  • RBAC testado.
  • Approval gates testados.
  • Prompt injection tratado como evidência não confiável.
  • Agent Runtime não aprova artefatos finais.
  • SCF mapping oficial não é inferido.
  • Redaction testada.
  • Production deploy manual.
  • Auth real implementado.
  • Rate limiting real implementado.
  • Malware scanning real implementado.
  • Audit log persistente implementado.
  • WAF/Access production aplicado.

O MVP é aceitável para staging controlado com dados sintéticos, desde que o ambiente esteja protegido e sem exposição pública ampla. Não é production-ready para dados reais de cliente. Qualquer tentativa de uso com dados reais deve ser classificada como No-Go até auth real, persistência auditável, rate limiting, backup/restore e controles operacionais estarem concluídos.