𝗜 𝗚𝗮𝘃𝗲 𝗖𝗹𝗮𝘂𝗱𝗲 𝗖𝗼𝗱𝗲 𝘁𝗵𝗲 𝗞𝗲𝘆𝘀. 𝗦𝗼 𝗗𝗶𝗱 𝗮 𝗪𝗼𝗿𝗺.
Agen pengodean AI tidak sedang mengalami jailbreak. Mereka melakukan tepat seperti apa yang Anda bangun untuk mereka lakukan. Mereka menggunakan kredensial Anda untuk menjalankan perintah. Masalahnya adalah penyerang dapat menyuplai inputnya.
Kerentanan terbaru menunjukkan tiga cara berbeda bagaimana hal ini terjadi.
- The Supply Chain Worm
Sebuah worm bernama Mini Shai-Hulud menyerang lebih dari 170 paket. Ia tidak hanya mencuri kunci lalu pergi. Ia menulis dirinya sendiri ke dalam file konfigurasi Anda. Ia bersembunyi di
.vscode/tasks.jsonatau.claude/settings.json. File-file ini menjalankan kode secara otomatis saat Anda membuka folder atau memulai sesi. Bahkan jika Anda menghapus paket berbahaya tersebut, hook jahatnya tetap ada di disk Anda.
- The Supply Chain Worm
Sebuah worm bernama Mini Shai-Hulud menyerang lebih dari 170 paket. Ia tidak hanya mencuri kunci lalu pergi. Ia menulis dirinya sendiri ke dalam file konfigurasi Anda. Ia bersembunyi di
- The Allowlist Bypass
Editor Cursor menggunakan allowlist untuk membuat fitur auto-run menjadi aman. Penyerang menemukan cara untuk melewatinya menggunakan shell built-ins seperti
export. Dengan menggunakan prompt injection, penyerang membuat agen mengatur variabel lingkungan (environment variable) yang telah diracuni. Hal ini membuat perintah yang telah disetujui berperilaku dengan cara yang tidak pernah Anda maksudkan. Kontrol keamanan gagal karena ia dibangun untuk manusia, bukan mesin.
- The Allowlist Bypass
Editor Cursor menggunakan allowlist untuk membuat fitur auto-run menjadi aman. Penyerang menemukan cara untuk melewatinya menggunakan shell built-ins seperti
- The Protocol Flaw
Proxy
mcp-remotememiliki celah injeksi perintah (command injection) yang kritis. Jika Anda terhubung ke server MCP yang berbahaya, ia dapat mengeksekusi perintah di mesin Anda selama proses handshake. Hal ini terjadi karena klien mempercayai server yang ia hubungi.
- The Protocol Flaw
Proxy
Masalah intinya sederhana. Agen pengodean menghapus batasan antara data dan perintah. Sebuah LLM melihat instruksi dan data luar sebagai hal yang sama. Tidak ada batasan antara apa yang Anda katakan dan apa yang dunia katakan kepada agen tersebut.
Cara melindungi diri Anda:
- Gunakan token berdurasi pendek alih-alih kunci berdurasi panjang dalam variabel lingkungan Anda.
- Matikan auto-run untuk tugas apa pun yang menyentuh rahasia (secrets) atau produksi.
- Pantau file konfigurasi Anda seperti
.claude/settings.jsonuntuk perubahan yang tidak terduga. - Perlakukan atestasi proveniensi (provenance attestations) sebagai bukti asal-usul, bukan bukti keamanan.
- Kunci (pin) dependensi Anda ke hash tertentu.
Perlakukan agen AI Anda seperti proses berhak istimewa tinggi (high-privilege process) lainnya. Ia membutuhkan batasan yang ketat.
Jika Anda menjalankan agen dalam mode auto-run, bagaimana Anda memutuskan kapan harus membiarkannya bekerja dan kapan harus menghentikannya?
Source: https://dev.to/kkierii/i-gave-claude-code-the-keys-so-did-a-worm-34a4
Optional learning community: https://t.me/GyaanSetuAi