impak
Aanvallers kan toepassingslogika omseil om rekords in die databasis te lees, op te dateer of uit te vee as Ryvlaksekuriteit (RLS) nie behoorlik afgedwing word nie. [S1]. Dit lei dikwels tot die blootstelling van Persoonlik Identifiseerbare Inligting (PII) of sensitiewe toepassingsdata aan gebruikers wat slegs toegang het tot die publieke anonieme API-sleutel.
Oorsaak
Supabase gebruik Postgres Row Level Security om datatoegang op die databasisvlak te bestuur, wat fundamenteel is vir die beveiliging van data [S1]. In 'n Next.js-omgewing moet ontwikkelaars 'n Supabase-kliënt skep wat koekies en sessies korrek hanteer om sekuriteit te handhaaf tydens bedienerkant-weergawe [S2]. Kwesbaarhede ontstaan gewoonlik wanneer:
- Tabelle word geskep sonder dat RLS geaktiveer is, wat hulle toeganklik maak via die publieke anonsleutel [S1].
- Die Supabase-kliënt is verkeerd gekonfigureer in Next.js, en versuim om gebruikerstawingtekens behoorlik na die databasis [S2] deur te gee.
- Ontwikkelaars gebruik per ongeluk die
service_rolesleutel in kliënt-kant kode, wat alle RLS beleide [S1] omseil.
Betonoplossings
- Aktiveer RLS: Maak seker dat ryvlaksekuriteit vir elke tabel in jou Supabase-databasis [S1] geaktiveer is.
- Definieer Beleide: Skep spesifieke Postgres-beleide vir
SELECT,INSERT,UPDATE, enDELETE-bewerkings om toegang te beperk op grond van die gebruiker se UID ZXCVVFIXBETOKEN. - Gebruik SSR-kliënte: Implementeer die
@supabase/ssr-pakket om kliënte in Next.js te skep wat bedienerkant-verifikasie en sessievolharding [S2] korrek bestuur.
Hoe FixVibe daarvoor toets
FixVibe dek dit reeds deur ontplooide toepassings en repo-tjeks. Die passiewe baas.supabase-rls-module ontdek Supabase-URL- en anon-sleutel-pare van dieselfde-oorsprong JavaScript-bundels, vra PostgREST vir publieke tabel-metadata, en voer beperkte leesalleen-keuses uit om anonieme datablootstelling te bevestig sonder om kliëntdata te muteer. Repo-skanderings loop ook repo.supabase.missing-rls om SQL-migrasies te vlag wat publieke tabelle sonder ENABLE ROW LEVEL SECURITY skep, en geheime skanderings soek na diensrol-sleutelblootstelling voordat dit die blaaier bereik.
