Cukup satu permintaan yang terdengar remeh — "ringkas isi situs ini" — sudah cukup untuk membajak Claude Code yang berjalan dalam Auto Mode dan memaksanya mengeksekusi kode milik penyerang di komputer korban. Peneliti keamanan Johann Rehberger, yang menulis dengan nama pena "wunderwuzzi" di blog Embrace The Red, mendemonstrasikan rantai serangan lima langkah yang berhasil 60-80% dari waktu percobaan pada Claude Code yang menjalankan Opus 5 di mode otonom penuh (Embrace The Red). Temuan ini janggal justru karena kontras dengan klaim Anthropic sendiri: dalam pengujian tolok ukur tetap, Opus 5 Auto Mode disebut mencatat tingkat keberhasilan prompt injection 0,00% (The Register).
Rantai lima langkah, dimulai dari kode error yang tampak biasa
Serangan ini bukan satu eksploit tunggal, melainkan rangkaian langkah kecil yang masing-masing tampak wajar sendiri-sendiri, tapi menumpuk jadi kompromi penuh. Titik masuknya adalah indirect prompt injection klasik: instruksi berbahaya disisipkan di halaman web yang diminta pengguna untuk diringkas oleh Claude Code. Alih-alih langsung memberi perintah berbahaya, halaman itu memicu kode status HTTP 415 (Unsupported Media Type) saat Claude Code mencoba mengaksesnya lewat tool WebFetch bawaan — memaksa agen "menyerah" pada WebFetch dan beralih ke curl lewat command line, jalur yang justru lebih longgar pengawasannya (cybersecurity news).
Begitu Claude Code beralih ke curl, instruksi tersembunyi menuntunnya mengunduh sebuah arsip ZIP dan mengekstraknya ke direktori kerja. Arsip itu berisi file bernama struct.py — nama yang sengaja dipilih karena identik dengan salah satu modul inti pustaka standar Python. Ketika Claude Code kemudian menulis dan menjalankan skrip Python yang melakukan import struct untuk keperluan yang tampak tak berbahaya, interpreter Python memuat file lokal hasil ekstraksi ZIP itu duluan, bukan modul asli dari pustaka standar — teknik yang dikenal sebagai module shadowing (GBHackers).
Kenapa modul palsu bisa lolos tanpa dicurigai
Bagian paling elegan sekaligus paling meresahkan dari rantai ini adalah bagaimana struct.py palsu tadi menyembunyikan aksinya. Modul jahat itu tidak langsung menjalankan payload utama di proses yang sedang diawasi; ia justru meluncurkan proses Python terisolasi yang terpisah, lalu proses itulah yang mengunduh muatan tahap-lanjut dari server penyerang, membuka koneksi command-and-control, dan — sebagai bukti visual kompromi berhasil — membuka aplikasi Kalkulator di layar korban. Rehberger melaporkan tingkat keberhasilan 60-80% pada rangkaian pengujian kecilnya, angka yang cukup tinggi untuk sebuah rantai lima tahap yang bergantung pada beberapa keputusan berurutan dari model bahasa.
Simon Willison, pengembang dan pengamat AI yang dikenal luas mendokumentasikan pola serangan prompt injection sejak awal kemunculan agen AI, menandai temuan ini sebagai contoh terbaru dari kelas kerentanan yang ia sebut "lethal trifecta" — kombinasi akses ke data pribadi, paparan ke konten tak tepercaya, dan kemampuan berkomunikasi keluar, yang bila berkumpul di satu agen otonom nyaris selalu berujung eksploitasi (Simon Willison). Auto Mode, yang dirancang justru untuk mengurangi konfirmasi manual pada setiap langkah agen, menyediakan ketiga syarat itu sekaligus: ia membaca web (konten tak tepercaya), berjalan dengan akses penuh ke sistem file lokal (data pribadi/kode), dan bisa mengeksekusi perintah jaringan (jalur keluar).
Klaim nol persen versus kenyataan lapangan
Yang membuat temuan ini menonjol dibanding laporan prompt injection sebelumnya adalah letak kontradiksinya. Anthropic sempat mempromosikan hasil pengujian internal yang menunjukkan Opus 5 Auto Mode mencatat 0,00% keberhasilan serangan prompt injection pada rangkaian skenario tolok ukur tetap — angka yang dipakai sebagai bukti keamanan mode otonom ini. Rehberger menunjukkan celahnya: tolok ukur tetap menguji pola serangan yang sudah dikenal dan statis, sementara rantai lima langkah ini menggabungkan beberapa teknik kecil — HTTP 415 sebagai pengalih jalur, module shadowing sebagai vektor eksekusi, proses terisolasi sebagai penyamar — yang secara individual mungkin tampak jinak bagi sistem deteksi, tapi berbahaya saat disusun berurutan. Ini bukan bantahan terhadap keamanan Claude Code secara umum, melainkan pengingat bahwa skor tolok ukur statis tidak menangkap serangan multi-langkah yang dirancang khusus untuk menghindarinya.
Takeaway
Kerentanan ini bukan bug satu baris kode yang bisa ditambal dengan satu patch, melainkan konsekuensi struktural dari agen AI yang diberi otonomi penuh atas web, file lokal, dan eksekusi perintah sekaligus — persis definisi "lethal trifecta" yang sudah lama diperingatkan komunitas keamanan AI. Bagi siapa pun yang menjalankan Claude Code atau agen coding sejenis dalam mode otonom, pelajarannya konkret: batasi akses jaringan keluar agen ke domain yang benar-benar diperlukan, jangan biarkan agen mengekstrak dan menjalankan arsip dari sumber yang belum diverifikasi tanpa sandbox terpisah, dan perlakukan skor tolok ukur keamanan vendor sebagai satu titik data, bukan jaminan mutlak — terutama untuk kelas serangan yang secara sengaja dirancang mengelabui pengujian statis semacam itu.
Sumber gambar: Adi Goldstein di Unsplash (cover) Sumber gambar: Christopher Gower di Unsplash Sumber gambar: Ilya Pavlov di Unsplash
The conversation 0
No comments yet. Start the conversation.