Háčik
Zabezpečenie projektu Supabase si vyžaduje viacvrstvový prístup zameraný na správu kľúčov API, zabezpečenie databázy a oprávnenia na ukladanie. [S1] Nesprávne nakonfigurované zabezpečenie na úrovni riadkov (RLS) alebo odhalené citlivé kľúče môžu viesť k významným incidentom vystavenia údajov. [S2] [S3]
Čo sa zmenilo
Tento výskum konsoliduje základné bezpečnostné kontroly pre prostredia Supabase na základe oficiálnych smerníc o architektúre. [S1] Zameriava sa na prechod od predvolených vývojových konfigurácií k produkčne spevneným polohám, konkrétne čo sa týka mechanizmov kontroly prístupu. [S2] [S3]
Koho sa to týka
Ovplyvnené sú aplikácie využívajúce Supabase ako Backend-as-a-Service (BaaS), najmä tie, ktoré spracúvajú údaje špecifické pre používateľa alebo súkromné aktíva. [S2] Vývojári, ktorí zahrnú kľúč service_role do balíkov na strane klienta alebo nepovolia RLS, sú vystavení vysokému riziku. [S1]
Ako problém funguje
Supabase využíva zabezpečenie na úrovni riadkov PostgreSQL na obmedzenie prístupu k údajom. [S2] Ak v tabuľke nie je povolené RLS, štandardne má každý používateľ s kľúčom anon, ktorý je často verejný, prístup k všetkým záznamom. [S1] Podobne aj úložisko Supabase vyžaduje explicitné pravidlá na definovanie toho, ktorí používatelia alebo roly môžu vykonávať operácie so súbormi. [S3]
Čo dostane útočník
Útočník vlastniaci verejný kľúč API môže zneužiť chýbajúce tabuľky RLS na čítanie, úpravu alebo vymazanie údajov patriacich iným používateľom. [S1] [S2] Neoprávnený prístup k segmentom úložiska môže viesť k odhaleniu súborov súkromných používateľov alebo k vymazaniu dôležitých prostriedkov aplikácie. [S3]
Ako to testuje FixVibe
FixVibe to teraz pokrýva ako súčasť svojich kontrol Supabase. baas.supabase-security-checklist-backfill kontroluje verejné Supabase metadáta segmentu úložiska, vystavenie anonymného zoznamu objektov, citlivé pomenovanie segmentu a neviazané signály úložiska z verejnej anonovej hranice. Súvisiace živé kontroly kontrolujú vystavenie kľúča servisnej role, polohu Supabase REST/RLS a migrácie SQL úložiska, či chýbajú RLS.
Čo opraviť
Vždy povoľte zabezpečenie na úrovni riadkov v databázových tabuľkách a implementujte podrobné politiky pre overených používateľov. [S2] Uistite sa, že v kóde na strane klienta sa používa iba kľúč 'anon', zatiaľ čo kľúč 'service_role' zostáva na serveri. [S1] Nakonfigurujte riadenie prístupu k úložisku, aby ste zaistili, že sektory súborov sú predvolene súkromné a prístup je udelený iba prostredníctvom definovaných bezpečnostných politík. [S3]
