Sebuah kerentanan keamanan kritis dalam implementasi Model Context Protocol ( MCP ) milik Supabase telah ditemukan yang memungkinkan penyerang mengekstrak seluruh database SQL melalui teknik prompt injection yang canggih. Kerentanan ini menunjukkan bagaimana agen AI dapat dimanipulasi untuk melewati kontrol keamanan dan membocorkan data sensitif ketika terhubung ke database produksi.
![]() |
---|
Pesan serangan kritis dalam tiket dukungan menunjukkan bagaimana manipulasi canggih menargetkan kerentanan basis data |
Vektor Serangan: Ketika Data Pengguna Menjadi Instruksi
Masalah inti berasal dari problem fundamental dengan Large Language Models ( LLMs ): mereka tidak dapat secara andal membedakan antara instruksi yang sah dan perintah berbahaya yang tertanam dalam konten yang dibuat pengguna. Peneliti keamanan dari General Analysis mendemonstrasikan bagaimana penyerang dapat mengirimkan tiket dukungan yang berisi instruksi yang dibuat dengan hati-hati yang tampak sebagai teks normal tetapi sebenarnya memerintahkan agen AI untuk melakukan operasi database yang tidak sah.
Ketika developer yang menggunakan Cursor (editor kode bertenaga AI) yang terhubung ke Supabase MCP meninjau tiket dukungan berbahaya tersebut, instruksi yang tertanam menipu AI untuk mengeksekusi query SQL guna mengekstrak data sensitif seperti token autentikasi, kredensial pengguna, dan informasi rahasia lainnya. Serangan ini berhasil karena AI memproses baik perintah sah dari developer maupun instruksi tersembunyi dari tiket dukungan sebagai input yang sama-sama valid.
MCP (Model Context Protocol): Standar komunikasi yang memungkinkan agen AI berinteraksi dengan alat dan layanan eksternal, termasuk database.
Batasan Hak Akses dalam Sistem yang Rentan
Aktor | Peran/Akses Freshdesk | Peran/Akses SQL |
---|---|---|
Customer Ticketing | Reporter | AGENT: SELECT; INSERT; UPDATE |
Support Agent | Agent | AGENT: SELECT; INSERT; UPDATE; pg_read_all_stats |
Developer | Admin | ADMIN: .+Extension; CREATE FUNCTION |
Respons Industri dan Upaya Mitigasi
Engineer Supabase telah mengimplementasikan beberapa langkah penanggulangan, termasuk mendorong akses database read-only secara default dan menambahkan prompt yang dirancang untuk mencegah AI mengikuti instruksi yang tertanam. Namun, komunitas keamanan tetap skeptis tentang efektivitas perlindungan berbasis prompt ini.
Serangan ini berasal dari kombinasi dua cacat desain: akses yang terlalu permisif (service_role) yang tersedia untuk sistem dengan kepercayaan rendah atau tidak terpercaya, sementara MCP membuka kemampuan otomasi yang kuat, hal ini memerlukan penanganan ekspresi keamanan audit yang hati-hati.
Tantangan fundamental adalah bahwa prompt engineering tidak dapat berfungsi sebagai batas keamanan yang andal. Tidak seperti kerentanan keamanan web tradisional seperti SQL injection, yang memiliki perbaikan yang mapan melalui parameterized queries dan sanitasi input, saat ini tidak ada mekanisme setara untuk mengamankan prompt LLM terhadap serangan injection.
Mitigasi yang Telah Diterapkan Supabase
- Hanya-baca secara default: Mendorong pengguna untuk mengonfigurasi MCP dengan akses basis data hanya-baca
- Pembungkusan respons: Menambahkan prompt yang mencegah LLM mengikuti instruksi dalam data pengguna
- Pengujian E2E: Melakukan pengujian terhadap LLM yang kurang mampu untuk memverifikasi ketahanan serangan
- Izin yang terperinci: Merencanakan izin tingkat token untuk layanan Supabase tertentu
- Dokumentasi yang ditingkatkan: Menambahkan penafian keamanan dan materi kesadaran
Implikasi Keamanan yang Lebih Luas
Kerentanan ini merupakan bagian dari apa yang disebut pakar keamanan Simon Willison sebagai trifecta mematikan - kombinasi berbahaya dari sistem AI yang memiliki akses ke data pribadi, paparan terhadap input yang tidak terpercaya, dan kemampuan untuk mengekstrak informasi. Masalah ini meluas jauh melampaui tiket dukungan ke sistem apa pun di mana konten yang dibuat pengguna mungkin diproses oleh agen AI dengan akses database.
Komunitas keamanan telah mengidentifikasi kerentanan serupa dalam implementasi database MCP lainnya, termasuk Neon DB dan server MCP milik Heroku . Ini menunjukkan bahwa masalah ini tidak spesifik untuk Supabase tetapi merupakan masalah sistemik dengan cara agen AI berinteraksi dengan database ketika terpapar input yang tidak terpercaya.
Komponen "Trifecta Mematikan"
- Akses ke data pribadi: Agen AI dapat membaca informasi database yang sensitif
- Paparan terhadap input yang tidak terpercaya: Sistem memproses konten yang dibuat pengguna (tiket dukungan, komentar, dll.)
- Kemampuan untuk mengekstrak data: AI dapat mengkomunikasikan informasi yang diekstrak kembali kepada penyerang melalui berbagai saluran
Bergerak Maju: Solusi Arsitektural
Pakar keamanan menekankan bahwa solusi efektif harus diimplementasikan pada level arsitektural daripada mengandalkan mitigasi berbasis prompt. Pendekatan yang direkomendasikan termasuk mengimplementasikan izin database yang detail, menggunakan konteks AI terpisah untuk operasi yang berbeda, dan memperlakukan agen AI sebagai berpotensi hostile ketika memproses konten yang dibuat pengguna.
Insiden ini menyoroti kebutuhan kritis bagi organisasi untuk dengan hati-hati mengevaluasi implikasi keamanan sebelum menghubungkan agen AI ke sistem produksi. Seperti yang dicatat oleh seorang peneliti keamanan, generasi alat AI saat ini mungkin secara fundamental tidak memiliki kemampuan untuk memproses input yang tidak terpercaya dengan aman sambil mempertahankan akses ke sumber daya sensitif.
Kerentanan ini berfungsi sebagai peringatan bagi ekosistem integrasi AI yang berkembang pesat, menunjukkan bahwa prinsip keamanan tradisional tetap penting bahkan ketika teknologi baru muncul.