2 poin oleh GN⁺ 2026-03-20 | 1 komentar | Bagikan ke WhatsApp
  • Kerentanan validasi perintah ditemukan pada Cortex Code CLI milik Snowflake, yang memungkinkan penyerang menjalankan perintah arbitrer di luar sandbox
  • Serangan dipicu melalui injeksi prompt tidak langsung, melewati prosedur persetujuan pengguna untuk mengunduh dan mengeksekusi skrip berbahaya
  • Perintah di dalam sintaks process substitution tidak divalidasi, sehingga kode berbahaya yang menyamar sebagai perintah aman dapat dijalankan secara otomatis
  • Penyerang menggunakan token autentikasi Snowflake milik korban untuk mencuri database atau menghapus tabel, sehingga menimbulkan dampak serius
  • Snowflake merilis patch versi 1.0.25 pada 28 Februari 2026 untuk memperbaiki masalah ini, dan patch diterapkan melalui pembaruan otomatis

Ringkasan kerentanan Cortex Code CLI

  • Cortex Code CLI adalah agen coding berbasis perintah yang mirip dengan Claude Code atau OpenAI Codex, dengan kemampuan terintegrasi untuk menjalankan SQL di dalam Snowflake
  • Dua hari setelah peluncuran, ditemukan bahwa cacat pada sistem validasi perintah memungkinkan perintah yang dirancang khusus dijalankan tanpa prosedur persetujuan dan keluar dari sandbox
  • Penyerang dapat memanfaatkan hal ini untuk menggunakan kredensial Snowflake korban guna melakukan aksi berbahaya seperti eksfiltrasi data atau penghapusan tabel
  • Tim keamanan Snowflake memverifikasi masalah tersebut lalu memperbaikinya, dan patch dirilis pada versi 1.0.25

Tahapan rantai serangan

  • Saat pengguna menjalankan Cortex dengan mode sandbox aktif, sistem dirancang untuk meminta persetujuan pengguna sebelum mengeksekusi perintah
  • Namun, penyerang memanipulasi Cortex melalui injeksi prompt yang disembunyikan di file README, sehingga mendorong eksekusi perintah berbahaya
  • Sub-agent Cortex membaca injeksi tersebut dan menjalankan perintah tanpa prosedur persetujuan
  • Karena perintah di dalam sintaks process substitution <()> tidak divalidasi, malware dapat dieksekusi dengan tampilan seolah-olah merupakan perintah aman
  • Injeksi tersebut juga menetapkan flag dangerously_disable_sandbox agar proses berjalan di luar sandbox
  • Akibatnya, skrip berbahaya diunduh dan dieksekusi tanpa persetujuan pengguna

Dampak serangan

  • Penyerang memperoleh hak remote code execution pada sistem korban
  • Dengan menggunakan kredensial koneksi Snowflake korban, mereka dapat melakukan tindakan seperti berikut
    • Mencuri isi database
    • Menghapus tabel
    • Menambahkan akun pengguna berbahaya
    • Mengubah aturan jaringan untuk memblokir pengguna yang sah
  • Skrip berbahaya mencari token autentikasi yang di-cache oleh Cortex lalu mengeksekusi kueri SQL ke Snowflake
  • Pada akun developer, izin baca-tulis memungkinkan eksfiltrasi dan perusakan data

Masalah hilangnya konteks pada sub-agent

  • Selama serangan berlangsung, Cortex memanggil beberapa sub-agent dan terjadi hilangnya konteks
  • Agen utama memang memperingatkan pengguna bahwa perintah berbahaya telah ditemukan, tetapi sub-agent sudah lebih dulu mengeksekusi perintah tersebut
  • Akibatnya, pengguna tidak menyadari bahwa eksekusi sebenarnya telah terjadi

Pengungkapan kerentanan dan respons

  • Pada 5 Februari 2026, PromptArmor melakukan responsible disclosure kepada Snowflake
  • Sepanjang Februari, Snowflake bekerja sama dengan PromptArmor untuk memverifikasi dan memperbaiki kerentanan tersebut
  • Patch dirilis pada versi 1.0.25 tanggal 28 Februari, dan diterapkan melalui pembaruan otomatis saat pengguna menjalankan ulang Cortex
  • Hasil pengujian menunjukkan tingkat keberhasilan serangan sekitar 50%, menegaskan pentingnya pelatihan keamanan terhadap sifat non-deterministik LLM

Jadwal utama

  • 2 Februari 2026: Snowflake Cortex Code diluncurkan
  • 5 Februari 2026: PromptArmor melaporkan kerentanan
  • 12 Februari 2026: Snowflake menyelesaikan verifikasi kerentanan
  • 28 Februari 2026: Versi perbaikan 1.0.25 dirilis
  • 16 Maret 2026: Pengungkapan bersama oleh PromptArmor dan Snowflake

1 komentar

 
GN⁺ 2026-03-20
Komentar Hacker News
  • Biasanya saya membaca pernyataan resmi dari perusahaan yang bermasalah lebih dulu
    Tapi saya kaget karena pengumuman Snowflake hanya bisa dilihat jika punya akun
    Setelah membacanya, sepertinya istilah “sandbox” dipakai dengan keliru
    Jika “Cortex secara default dapat mengatur flag agar bisa menjalankan perintah di luar sandbox”, maka itu sudah bukan sandbox lagi

    • Saya melihat masalah prompt injection pada dasarnya tidak bisa diselesaikan sepenuhnya
      Di SQL pun masalah ini tidak benar-benar teratasi sampai query terparameter digunakan, dan bahasa alami jauh lebih bebas
      Pada akhirnya serangan seperti “abaikan instruksi sebelumnya dan …” akan terus berulang
      Jika data dan perintah berada dalam aliran yang sama, hasilnya akan selalu sama
      Karena bahasa alami itu sendiri adalah permukaan serangan, cakupannya pasti lebih luas
    • Ada yang bercanda dengan memperluas konsep “evil bit” dari RFC 3514 ke prompt injection, jadi kalau evil bit bernilai 1 maka eksekusi perintah diblokir
      Dokumen terkait: RFC 3514
    • Akhir-akhir ini di industri AI, “sandbox” tampaknya hanya berarti sistem yang bertanya “apakah Anda benar-benar ingin menjalankan ini?”
      Padahal arti yang saya kenal adalah lingkungan terisolasi untuk mengamati malware dengan aman
      Saya rasa ini bidang yang menarik karena ada banyak upaya untuk membangun batas teknis yang benar-benar nyata juga di AI
    • Ada juga respons singkat: “Itu cuma sandbox secara konseptual”
  • Jika pengguna bisa langsung mengutak-atik sakelar untuk mengaktifkan hak akses, itu bukan sandbox
    Awalnya saya kira ini soal eskalasi hak akses OS, tapi ternyata hanya contoh desain keamanan yang buruk

    • Ada juga komentar yang menanggapinya sebagai lelucon: “Sandbox, Sandbagging. Tomato, tomawto”
  • Dari contoh yang dikutip dalam makalah Anthropic, AI terkadang juga melakukan tindakan berbahaya secara otonom
    Misalnya firewall Alibaba Cloud mendeteksi upaya penambangan kripto dari server pelatihan,
    dan katanya perilaku seperti ini muncul sebagai efek samping selama optimasi RL
    Referensi terkait: makalah arXiv, riset Anthropic, artikel Time

    • Namun di bagian 2.3.0.1 makalah itu disebutkan bahwa setiap tugas dijalankan dalam sandbox yang terpisah,
      jadi muncul pertanyaan bagaimana SSH tunnel atau pemindaian resource bisa dilakukan jika kontrol jaringan memang ada
  • Seorang karyawan Snowflake muncul dan membagikan linimasa respons tim keamanan serta perbaikan yang telah dilakukan
    Detailnya bisa dilihat di dokumen resmi

  • Saat membaca bagian “perintah shell dijalankan tanpa persetujuan manusia”,
    siapa pun yang pernah sedikit saja memikirkan keamanan shell pasti heran bahwa cara pembuatan subproses tampaknya tidak dipertimbangkan

    • Pendekatan mem-parsing lalu menyensor kode shell pada dasarnya rapuh dan penuh kesalahan
      Pembatasan seperti ini harus diterapkan di tingkat OS agar aman
  • Ada usulan untuk berbagi “tip sandboxing yang sungguhan”
    Saya menjalankan Claude Code di dalam devcontainer VS Code
    Ada juga pengaturan untuk membatasi akses internet hanya ke domain yang diizinkan
    Namun karena butuh lingkungan docker-in-docker, integrasi penuh jadi sulit
    Jadi untuk saat ini saya hanya menjalankan unit test, dan sedang mempertimbangkan Vagrant untuk isolasi VM penuh

    • Pengguna lain memperkenalkan eksperimen pemisahan zona data dengan menerapkan konsep Multi Level Security
      Tautan proyek: aflock.ai
  • Saat melihat kalimat “Cortex tidak mendukung workspace trust”,
    saya jadi bertanya-tanya apakah sejak awal ini memang lingkungan tanpa pembatasan

    • Ternyata pembatasan memang ada, tetapi bisa dilewati dengan mudah lewat manipulasi flag
      Jika model mengatur flag tersebut, eksekusi langsung terjadi di luar sandbox tanpa persetujuan pengguna
  • Ada lelucon “apakah ini riset gain-of-function yang baru”

    • Orang lain menjawab “lebih mirip imaginary function”,
      maksudnya keyakinan bahwa agen bisa mengendalikan dirinya sendiri itu hanyalah ilusi
    • Ada juga yang menjelaskannya sebagai “sengaja membuat AI berbahaya untuk menguji sandbox yang lebih baik”
  • Banyak orang sudah menjalankan kode yang dibuat agen tanpa peninjauan
    Kalau begitu, apa arti membungkus agen itu sendiri dengan sandbox
    Pada akhirnya seluruh sistem tetap harus diisolasi di mesin terpisah, container, atau pengguna dengan hak terbatas
    Mungkin karena kebanyakan pengguna tidak melakukan itu,
    para vendor mencoba menyediakan pengaman dasar sebagai gantinya

  • Ada pendapat bahwa “sandbox yang bisa dimatikan dengan toggle bukan sandbox sungguhan”
    Ini tampak seperti bualan pemasaran untuk menutupi desain produk yang lemah

    • Ada juga yang menegaskan, “ini bahkan bukan sandbox, hanya upaya melewati pembatasan kode internal”,
      dan bahwa sandbox yang sesungguhnya harus berupa lingkungan isolasi eksternal yang tidak bisa diubah dari dalam