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]
