Kavelj
Zaščita projekta Supabase zahteva večplastni pristop, ki se osredotoča na upravljanje ključev API, varnost baze podatkov in dovoljenja za shranjevanje. [S1] Nepravilno konfigurirana varnost na ravni vrstice (RLS) ali izpostavljeni občutljivi ključi lahko povzročijo znatne incidente z izpostavljenostjo podatkov. [S2] [S3]
Kaj se je spremenilo
Ta raziskava utrjuje osnovne varnostne kontrole za okolja Supabase na podlagi uradnih smernic za arhitekturo. [S1] Osredotoča se na prehod od privzetih razvojnih konfiguracij do produkcijsko utrjenih drž, zlasti glede mehanizmov za nadzor dostopa. [S2] [S3]
Kdo je prizadet
Prizadete so aplikacije, ki uporabljajo Supabase kot zaledje kot storitev (BaaS), zlasti tiste, ki obravnavajo uporabniško specifične podatke ali zasebna sredstva. [S2] Razvijalci, ki vključijo ključ service_role v pakete na strani odjemalca ali ne omogočijo RLS, so izpostavljeni velikemu tveganju. [S1]
Kako zadeva deluje
Supabase izkorišča PostgreSQL Row Level Security za omejitev dostopa do podatkov. [S2] Privzeto, če RLS ni omogočen v tabeli, lahko vsak uporabnik s ključem anon – ki je pogosto javen – dostopa do vseh zapisov. [S1] Podobno Supabase Storage zahteva izrecne pravilnike za določanje, kateri uporabniki ali vloge lahko izvajajo operacije na vedrih datotek. [S3]
Kaj napadalec dobi
Napadalec, ki ima javni ključ API, lahko izkoristi tabele, v katerih manjka RLS, za branje, spreminjanje ali brisanje podatkov, ki pripadajo drugim uporabnikom. [S1] [S2] Nepooblaščen dostop do veder za shranjevanje lahko povzroči razkritje zasebnih uporabniških datotek ali izbris kritičnih sredstev aplikacije. [S3]
Kako ga FixVibe testira
FixVibe to zdaj pokriva kot del svojih pregledov Supabase. baas.supabase-security-checklist-backfill pregleduje javne Supabase metapodatke vedra za shranjevanje, izpostavljenost seznama anonimnih objektov, občutljivo poimenovanje vedra in signale nevezane shrambe iz javne meje anon. Povezana preverjanja v živo pregledujejo izpostavljenost ključa storitvene vloge, položaj Supabase REST/RLS in selitve SQL repozitorija za manjkajoči RLS.
Kaj popraviti
Vedno omogočite varnost na ravni vrstice v tabelah zbirke podatkov in implementirajte podrobne pravilnike za overjene uporabnike. [S2] Zagotovite, da se v kodi na strani odjemalca uporablja samo ključ 'anon', medtem ko ključ 'service_role' ostane na strežniku. [S1] Konfigurirajte nadzor dostopa do shrambe, da zagotovite, da so datotečni vedri privzeto zasebni in da je dostop odobren samo prek definiranih varnostnih pravilnikov. [S3]
