Pengaitnya
Mengamankan proyek Supabase memerlukan pendekatan berlapis yang berfokus pada manajemen kunci API, keamanan database, dan izin penyimpanan. [S1] Keamanan Tingkat Baris yang tidak dikonfigurasi dengan benar (RLS) atau kunci sensitif yang terbuka dapat menyebabkan insiden paparan data yang signifikan. [S2] [S3]
Apa yang berubah
Penelitian ini mengkonsolidasikan kontrol keamanan inti untuk lingkungan Supabase berdasarkan pedoman arsitektur resmi. [S1] Ini berfokus pada transisi dari konfigurasi pengembangan default ke postur produksi yang diperkuat, khususnya mengenai mekanisme kontrol akses. [S2] [S3]
Siapa yang terpengaruh
Aplikasi yang menggunakan Supabase sebagai Backend-as-a-Service (BaaS) akan terpengaruh, terutama aplikasi yang menangani data khusus pengguna atau aset pribadi. [S2] Pengembang yang menyertakan kunci service_role dalam bundel sisi klien atau gagal mengaktifkan RLS berisiko tinggi. [S1]
Cara kerja masalah ini
Supabase memanfaatkan Keamanan Tingkat Baris PostgreSQL untuk membatasi akses data. [S2] Secara default, jika RLS tidak diaktifkan pada tabel, setiap pengguna dengan kunci anon—yang seringkali bersifat publik—dapat mengakses semua catatan. [S1] Demikian pula, Penyimpanan Supabase memerlukan kebijakan eksplisit untuk menentukan pengguna atau peran mana yang dapat melakukan operasi pada bucket file. [S3]
Apa yang didapat penyerang
Penyerang yang memiliki kunci API publik dapat mengeksploitasi tabel yang tidak memiliki RLS untuk membaca, memodifikasi, atau menghapus data milik pengguna lain. [S1] [S2] Akses tidak sah ke bucket penyimpanan dapat mengakibatkan tereksposnya file pengguna pribadi atau penghapusan aset aplikasi penting. [S3]
Bagaimana FixVibe mengujinya
FixVibe sekarang mencakup ini sebagai bagian dari pemeriksaan Supabase. baas.supabase-security-checklist-backfill meninjau Supabase publik Metadata keranjang penyimpanan, paparan daftar objek anonim, penamaan keranjang sensitif, dan sinyal Penyimpanan tidak terikat dari batas langsung publik. Pemeriksaan langsung terkait memeriksa paparan kunci peran layanan, postur Supabase REST/RLS, dan migrasi SQL repositori untuk RLS yang hilang.
Apa yang harus diperbaiki
Selalu aktifkan Keamanan Tingkat Baris pada tabel database dan terapkan kebijakan terperinci untuk pengguna yang diautentikasi. [S2] Pastikan hanya kunci 'anon' yang digunakan dalam kode sisi klien, sedangkan kunci 'service_role' tetap ada di server. [S1] Konfigurasikan Kontrol Akses Penyimpanan untuk memastikan bahwa bucket file bersifat pribadi secara default dan akses hanya diberikan melalui kebijakan keamanan yang ditentukan. [S3]
