SB-005Críticodata-store

RLS bloqueia INSERT pela chave anônima

Sonda de INSERT com payload mínimo para confirmar que a role anon não pode criar linhas em tabelas sensíveis.

Por que importa

INSERT aberto permite criar registros falsos, inflar rankings, forjar pagamentos — e em muitos casos desbloqueia UPDATE/DELETE indiretos via triggers.

Como corrigir

Políticas `FOR INSERT` explícitas com `WITH CHECK (auth.uid() = user_id)` ou equivalente. Nunca use `WITH CHECK (true)`.

Verificar a correção

SB-005 · verifynão-destrutivo
curl -s -o /dev/null -w '%{http_code}' \
  -X POST "$SUPABASE_URL/rest/v1/<tabela>" \
  -H "apikey: $ANON_KEY" -H "Authorization: Bearer $ANON_KEY" \
  -H 'Content-Type: application/json' -H 'Prefer: return=minimal' \
  -d '{"__veloz_audit_nonexistent__":true}'

Referências