Perusahaan keamanan AI PromptArmor mengungkap rantai serangan terhadap Databricks Genie Code: sebuah skill yang disisipi kode berbahaya bisa mengirim data milik tenant ke server penyerang tanpa disadari pengguna, sekaligus memunculkan jendela login phishing di jendela obrolan. Dari empat kontrol keamanan resmi yang diperiksa PromptArmor, tidak satu pun yang berhasil menghentikan rantai serangan ini.
Genie Code adalah asisten agen bawaan Databricks: pengguna cukup meminta dengan bahasa alami untuk melakukan query tabel, menjalankan analisis, atau membuat grafik, dan hasilnya langsung dirender di jendela obrolan berbasis web. Skill adalah paket kemampuan yang bisa diunggah ke agen tersebut — isinya teks instruksi, tapi juga bisa menyertakan kode yang bisa dieksekusi.
Cara serangan ini bekerja
Demo yang ditunjukkan PromptArmor hanya terdiri dari empat langkah. Pengguna mengunggah skill analisis data yang terlihat normal dan meminta Genie menganalisis suatu dataset dengan skill itu; Genie menjalankan kode di dalam skill tersebut, sementara agen guardrail yang bertugas menyaring gagal mengenali fungsi berbahayanya; Genie kemudian mengarahkan pengguna untuk "membuka hasil analisis lengkap"; begitu hasil itu dirender, jendela phishing muncul, dan pada saat yang sama data sudah dikirim keluar.
Teknik pencurian datanya sendiri sederhana. Kode skill pertama-tama membaca data sensitif di tenant korban, lalu menyisipkannya ke dalam blok HTML yang akan ditampilkan di jendela obrolan; JavaScript di dalam HTML itu mengirim permintaan jaringan dari browser pengguna sendiri, mengirimkan data tersebut ke server penyerang. Jendela phishing juga dirender dari HTML yang sama, ditumpuk di atas halaman Genie, memancing pengguna memasukkan akun dan kata sandi. Tidak ada satu pun langkah dalam proses ini yang memerlukan persetujuan manual.
Mengapa keempat kontrol sama-sama tidak berfungsi
- Tata kelola skill tingkat organisasi: Genie memuat skill dari workspace pribadi pengguna, bukan hanya dari katalog yang dikelola terpusat oleh organisasi, sehingga admin tidak bisa mengontrol skill yang diunggah sendiri oleh pengguna;
- Agen guardrail: Databricks sendiri memposisikannya sebagai "fitur efisiensi yang diupayakan sebaik mungkin", bukan sesuatu yang dijamin berfungsi sebagai batas keamanan;
- Kontrol keluar pada lingkungan eksekusi kode: yang dibatasi adalah trafik keluar dari lingkungan eksekusi kode, sementara data justru keluar lewat browser pengguna, jadi lapisan ini tidak melihatnya;
- Sandbox tampilan obrolan: skill hanya memakai data yang sudah diperolehnya untuk menyusun konten yang ditampilkan, sehingga tidak ada pengecekan ulang data tenant pada tahap render.
Keempat kontrol itu masing-masing punya alasan yang masuk akal, tapi begitu digabungkan, tetap menyisakan satu celah. PromptArmor melaporkan masalah ini ke Databricks pada 16 Agustus, kedua pihak berkoordinasi sekitar satu bulan, dan pada 16 September PromptArmor memberi tahu bahwa mereka akan mempublikasikan temuan ini.
Sikap Databricks dalam jawabannya cukup tegas:
"it is ultimately the user's responsibility to ensure that uploaded skills do not contain malicious content"
(memastikan skill yang diunggah tidak mengandung konten berbahaya, pada akhirnya adalah tanggung jawab pengguna.)
Soal fitur persetujuan otomatis yang memungkinkan pengguna melewati konfirmasi satu per satu, Databricks juga menyatakan fitur itu "tidak dimaksudkan sebagai batas keamanan", dan dokumentasi resminya menyarankan untuk tidak digunakan di lingkungan produksi.
Celah serupa juga ada di tempat lain
Jika laporan-laporan yang dipublikasikan PromptArmor selama setahun terakhir dijejerkan, permukaan serangannya sangat mirip satu sama lain. Perusahaan ini sebelumnya pernah mengungkap kebocoran berkas dari Claude Cowork dan kebocoran data dari Google Antigravity, dengan pola yang sama: membuat agen membaca konten sensitif, lalu membawanya keluar lewat rendering, tautan, atau panggilan jaringan. Yang berbeda adalah titik masuknya — kasus-kasus sebelumnya kebanyakan mengandalkan prompt injection, sementara kali ini diganti dengan skill, jenis plugin yang langsung menjalankan kode begitu terpasang.
Bagi perusahaan, skill lebih sulit dihadapi dibanding sepotong teks injeksi. Teks injeksi setidaknya harus bersembunyi di suatu halaman web atau dokumen dan menunggu dibaca oleh agen; skill justru diinstal sendiri oleh pengguna, sehingga dari awal sudah mendapat kepercayaan. Dunia akademis tahun ini juga ramai membahas soal ini — benchmark khusus untuk mengevaluasi skill berbahaya sudah muncul di arXiv, dan tingkat lolos deteksi alat-alat yang ada secara umum masih tidak rendah.
Tidak sedikit tim di Tiongkok juga sedang menyambungkan agen ke platform data dan membuka marketplace plugin, dan insiden ini memberikan daftar periksa yang cukup konkret: apakah skill hanya bisa dimuat dari katalog yang sudah diperiksa admin, apakah HTML keluaran agen bisa menjalankan skrip atau mengirim permintaan ke domain eksternal, apakah fitur persetujuan otomatis di lingkungan produksi secara default dimatikan. Jika salah satu dari ketiga hal ini saja tidak terkunci, rantai serangan yang didemonstrasikan PromptArmor berpeluang terulang.
Rekomendasi dari PromptArmor juga mengarah ke poin-poin yang sama: jangan menyalakan persetujuan otomatis untuk data produksi, dan waspadai paket yang sudah diracuni di marketplace skill. Apakah Databricks akan menambahkan filter lalu lintas keluar di level produk, sampai sekarang belum ada pernyataan resmi.
Sumber: laporan riset keamanan PromptArmor, dokumentasi produk Databricks Genie Code, CocoLoop, makalah arXiv tentang skill berbahaya; garis waktu pengungkapan dan kutipan jawaban Databricks mengikuti laporan PromptArmor.