FixVibe
Covered by FixVibehigh

Supabase sikkerhetssjekkliste: RLS, API nøkler og lagring

Denne forskningsartikkelen skisserer kritiske sikkerhetskonfigurasjoner for Supabase-prosjekter. Den fokuserer på riktig implementering av Row Level Security (RLS) for å beskytte databaserader, sikker håndtering av anon- og service_role API-nøkler, og håndheve tilgangskontroll for lagringsområder for å redusere risikoen for dataeksponering og uautorisert tilgang.

CWE-284CWE-668

Kroken

Å sikre et Supabase-prosjekt krever en flerlags tilnærming med fokus på API nøkkeladministrasjon, databasesikkerhet og lagringstillatelser. [S1] Feilkonfigurert Row Level Security (RLS) eller eksponerte sensitive nøkler kan føre til betydelige dataeksponeringshendelser. [S2] [S3]

Hva endret seg

Denne forskningen konsoliderer kjernesikkerhetskontrollene for Supabase-miljøer basert på offisielle arkitekturretningslinjer. [S1] Den fokuserer på overgangen fra standard utviklingskonfigurasjoner til produksjonsherdede stillinger, spesielt angående tilgangskontrollmekanismer. [S2] [S3]

Hvem er berørt

Applikasjoner som bruker Supabase som en Backend-as-a-Service (BaaS) påvirkes, spesielt de som håndterer brukerspesifikke data eller private eiendeler. [S2] Utviklere som inkluderer service_role-nøkkelen i pakker på klientsiden eller ikke klarer å aktivere RLS, har høy risiko. [S1]

Hvordan problemet fungerer

Supabase utnytter PostgreSQLs Row Level Security for å begrense datatilgang. [S2] Som standard, hvis RLS ikke er aktivert på en tabell, kan enhver bruker med anon-nøkkelen – som ofte er offentlig – få tilgang til alle poster. [S1] På samme måte krever Supabase Storage eksplisitte retningslinjer for å definere hvilke brukere eller roller som kan utføre operasjoner på filsamlinger. [S3]

Hva en angriper får

En angriper som har en offentlig API-nøkkel kan utnytte tabeller som mangler RLS for å lese, endre eller slette data som tilhører andre brukere. [S1] [S2] Uautorisert tilgang til lagringsområder kan føre til eksponering av private brukerfiler eller sletting av kritiske applikasjonsressurser. [S3]

Hvordan FixVibe tester for det

FixVibe dekker nå dette som en del av sine Supabase-sjekker. baas.supabase-security-checklist-backfill vurderer offentlige Supabase-metadata for lagringsbøtte, eksponering av anonym objektliste, navn på sensitiv bøtte og ikke-bundne lagringssignaler fra den offentlige anon-grensen. Relaterte live-sjekker inspiserer tjenesterolle-nøkkeleksponering, Supabase REST/RLS-stilling og SQL-migreringer for depot for manglende RLS.

Hva du skal fikse

Aktiver alltid Row Level Security på databasetabeller og implementer detaljerte retningslinjer for autentiserte brukere. [S2] Sørg for at bare 'anon'-nøkkelen brukes i koden på klientsiden, mens 'service_role'-nøkkelen forblir på serveren. [S1] Konfigurer lagringstilgangskontroll for å sikre at filblokker er private som standard og tilgang kun gis gjennom definerte sikkerhetspolicyer. [S3]