FixVibe
Covered by FixVibehigh

Supabase Sikkerhedstjekliste: RLS, API nøgler og opbevaring

Denne forskningsartikel skitserer kritiske sikkerhedskonfigurationer for Supabase-projekter. Den fokuserer på den korrekte implementering af Row Level Security (RLS) for at beskytte databaserækker, sikker håndtering af anon- og service_role API-nøgler og håndhævelse af adgangskontrol for storage-buckets for at mindske risici for dataeksponering og uautoriseret adgang.

CWE-284CWE-668

Krogen

Sikring af et Supabase-projekt kræver en flerlagstilgang med fokus på API nøglestyring, databasesikkerhed og lagringstilladelser. [S1] Ukorrekt konfigureret Row Level Security (RLS) eller blotlagte følsomme nøgler kan føre til betydelige dataeksponeringshændelser. [S2] [S3]

Hvad ændrede sig

Denne forskning konsoliderer kernesikkerhedskontroller for Supabase-miljøer baseret på officielle arkitekturretningslinjer. [S1] Det fokuserer på overgangen fra standardudviklingskonfigurationer til produktionshærdede stillinger, specifikt vedrørende adgangskontrolmekanismer. [S2] [S3]

Hvem er berørt

Applikationer, der bruger Supabase som en Backend-as-a-Service (BaaS), er berørt, især dem, der håndterer brugerspecifikke data eller private aktiver. [S2] Udviklere, der inkluderer service_role-nøglen i bundter på klientsiden eller undlader at aktivere RLS, er i høj risiko. [S1]

Hvordan problemet virker

Supabase udnytter PostgreSQL's Row Level Security til at begrænse dataadgang. [S2] Som standard, hvis RLS ikke er aktiveret på en tabel, kan enhver bruger med anon-nøglen – som ofte er offentlig – få adgang til alle poster. [S1] På samme måde kræver Supabase Storage eksplicitte politikker for at definere, hvilke brugere eller roller der kan udføre handlinger på fil-buckets. [S3]

Hvad en angriber får

En angriber, der har en offentlig API-nøgle, kan udnytte tabeller, der mangler RLS, til at læse, ændre eller slette data, der tilhører andre brugere. [S1] [S2] Uautoriseret adgang til storage-buckets kan føre til eksponering af private brugerfiler eller sletning af kritiske applikationsaktiver. [S3]

Hvordan FixVibe tester for det

FixVibe dækker nu dette som en del af sine Supabase-tjek. baas.supabase-security-checklist-backfill gennemgår offentlige Supabase-metadata for lagerbøtte, anonym eksponering af objektlister, følsom navngivning af samlinger og ikke-bundne lagringssignaler fra den offentlige anon-grænse. Relaterede live-tjek inspicerer servicerolle-nøgleeksponering, Supabase REST/RLS-stilling og SQL-migreringer i depot for manglende RLS.

Hvad skal du rette

Aktiver altid Row Level Security på databasetabeller og implementer granulære politikker for godkendte brugere. [S2] Sørg for, at kun 'anon'-nøglen bruges i kode på klientsiden, mens 'service_role'-nøglen forbliver på serveren. [S1] Konfigurer lageradgangskontrol for at sikre, at filsamlinger er private som standard, og adgang kun gives gennem definerede sikkerhedspolitikker. [S3]