FixVibe
Covered by FixVibehigh

Supabase Senarai Semak Keselamatan: RLS, Kunci API dan Storan

Artikel penyelidikan ini menggariskan konfigurasi keselamatan kritikal untuk projek Supabase. Ia memfokuskan pada pelaksanaan yang betul bagi Row Level Security (RLS) untuk melindungi baris pangkalan data, pengendalian selamat anon dan kekunci API serta menguatkuasakan kawalan akses untuk baldi storan untuk mengurangkan risiko pendedahan data dan akses tanpa kebenaran.

CWE-284CWE-668

Mata kail

Menjaga projek Supabase memerlukan pendekatan berbilang lapisan yang memfokuskan pada pengurusan kunci API, keselamatan pangkalan data dan kebenaran storan. [S1] Keselamatan Tahap Baris yang dikonfigurasikan dengan tidak betul (RLS) atau kunci sensitif terdedah boleh membawa kepada insiden pendedahan data yang ketara. [S2] [S3]

Apa yang berubah

Penyelidikan ini menyatukan kawalan keselamatan teras untuk persekitaran Supabase berdasarkan garis panduan seni bina rasmi. [S1] Ia memfokuskan pada peralihan daripada konfigurasi pembangunan lalai kepada postur mengeras pengeluaran, khususnya mengenai mekanisme kawalan akses. [S2] [S3]

Siapa yang terjejas

Aplikasi yang menggunakan Supabase sebagai Backend-as-a-Service (BaaS) terjejas, terutamanya yang mengendalikan data khusus pengguna atau aset persendirian. [S2] Pembangun yang menyertakan kunci service_role dalam himpunan sebelah klien atau gagal mendayakan RLS berisiko tinggi. [S1]

Cara isu ini berfungsi

Supabase memanfaatkan Keselamatan Tahap Baris PostgreSQL untuk menyekat akses data. [S2] Secara lalai, jika RLS tidak didayakan pada jadual, mana-mana pengguna dengan kunci anon—yang selalunya awam—boleh mengakses semua rekod. [S1] Begitu juga, Storan Supabase memerlukan dasar yang jelas untuk menentukan pengguna atau peranan yang boleh melakukan operasi pada baldi fail. [S3]

Apa yang diperoleh oleh penyerang

Penyerang yang memiliki kunci API awam boleh mengeksploitasi jadual yang tiada RLS untuk membaca, mengubah suai atau memadam data kepunyaan pengguna lain. [S1] [S2] Akses tanpa kebenaran kepada baldi storan boleh membawa kepada pendedahan fail pengguna persendirian atau pemadaman aset aplikasi kritikal. [S3]

Bagaimana FixVibe mengujinya

FixVibe kini meliputi perkara ini sebagai sebahagian daripada semakan Supabasenya. baas.supabase-security-checklist-backfill menyemak metadata baldi storan Supabase awam, pendedahan penyenaraian objek tanpa nama, penamaan baldi sensitif dan isyarat Storan tanpa terikat daripada sempadan anon awam. Pemeriksaan langsung berkaitan memeriksa pendedahan utama peranan perkhidmatan, postur Supabase REST/RLS dan migrasi SQL repositori untuk kehilangan RLS.

Perkara yang perlu diperbaiki

Sentiasa dayakan Keselamatan Tahap Baris pada jadual pangkalan data dan laksanakan dasar berbutir untuk pengguna yang disahkan. [S2] Pastikan hanya kekunci 'anon' digunakan dalam kod sisi klien, manakala kekunci 'service_role' kekal pada pelayan. [S1] Konfigurasikan Kawalan Akses Storan untuk memastikan baldi fail adalah peribadi secara lalai dan akses diberikan hanya melalui dasar keselamatan yang ditetapkan. [S3]