Udica
Osiguranje projekta Supabase zahtijeva višeslojni pristup koji se fokusira na upravljanje ključevima API, sigurnost baze podataka i dozvole za pohranu. [S1] Neispravno konfigurirana sigurnost na razini retka (RLS) ili izloženi osjetljivi ključevi mogu dovesti do značajnih incidenata izloženosti podataka. [S2] [S3]
Što se promijenilo
Ovo istraživanje konsolidira osnovne sigurnosne kontrole za Supabase okruženja na temelju službenih smjernica arhitekture. [S1] Fokusira se na prijelaz sa zadanih razvojnih konfiguracija na proizvodno otvrdnute položaje, posebno u pogledu mehanizama kontrole pristupa. [S2] [S3]
Tko je pogođen
Pogođene su aplikacije koje koriste Supabase kao Backend-as-a-Service (BaaS), posebno one koje rukuju korisničkim podacima ili privatnom imovinom. [S2] Razvojni programeri koji uključuju ključ service_role u pakete na strani klijenta ili ne uspiju omogućiti RLS izloženi su velikom riziku. [S1]
Kako problem funkcionira
Supabase koristi PostgreSQL-ovu sigurnost na razini retka za ograničavanje pristupa podacima. [S2] Prema zadanim postavkama, ako RLS nije omogućen na tablici, bilo koji korisnik s ključem anon—koji je često javan—može pristupiti svim zapisima. [S1] Slično, Supabase Storage zahtijeva eksplicitna pravila za definiranje koji korisnici ili uloge mogu izvoditi operacije na spremnicima datoteka. [S3]
Što napadač dobiva
Napadač koji posjeduje javni ključ API može iskoristiti tablice kojima nedostaje RLS za čitanje, izmjenu ili brisanje podataka koji pripadaju drugim korisnicima. [S1] [S2] Neovlašteni pristup spremnicima za pohranu može dovesti do otkrivanja privatnih korisničkih datoteka ili brisanja kritičnih sredstava aplikacije. [S3]
Kako FixVibe to testira
FixVibe sada to pokriva kao dio svojih Supabase provjera. baas.supabase-security-checklist-backfill pregledava javne Supabase metapodatke spremnika za pohranu, izlaganje anonimnog popisa objekata, osjetljivo imenovanje spremnika i signale anonimne pohrane s javne granice anonimnosti. Povezane provjere uživo pregledavaju izloženost ključa servisne uloge, položaj Supabase REST/RLS i SQL migracije repozitorija za nedostajući RLS.
Što popraviti
Uvijek omogućite sigurnost na razini retka na tablicama baze podataka i implementirajte detaljna pravila za autentificirane korisnike. [S2] Osigurajte da se samo ključ 'anon' koristi u kodu na strani klijenta, dok ključ 'service_role' ostaje na poslužitelju. [S1] Konfigurirajte kontrolu pristupa pohrani kako biste osigurali da su spremnici datoteka privatni prema zadanim postavkama i da je pristup dopušten samo kroz definirana sigurnosna pravila. [S3]
