FixVibe
Covered by FixVibehigh

Supabase säkerhetschecklista: RLS, API-nycklar och lagring

Den här forskningsartikeln beskriver kritiska säkerhetskonfigurationer för Supabase-projekt. Den fokuserar på korrekt implementering av Row Level Security (RLS) för att skydda databasrader, säker hantering av anon- och service_role API-nycklar och upprätthållande av åtkomstkontroll för lagringshinkar för att minska riskerna för dataexponering och obehörig åtkomst.

CWE-284CWE-668

Kroken

Att säkra ett Supabase-projekt kräver en flerskiktsstrategi med fokus på API-nyckelhantering, databassäkerhet och lagringsbehörigheter. [S1] Felaktigt konfigurerad radnivåsäkerhet (RLS) eller exponerade känsliga nycklar kan leda till betydande dataexponeringsincidenter. [S2] [S3]

Vad förändrades

Denna forskning konsoliderar kärnsäkerhetskontroller för Supabase-miljöer baserat på officiella arkitekturriktlinjer. [S1] Den fokuserar på övergången från standardutvecklingskonfigurationer till produktionshärdade ställningar, särskilt när det gäller åtkomstkontrollmekanismer. [S2] [S3]

Vem berörs

Applikationer som använder Supabase som en Backend-as-a-Service (BaaS) påverkas, särskilt de som hanterar användarspecifik data eller privata tillgångar. [S2] Utvecklare som inkluderar service_role-nyckeln i paket på klientsidan eller misslyckas med att aktivera RLS löper hög risk. [S1]

Hur problemet fungerar

Supabase utnyttjar PostgreSQL:s radnivåsäkerhet för att begränsa dataåtkomst. [S2] Som standard, om RLS inte är aktiverat i en tabell, kan alla användare med anon-nyckeln – som ofta är offentlig – komma åt alla poster. [S1] På liknande sätt kräver Supabase Storage explicita policyer för att definiera vilka användare eller roller som kan utföra operationer på filsegment. [S3]

Vad en angripare får

En angripare som har en offentlig API-nyckel kan utnyttja tabeller som saknar RLS för att läsa, ändra eller ta bort data som tillhör andra användare. [S1] [S2] Otillåten åtkomst till lagringshinkar kan leda till exponering av privata användarfiler eller radering av viktiga programtillgångar. [S3]

Hur FixVibe testar det

FixVibe täcker nu detta som en del av sina Supabase-kontroller. baas.supabase-security-checklist-backfill granskar offentliga Supabase Metadata för lagringsbucket, anonym exponering för objektlistor, namngivning av känsliga bucket och anonbundna lagringssignaler från den offentliga anongränsen. Relaterade livekontroller inspekterar exponeringen av tjänstrollnyckeln, Supabase REST/RLS-ställning och SQL-migreringar i databasen för saknade RLS.

Vad ska fixas

Aktivera alltid Row Level Security på databastabeller och implementera detaljerade policyer för autentiserade användare. [S2] Se till att endast 'anon'-nyckeln används i klientkod, medan 'service_role'-nyckeln finns kvar på servern. [S1] Konfigurera åtkomstkontroll för lagring för att säkerställa att filhinkar är privata som standard och åtkomst beviljas endast genom definierade säkerhetspolicyer. [S3]