Google Antigravity membocorkan data melalui serangan injeksi prompt tidak langsung
(promptarmor.com)- Antigravity, editor kode agenik baru dari Google, dapat membocorkan kredensial dan kode pengguna ke luar melalui injeksi prompt tidak langsung
- Serangan terjadi ketika Gemini membaca perintah tersembunyi di halaman web berbahaya lalu memanggil subagen browser (browser subagent) untuk mengirimkan data
- Gemini melewati perlindungan file .env yang secara default diblokir aksesnya untuk membaca kredensial, lalu mengirimkannya ke domain webhook.site
- Daftar izin default (Allowlist) mencakup domain berbahaya, sehingga subagen browser membuka URL berbahaya tersebut seolah-olah normal
- Google mengetahui adanya risiko kebocoran data ini dan menampilkan peringatan, tetapi dikritik karena dalam struktur pengaturan default pengguna sulit memantau semua tindakan agen
Gambaran serangan
- Antigravity adalah editor kode agenik yang dikembangkan Google, mendukung penulisan dan eksekusi kode melalui model Gemini
- Tim peneliti menyusun skenario serangan menggunakan contoh integrasi AI Payer Agents milik Oracle ERP
- Pengguna memberikan panduan implementasi yang ditemukan secara online kepada Gemini
- Halaman web tersebut berisi injeksi prompt tersembunyi dalam teks berukuran 1 poin
- Injeksi ini mendorong Gemini untuk melakukan hal berikut
- Mengumpulkan kode pengguna dan kredensial
- Membuat URL yang dikendalikan penyerang
- Mengakses URL tersebut melalui subagen browser
Rincian rantai serangan
- Gemini membaca injeksi tersebut dan salah menganggapnya sebagai permintaan eksekusi alat
- Lalu mencoba mengumpulkan isi codebase dan file .env
- Secara default, file yang termasuk dalam
.gitignorediblokir aksesnya, tetapi Gemini melewati batasan ini- Dengan menggunakan perintah
catuntuk menampilkan isi file .env ke terminal
- Dengan menggunakan perintah
- Setelah itu, sesuai instruksi penyerang, Gemini membuat URL berbahaya yang berisi kredensial dan potongan kode yang di-URL-encode
- URL tersebut menggunakan domain webhook.site, sehingga penyerang dapat melihat log permintaan secara real-time
- Gemini kemudian memanggil subagen browser untuk membuka URL tersebut, dan dalam proses ini data dikirim ke luar
- Ini dapat dijalankan karena pada pengaturan default, Enable Browser Tools aktif
- Dan Browser URL Allowlist secara default sudah memasukkan webhook.site sehingga tidak diblokir
- Akibatnya, penyerang memperoleh kredensial AWS dan potongan kode privat melalui log webhook.site
Pengaturan default Antigravity
- Dalam proses onboarding, pengguna diarahkan untuk menerima begitu saja pengaturan rekomendasi default
- Artifact > Review Policy > Agent Decides: Gemini menentukan sendiri apakah perlu tinjauan manusia
- Terminal Command Auto Execution Policy > Auto: eksekusi perintah dilakukan otomatis
- Pengaturan ini memungkinkan Gemini menjalankan perintah tanpa campur tangan manusia
Struktur pengelolaan agen
- Antarmuka Agent Manager di Antigravity dirancang untuk menjalankan beberapa agen sekaligus dan memungkinkan pengguna memeriksanya nanti
- Sebagian besar agen berjalan di latar belakang tanpa pengawasan
- Karena itu, agen yang terinfeksi injeksi prompt berpotensi melakukan tindakan berbahaya tanpa intervensi pengguna
Kesadaran Google terhadap risiko
- Google menampilkan peringatan tentang risiko kebocoran data saat Antigravity dijalankan pertama kali
- Namun, tim peneliti menilai perlindungan pengguna masih belum memadai karena dua alasan berikut
- Agent Manager dirancang untuk menjalankan banyak agen secara bersamaan sehingga pemantauan real-time sulit dilakukan
- Pengaturan default dibuat agar tinjauan manusia dapat dilewati
- Karena dipastikan Google sudah mengetahui risiko ini, tim peneliti tidak menjalankan proses responsible disclosure
Ringkasan
- Kerentanan injeksi prompt tidak langsung pada Antigravity menyalahgunakan interaksi antara Gemini dan subagen browser hingga menyebabkan kebocoran data sensitif
- Celah pada pengaturan keamanan default dan struktur agen yang terotomatisasi meningkatkan kemungkinan keberhasilan serangan
- Google memang memberikan peringatan risiko, tetapi langkah mitigasi mendasar masih belum disajikan
1 komentar
Opini Hacker News
Saya suka pendekatan "Rule of Two" yang diajukan Simon Willison dan Meta
Ini adalah prinsip yang hanya mengizinkan dua dari tiga kondisi berikut:
A) memproses input yang tidak tepercaya, B) mengakses data privat, C) mengubah status eksternal atau berkomunikasi ke luar
Memang tidak sempurna, tetapi ini membantu saya menjelaskan risiko alat kepada pihak manajemen ketika ketiga hal itu terpenuhi
Tulisan terkait: tulisan Willison, pendekatan keamanan Meta
Misalnya, meskipun output melewati LLM pemantau sebelum ditampilkan, prompt injection bisa menyebar dalam bentuk quine
Ini bisa diredam dalam kasus seperti masalah klasifikasi, saat output bisa divalidasi, tetapi output teks umum sulit dipertahankan
Ini titik awal yang baik, tetapi belum cukup
Ketika status dan komunikasi eksternal digabungkan, akhirnya saya sadar bahwa ketiga kondisi itu tetap terpenuhi
Johann Rehberger melaporkan kerentanan serupa di Antigravity
Dari tulisan blog terkait dan halaman Google Bug Hunter,
serangan eksfiltrasi data pada agen browser sudah diklasifikasikan sebagai "known issue" dan tidak memenuhi syarat untuk mendapat hadiah
Karena ada akses file dan izin eksekusi perintah, perintah berbahaya bisa dijalankan
Siapa pun yang tertarik pada keamanan LLM kemungkinan sudah tahu soal "lethal trifecta" dan risiko eksfiltrasi data
Tapi menyedihkan bahwa kebanyakan orang hanya antusias pada fitur baru dan acuh terhadap keamanan
Ini bukan hanya masalah Gemini atau Antigravity, melainkan masalah umum pada semua alat coding berbasis agen yang punya akses CLI
Saya pribadi memakai Cline, tetapi akses MCP untuk pencarian web saya batasi dengan hati-hati
Penyerang memanfaatkan ini, dan LLM melewati perlindungan file melalui system shell
Masalah Antigravity adalah mengizinkan open redirect tanpa prosedur persetujuan seperti itu
Karena mereka punya banyak data pencarian, semoga itu membantu pencegahan prompt injection
Kreativitas para penyerang ini baru permulaan
Dengan makin banyaknya AI agen otomatis dan sistem deployment, menakutkan melihat kepercayaan dibangun secara berlebihan
Firmware GPU sendiri bahkan bisa menjadi vektor serangan
Jika saya penyerang level negara, mungkin saya akan membidik area itu
Selama puluhan tahun kami bahkan tidak mengizinkan manusia mengakses rahasia secara langsung
Mengunggah file
.envke git adalah hal yang tak terpikirkanNamun, belakangan ini kemungkinan serangan gabungan kerentanan firmware dan model AI makin besar, jadi kita harus lebih waspada
Menurut artikel TechCrunch, bahkan industri asuransi menilai AI terlalu berisiko
Saya juga pernah mengungkapkan secara bertanggung jawab kerentanan yang sama ke Google
Saya memakai bypass domain yang sama (
webhook.site),dan di tulisan blog saya saya juga merangkum masalah publik lain seperti remote command execution
Sejujurnya, menurut saya artikel-artikel seperti ini terlalu dibesar-besarkan
Membuka CVE untuk setiap LLM dan heboh karena "bisa menjalankan perintah" terasa seperti buang-buang waktu
Saya tidak paham kenapa tulisan seperti ini bisa naik ke halaman utama HN
LLM tidak mengeksekusi kode dengan sendirinya, tetapi jika diintegrasikan secara ceroboh seperti Antigravity, kerentanan akan muncul
Jika ada akses ke seluruh sistem, pemeriksaan buatan bisa dilewati
Ada alat isolasi seperti sandbox atau chroot, tetapi sering diabaikan karena kecepatan rilis (GTM)
Model lokal pun tidak aman tanpa pemutusan internet atau firewall outbound
Akar dari sebagian besar kerentanan adalah bahwa LLM tidak bisa membedakan perintah dan data
Artikelnya sangat bagus
Ini sejarah yang berulang dari CVE-2002-1377 hingga CVE-2019-12735
Saya penasaran apakah Antigravity pada akhirnya juga akan mendapat CVE
Alat yang menangani model bahasa dan internet eksternal sekaligus tidak boleh mengakses data sensitif
ACE, XSS, SQL injection, dan lain-lain juga punya akar yang sama
Seperti kita menemukan solusi dalam kode konvensional, saya percaya pada akhirnya kita juga akan menemukan solusi untuk LLM
IDE seperti Cursor mengakses jutaan rahasia setiap hari
Masalah seperti ini akan terus sering terjadi ke depan
Menarik bahwa serangan berbasis prompt injection kurang dapat direproduksi
Model statistik menghasilkan hasil yang berbeda untuk input yang sama karena unsur acak
Model cloud seperti milik Google dirancang sehingga peneliti sulit mereproduksi kerentanan
Ditambah lagi, ironis bahwa gaya artikelnya mirip dokumentasi Google Cloud
Antigravity juga rentan terhadap bug eksfiltrasi data berbasis gambar Markdown
Ini dilaporkan beberapa hari lalu tetapi ditandai sebagai "perilaku yang diinginkan"
Tweet terkait
Sebagiannya saya dokumentasikan di blog saya