Hvad scanningen fandt

En ejendomsadministrator bad et AI-værktøj om en app, der opsummerer indbakken, og den app, den fik, udgav opsummeringerne med lejeroplysninger for alle, der åbnede den rigtige adresse. Firmaet er et af de tilfælde, som det tyske sikkerhedsfirma Crissy Field beskrev i denne uge. Det hentede 159.041 projekter fra Lovable, den svenske vibe coding-platform, ud af arkivet Common Crawl og spurgte hver database, hvad den ville give en fremmed.

FundAntal
Scannede Lovable-projekter159.041
Heraf på Supabase34.545
Udleverede poster uden login24.664
Sider med læsbare e-mailadresser7.403, fordelt på mere end 10.500 tabeller
Chatbeskeder fra et livsstilsforumMere end 200.000 samt 80.000 profiler
Pasoplysninger fra en tjenesteudbyderMere end 1.000

Arrangører og restauranter viste ordrer og billetter med telefonnumre, postadresser, betalingsoplysninger og billetkoder. Andre tabeller rummede kontrakter, fakturaer, fotoalbum og interne WhatsApp-beskeder. Resultaterne blev først bragt i den tyske erhvervsavis Handelsblatt.

Ingen brød ind

Intet af det krævede et angreb, for apps'ene gav data til hver besøgende som en del af deres opbygning. Forskerne brugte kun læseforespørgsler og den samme offentlige nøgle, som hver side giver browseren. Det, der manglede, var Row Level Security, den Supabase-indstilling, der afgør, hvilke rækker en besøgende må læse. Uden den åbner den offentlige nøgle hele tabellen.

Lovable svarede forskerne, at der er tale om et kendt konfigurationsproblem i hele branchen ved brug af Supabase, og tallene bekræfter den del. I september testede UpGuard omkring 300.000 domæner med tegn på Supabase og fandt 16.326 databaser med læsbare tabeller, over halvdelen med tegn på persondata. Ifølge UpGuard var fællesnævneren, at AI-kodeagenter havde bygget siderne, og at dem, der drev dem, ikke kendte deres konfiguration.

Vores læsning er, at sikkerhedsbeslutningen er flyttet. Før lå den hos en udvikler, der valgte databasens regler. Nu ligger den hos den, der skriver prompten, og begge leverandører siger, at konfigurationen er kundens sag. Lovable oplyser over 50 millioner byggede projekter og 1,2 millioner nye om ugen. Rigtig mange mennesker bærer altså en beslutning, de ikke ved, at de har truffet.

Hvorfor det betyder noget efter GDPR

Den virksomhed, der udgiver en app, bestemmer formål og midler for behandlingen og er dermed dataansvarlig efter GDPR, uanset hvem der skrev koden. Lovable og Supabase leverer værktøjerne. Et salgsteam, der byggede en leadformular, eller en kontorchef med sit eget bookingværktøj, har sat virksomhedens navn på databasen bagved.

En åben tabel med persondata er et brud på fortroligheden, som den dataansvarlige skal vurdere. Er det sandsynligt, at bruddet indebærer en risiko for de berørte, giver artikel 33 72 timer fra man bliver opmærksom på det til at anmelde det til Datatilsynet. Forskerne læste kun det, de blev tilbudt. Om andre gjorde det samme, kan kun jeres egne logfiler svare på, og mange hurtigt byggede apps fører ingen, der fortjener navnet.

Hvad I gør i denne uge

Begynd med en oversigt, for de mest udsatte apps er dem, IT aldrig har godkendt. Spørg hvert team, hvilke værktøjer det har bygget med Lovable, Bolt, Replit eller lignende tjenester, og hvilke af dem der indsamler kunde- eller medarbejderdata.

Tjek for hvert projekt på Supabase, at Row Level Security er slået til på hver tabel med persondata, og at en politik begrænser hver række til de personer, der skal se den. Supabases egen sikkerhedsrådgiver markerer tabeller uden beskyttelsen. Det hjælper ikke at skjule den offentlige nøgle, for den er beregnet til at være offentlig. Beskyttelsen skal komme fra politikkerne.

Gør derefter en gennemgang til en betingelse for at gå live med alt, der rører kundedata. Crissy Field siger det klart: en nem udviklingsplatform fjerner ikke behovet for en fagkyndig gennemgang af adgangsrettigheder, før en app håndterer fortrolige data.