FixVibe
Covered by FixVibehigh

Supabase безбедносна листа за проверка: RLS, API клучеви и складирање

Оваа истражувачка статија ги прикажува критичните безбедносни конфигурации за проектите Supabase. Се фокусира на правилната имплементација на безбедноста на ниво на ред (RLS) за заштита на редовите на базата на податоци, безбедно ракување со клучевите anon и service_role API и спроведување контрола на пристап за корпи за складирање за да се ублажат ризиците од изложеност на податоци и неовластен пристап.

CWE-284CWE-668

Куката

Обезбедувањето на проект Supabase бара повеќеслоен пристап фокусиран на управувањето со клучеви API, безбедноста на базата на податоци и дозволите за складирање. [S1] Неправилно конфигурирана безбедност на ниво на ред (RLS) или изложени чувствителни клучеви може да доведат до значителни инциденти со изложување на податоци. [S2] [S3]

Што се смени

Ова истражување ги консолидира основните безбедносни контроли за Supabase средини врз основа на официјалните упатства за архитектура. [S1] Се фокусира на транзицијата од стандардните развојни конфигурации до држење на телото зацврстени од производството, особено во однос на механизмите за контрола на пристапот. [S2] [S3]

Кој е засегнат

Засегнати се апликациите што користат Supabase како заднина како услуга (BaaS), особено оние што се справуваат со податоци специфични за корисникот или приватни средства. [S2] Програмерите кои го вклучуваат клучот service_role во пакетите од клиентската страна или не успеваат да овозможат RLS се изложени на висок ризик. [S1]

Како функционира проблемот

Supabase ја користи безбедноста на ниво на ред на PostgreSQL за да го ограничи пристапот до податоци. [S2] Стандардно, ако RLS не е овозможено на табела, секој корисник со клучот anon — кој често е јавен — може да пристапи до сите записи. [S1] Слично на тоа, Supabase Storage бара експлицитни политики за да се дефинира кои корисници или улоги можат да вршат операции на корпи за датотеки. [S3]

Што добива напаѓачот

Напаѓачот кој поседува јавен клуч API може да ги искористи табелите што недостасуваат RLS за читање, менување или бришење податоци што им припаѓаат на други корисници. [S1] [S2] Неовластен пристап до корпите за складирање може да доведе до изложување на приватни кориснички датотеки или бришење на критичните средства на апликацијата. [S3]

Како FixVibe тестира за него

FixVibe сега го покрива ова како дел од неговите проверки Supabase. baas.supabase-security-checklist-backfill ги прегледува јавните Supabase Метаподатоци на кофата за складирање, изложеноста на анонимни списоци на објекти, чувствителното именување на корпата и сигналите за анонимно складирање од јавната анонимна граница. Поврзаните проверки во живо ја проверуваат изложеноста на клучот за услужна улога, Supabase REST/RLS држењето на телото и миграциите на SQL во складиштето за исчезнати RLS.

Што да се поправи

Секогаш овозможувајте безбедност на ниво на ред на табелите со бази на податоци и имплементирајте грануларни политики за автентицирани корисници. [S2] Осигурете се дека само клучот „anon“ се користи во кодот од клиентската страна, додека клучот „service_role“ останува на серверот. [S1] Конфигурирајте ја контролата за пристап до складирање за да се осигурате дека корпите за датотеки се стандардно приватни и пристапот се дава само преку дефинирани безбедносни политики. [S3]