Vou auditar seu supabase rls e descobrir o vazamento de dados que seu linter não consegue ver

C
cengo3509
C
cengo3509
Cenk Kurtoglu
Algumas informações foram traduzidas automaticamente.

Sobre este Serviço

Tradução automática

Seu linter do Supabase diz que está tudo bem. Isso não significa que esteja seguro.


O linter verifica se as políticas existem. Ele não verifica se estão corretas. Eu leio as próprias políticas e encontro vazamentos que passam por todas as verificações automatizadas.


O QUE EU PROCUREI


- USAR (true) sem restrição de papel, fazendo com que anon herde o acesso destinado a usuários logados

- Tabelas de join e de membros que não são isoladas, permitindo que um inquilino acesse as linhas de outro inquilino

- Chaves de papel de serviço acessíveis pelo código do cliente, o que ignora completamente o RLS

- Políticas permissivas que silenciosamente cancelam as restritivas

- RLS ativado sem nenhuma política, ou buckets de armazenamento abertos


O QUE VOCÊ RECEBE


Um relatório de cada descoberta real, classificada por gravidade, com o SQL exato que reproduz o problema no seu banco de dados. Se suas políticas forem sólidas, eu digo isso claramente, ao invés de inventar problemas.


O pacote padrão adiciona políticas corrigidas como migrações prontas para rodar. O pacote premium inclui uma suíte pgTAP que falha na política vulnerável e passa na correção.


Acesso somente leitura ou um dump do esquema já é suficiente.


Eu publico uma demonstração reproduzível de vazamento de RLS e sua correção no GitHub, e a equipe de segurança do Supabase confirmou minha análise de um problema real. Me envie uma mensagem primeiro.

Conheça mais sobre Cenk Kurtoglu

Cenk Kurtoglu

Supabase RLS security audits

  • A partir deTurquia
  • Membro desdejun. de 2024
  • Idiomas

    Turco, Inglês
I audit Supabase authorization boundaries for teams shipping on Lovable, Bolt, Cursor and Replit. The generated SQL is usually valid. What it misses is whether a policy that exists is actually correct: a permissive policy quietly cancelling a restrictive one, a membership join that is not isolated, or a service-role key reachable from a client path. All three pass Supabase's free linter, and all three pass tests written from a single account. I work from read-only access or a sanitized schema dump. I never need your service-role key.

Tradução automática