Multi-tenancy é o coração de todo SaaS. É também onde mora a vulnerabilidade mais comum em sistemas construídos no modelo "Vibe Coding".
A IA foca no "Caminho Feliz". Ela escreve um código que busca o registro pelo ID, mas frequentemente esquece de perguntar: "Este registro pertence a este usuário?"
O nome disso é IDOR (Insecure Direct Object Reference).
Se eu mudar o ID na URL de 42 para 43 e conseguir ler os dados do seu outro cliente, seu SaaS não é um bunker; é uma peneira.
Como Blindar sua Arquitetura:
-
Ownership Obrigatório: Toda query deve incluir o user_id autenticado como condição. Não filtre só pelo ID do recurso.
-
O Teste do 404: Se o recurso não pertence ao usuário, não diga "Acesso Negado" (403). Diga "Não Encontrado" (404). Não confirme que o dado existe.
-
RLS (Supabase): Se você usa Supabase, o Row Level Security é sua melhor defesa, mas ele precisa ser auditado tabela por tabela. Não assuma que está ligado.
