O que a análise encontrou

Uma empresa de gestão imobiliária pediu a uma ferramenta de IA uma app que resumisse a sua caixa de correio, e a app que recebeu publicou esses resumos, com dados dos inquilinos, para quem abrisse o endereço certo. É um dos casos que a empresa alemã de segurança Crissy Field descreveu esta semana, depois de retirar do arquivo Common Crawl 159.041 projetos criados na Lovable, a plataforma sueca de vibe coding, e de perguntar a cada base de dados o que entregaria a um estranho.

ResultadoNúmero
Projetos da Lovable analisados159.041
Destes, no Supabase34.545
Devolveram registos sem início de sessão24.664
Sites com endereços de e-mail legíveis7.403, em mais de 10.500 tabelas
Mensagens de um fórum de estilo de vidaMais de 200.000, além de 80.000 perfis
Registos de passaporte de um prestadorMais de 1.000

Organizadores de eventos e restaurantes expunham encomendas e bilhetes com números de telefone, moradas, dados de pagamento e códigos dos bilhetes. Outras tabelas continham contratos, faturas, álbuns de fotografias e mensagens internas de WhatsApp. Os resultados saíram primeiro no diário económico alemão Handelsblatt.

Ninguém forçou a entrada

Nada disto exigiu um ataque, porque as apps entregavam os dados a cada visitante por construção. Os investigadores usaram apenas pedidos de leitura e a mesma chave pública que cada página passa ao navegador. Faltava a Row Level Security, a definição do Supabase que decide que linhas um visitante pode ler. Sem ela, a chave pública abre a tabela inteira.

A Lovable respondeu aos investigadores que se trata de um problema de configuração conhecido e comum a todo o setor no uso do Supabase, e os números confirmam essa parte. Em setembro, a UpGuard testou cerca de 300.000 domínios com sinais de Supabase e encontrou 16.326 bases de dados com tabelas legíveis, mais de metade com indícios de dados pessoais. Segundo a UpGuard, o ponto comum era que agentes de programação com IA tinham criado os sites e quem os geria desconhecia a sua configuração.

A nossa leitura é que a decisão de segurança mudou de mãos. Antes cabia a um programador que definia as regras da base de dados. Agora cabe a quem escreve o prompt, e ambos os fornecedores dizem que a configuração é responsabilidade do cliente. A Lovable declara mais de 50 milhões de projetos e 1,2 milhões novos por semana. Muitíssimas pessoas carregam, portanto, uma decisão que não sabem que tomaram.

Porque importa com o RGPD

A empresa que publica uma app decide as finalidades e os meios do tratamento, o que faz dela a responsável pelo tratamento nos termos do RGPD, seja quem for que escreveu o código. A Lovable e o Supabase fornecem as ferramentas. Uma equipa comercial que montou um formulário de contactos, ou um escritório que criou uma ferramenta de marcações, pôs o nome da empresa na base de dados que está por trás.

Uma tabela aberta de dados pessoais é uma violação da confidencialidade que o responsável tem de avaliar. Se for provável que resulte num risco para as pessoas, o artigo 33 dá 72 horas a contar do conhecimento para a notificar à CNPD em Portugal. Os investigadores leram apenas o que lhes era oferecido. Se mais alguém o fez é uma pergunta a que só os seus próprios registos podem responder, e muitas apps feitas à pressa não guardam nenhum digno desse nome.

O que fazer esta semana

Comece por um inventário, porque as apps mais expostas são as que a informática nunca aprovou. Pergunte a cada equipa que ferramentas criou com a Lovable, o Bolt, o Replit ou serviços semelhantes e quais recolhem dados de clientes ou de colaboradores.

Em cada projeto no Supabase, confirme que a Row Level Security está ativa em todas as tabelas com dados pessoais e que uma política limita cada linha a quem a deve ver. O consultor de segurança do Supabase assinala as tabelas sem essa proteção. Esconder a chave pública não adianta, porque foi feita para ser pública. A proteção tem de vir das políticas.

Depois, faça de uma revisão uma condição para entrar em produção em tudo o que toque dados de clientes. A Crissy Field di-lo com clareza: uma plataforma de desenvolvimento fácil não dispensa uma revisão especializada das permissões de acesso antes de uma aplicação tratar dados confidenciais.