← Torna al blog
Sicurezza

La tua app fatta con Lovable potrebbe mostrare i dati a chiunque. Come verificarlo

Un'analisi di 159.000 progetti realizzati con Lovable ha trovato migliaia di app che consegnavano record del database a visitatori senza login. La causa è spesso un'impostazione di Supabase che si controlla in pochi minuti.

Cilindro di database con un lucchetto aperto in linee scure su fondo chiaro, accanto alla forma di vetro con nucleo blu

Creare un'app con Lovable in un pomeriggio è ormai normale. Pochi però controllano chi può leggere i dati che quell'app conserva.

Il 2 novembre il quotidiano tedesco Handelsblatt ha pubblicato un'analisi condotta con la società di sicurezza Crissy Field sulle app create con Lovable. I numeri fanno riflettere.

Cosa ha trovato l'analisi

Secondo la copertura dell'analisi, i ricercatori hanno raccolto 159.041 progetti pubblicati con Lovable. Di questi, 34.545 usavano Supabase come database.

  • In 24.664 app, i record del database comparivano all'apertura della pagina, senza login.
  • In 7.403 di queste c'erano tabelle con indirizzi email degli utenti.
  • Tra i casi citati ci sono numeri di passaporto, messaggi di chat ed elenchi di clienti.

Gli stessi ricercatori invitano alla cautela. Una parte di quei dati può essere pubblica di proposito, come un catalogo, e non è stato possibile capire se qualcuno li abbia usati. Il quadro però è chiaro e non si tratta di un attacco a Lovable. Il problema sta nella configurazione di ogni singola app.

Perché succede

Ogni app costruita con Supabase porta nel browser una chiave pubblica. È pensata per essere visibile, e la protezione dipende dalle regole del database, il cosiddetto RLS (Row Level Security, sicurezza a livello di riga).

La documentazione di Supabase avverte che una tabella esposta senza RLS può essere letta e modificata da chiunque vi abbia accesso. Quando l'assistente AI crea una tabella e dimentica di attivare l'RLS, o lo attiva senza regole ben pensate, la chiave pubblica apre la porta.

Due percorsi da un'app nel browser al database, dove la tabella senza RLS consegna i dati a qualsiasi visitatore e quella con RLS mostra a ogni utente solo i suoi

Come controllare la tua app oggi

Per il primo controllo non serve essere programmatori:

  1. Apri il pannello di Supabase e guarda l'elenco delle tabelle. Quelle con l'avviso di RLS disattivato sono il primo campanello d'allarme.
  2. Avvia il Security Advisor di Supabase, che segnala tabelle e funzioni esposte.
  3. Attiva l'RLS su tutte le tabelle e crea regole che facciano vedere a ogni utente solo i propri dati.
  4. Controlla i file nello Storage. Cartelle pubbliche con documenti o foto dei clienti sono un'altra fuga frequente.
  5. Cerca la chiave segreta nel codice del sito. Ignora tutte le regole e non deve mai arrivare al browser.
  6. Prova con un secondo account. Entra come un altro utente e cerca di aprire i dati del primo.

Se l'app conserva dati dei clienti e qualcosa era aperto, coinvolgi chi segue la parte legale. Il GDPR prevede la notifica al Garante entro 72 ore quando la violazione comporta un rischio per le persone.

Correggere o migrare?

Nella maggior parte dei casi basta attivare l'RLS e scrivere buone regole. La migrazione ha senso quando l'app non è più un prototipo, conserva dati sensibili o un cliente importante chiede un questionario di sicurezza, un accordo sul trattamento dei dati o l'hosting su AWS.

Nella nostra migrazione di app da Lovable ad AWS o Google Cloud, la prima fase è proprio questa revisione di database, accessi e permessi. Ricevi un piano scritto prima di qualsiasi modifica, e codice e account restano intestati alla tua azienda.