- Dengan memanfaatkan kerentanan di lingkungan eksekusi kode Claude Cowork, penyerang dapat mengunggah file pengguna ke akun Anthropic miliknya sendiri
- Kerentanan ini sudah pernah dilaporkan di lingkungan chat Claude.ai namun belum diperbaiki, dan tetap ada di Cowork
- Serangan dijalankan melalui file dokumen yang berisi prompt injection tersembunyi, lalu saat Cowork menganalisisnya file tersebut otomatis dikirim ke luar
- Tanpa persetujuan manusia, Cowork menggunakan API key milik penyerang untuk mengekfiltrasi data melalui Anthropic API
- Strukturnya membuat pengguna umum mudah terekspos, sehingga menyoroti risiko keamanan AI agent dan pentingnya pertahanan terhadap prompt injection
Ringkasan kerentanan
- Claude Cowork adalah pratinjau riset AI agent untuk pekerjaan umum yang dirilis Anthropic, dengan kemampuan akses internet
- PromptArmor mendemonstrasikan bahwa file pengguna dapat diekfiltrasi ke luar dengan memanfaatkan kerentanan yang belum diperbaiki di lingkungan coding Cowork
- Kerentanan ini sebelumnya ditemukan dan dipublikasikan oleh Johann Rehberger di Claude.ai, dan Anthropic mengetahuinya namun belum memperbaikinya
- Anthropic memperingatkan pengguna Cowork agar “waspada terhadap perilaku yang patut dicurigai sebagai prompt injection”, tetapi hal ini dinilai tidak realistis bagi pengguna nonahli
- PromptArmor menggelar demo publik untuk memberi tahu pengguna tentang risiko ini
Rantai serangan (Attack Chain)
- Serangan memanfaatkan allowlist Anthropic API untuk mengirim data ke luar dari lingkungan VM Claude
- Pengguna menghubungkan folder lokal berisi file properti rahasia ke Cowork
- Pengguna mengunggah file dokumen (.docx) yang berisi prompt injection tersembunyi
- Dokumen itu disamarkan sebagai file ‘Skill’, dengan injeksi disembunyikan menggunakan teks putih 1 poin dan spasi baris 0,1
- Pengguna meminta Cowork menganalisis file dengan memakai ‘Skill’ yang diunggah
- Injeksi memanipulasi Cowork untuk menjalankan permintaan cURL menggunakan API key Anthropic milik penyerang, lalu mengunggah file pengguna ke akun penyerang
- Berjalan otomatis tanpa prosedur persetujuan manusia
- VM Claude memblokir sebagian besar jaringan eksternal, tetapi Anthropic API lolos karena dianggap tepercaya
- Penyerang kemudian dapat melihat file korban dan berbicara dengan Claude dari akun Anthropic miliknya
- File yang bocor mencakup informasi keuangan dan sebagian nomor Social Security (SSN)
Ketahanan per model (Model-specific Resilience)
- Serangan di atas didemonstrasikan pada model Claude Haiku
- Claude Opus 4.5 memiliki ketahanan lebih tinggi terhadap injeksi, tetapi di lingkungan Cowork kerentanan unggah file yang sama masih dapat dieksploitasi melalui indirect prompt injection
- Dalam pengujian, diasumsikan pengguna mengunggah panduan integrasi berbahaya, dan catatan pelanggan bocor ke akun penyerang
Penolakan layanan melalui file malformed (DOS via Malformed Files)
- API Claude berulang kali memunculkan error ketika ekstensi file tidak cocok dengan format aslinya
- Contoh: jika mencoba membaca file teks biasa dengan ekstensi
.pdf, maka error API akan muncul di semua percakapan berikutnya
- Error seperti ini dapat disalahgunakan untuk serangan penolakan layanan (DOS) terbatas melalui indirect prompt injection
- Penyerang dapat mengarahkan pembuatan dan pengunggahan file yang salah sehingga notifikasi error muncul di klien Claude dan konsol Anthropic
Risiko perluasan agen (Agentic Blast Radius)
- Cowork dirancang untuk berinteraksi dengan browser, server MCP, kontrol AppleScript, dan lingkungan kerja harian lainnya
- Karena itu, kemungkinan data sensitif dan data tak tepercaya diproses secara bercampur menjadi lebih tinggi
- Permukaan serangan prompt injection terus meluas, sehingga konfigurasi connector perlu dilakukan dengan hati-hati
- Demo kali ini tidak menggunakan connector, tetapi connector dapat menjadi faktor risiko utama bagi pengguna umum
2 komentar
Dalam ulasan Claude Cowork yang ditulis Simon Willison juga ada kekhawatiran soal serangan prompt injection, dan ternyata memang cepat terjadi.
Komentar Hacker News
Jika menemukan Anthropic API disalahgunakan, cukup unggah API key tersebut ke GitHub Gist atau repositori publik
Anthropic adalah mitra pemindaian GitHub, jadi key itu hampir langsung dicabut
Setelah itu tinggal hapus Gist-nya, dan penyedia lain seperti OpenAI juga bekerja dengan cara serupa
Dokumen terkait: Anthropic API Key Best Practices, GitHub Secret Scanning Patterns
Idealnya GitHub menyediakan API pencabutan token universal
Atau akan lebih baik jika fitur pencabutan bisa diaktifkan langsung dari repositori privat
Dalam demo, prompt injection diperagakan lewat file .docx dengan ukuran huruf kecil agar tersembunyi, tapi sebenarnya file Markdown biasa pun sudah cukup
Misalnya cukup diberi deskripsi seperti “Claude belajar teknik negosiasi pinjaman”, banyak orang akan memakainya tanpa membuka isi file lebih dulu
Bahkan file .md bisa lebih efektif daripada .docx karena terlihat tidak terlalu mencurigakan
Misalnya di beberapa industri, DOCX masih dianggap lebih normal daripada PDF
Dalam lingkungan seperti itu, file .md justru bisa terlihat seperti alat hacker
Masalah seperti ini memang sudah diperkirakan sejak awal
Selama prompt injection belum terselesaikan, hal seperti ini akan terus berulang
Kalau membayangkan HN tahun 1999, suasananya mirip reaksi awal terhadap SQL injection seperti “Bobby Tables menghancurkan DB”
Di awal 2000-an pun kita sudah mengatakan untuk memakai SQL terparameterisasi alih-alih interpolasi string
Bahkan sekarang semua alat yang dibutuhkan sudah ada, masalahnya orang lebih memprioritaskan kecepatan daripada keamanan
Ironisnya, yang memulai perlombaan ini justru OpenAI yang dulunya menekankan keamanan dan alignment
Misalnya membungkus input pengguna dengan token tertentu seperti (@##)(JF), lalu memastikan perintah di dalamnya tidak dieksekusi
Kelihatannya bahkan bisa dilakukan dengan find/replace sederhana, jadi aku penasaran apakah ada yang terlewat dariku
Bahkan bisa jadi makin berbahaya saat AI makin pintar
Sebelum setiap pemanggilan tool, agent harus menunjukkan ‘surat izin’ (warrant) yang ditandatangani, sehingga hanya perintah yang diizinkan yang bisa dijalankan
Jadi walaupun terjadi prompt injection, tetap bisa diblokir secara mekanis
Ini terasa seperti bug auto-execute lain, semacam “kalau file terlihat mencurigakan, jalankan saja seperti program”
Di era Windows XP pun kita pernah susah payah menghadapi masalah seperti ini, dan akhirnya Microsoft menghentikan autorun
Sistem berbasis prompt juga harus membedakan dengan jelas apa yang boleh dipercaya
Menurutku bermasalah kalau perusahaan AI hanya “mengakui” risikonya lalu meminta pengguna mengikuti tindakan pencegahan yang tidak realistis
Misalnya kalau kita membuat “bot nenek” untuk merapikan email, bot itu bisa saja tertipu oleh email penipuan pangeran Nigeria
Ini tampaknya masalah yang muncul karena sistem ‘skill’ Claude bersifat implisit
Tidak eksplisit seperti perintah /slash, hanya berupa instruksi seperti “cara mengekstrak file”
Akibatnya, hanya dengan memakai kata seperti “decompress” atau “extract” pun bisa memicu eksekusi otomatis
Struktur seperti ini memudahkan prompt injection menyuntikkan kemampuan baru secara diam-diam
Karena itu perlu diubah menjadi sistem tool yang eksplisit dan terdaftar statis
Misalnya membuat tool seperti Extract(path), lalu melakukan whitelist sehingga hanya Read atau Bash("tar *") yang diizinkan
Dengan begitu bisa ditambahkan juga proses persetujuan manusia, dan tidak ada tool baru yang didaftarkan di tengah sesi
Kasus serupa sebelumnya dan tanggapan resmi Anthropic dirangkum di posting blog ini
Agak di luar topik, tapi aku penasaran apakah ada yang menyediakan PoC exfiltrasi data sebagai layanan
Khususnya aku ingin menguji payload beracun di CLAUDE.md saat Claude dijalankan di lingkungan CI eksternal
Aktivitas terbaru promptarmor cukup mengesankan
Mereka berperan besar dalam meminta pertanggungjawaban kualitas dari tim produk
Serangan nyata mengharuskan korban memberi Claude akses ke folder sensitif, lalu penyerang menipu korban agar mengunggah DOCX yang berisi prompt injection tak terlihat
Selain itu, isi injeksi akan terlihat oleh pengguna saat output ditampilkan dalam Markdown
Penyerang harus memakai API key miliknya sendiri, jadi bisa dilacak
Serangan ini hanya bekerja pada versi Haiku yang lama
Pada akhirnya rasanya promptarmor memang melebih-lebihkan demi penjualan
Tim kami membatasi VM agent agar hanya bisa berkomunikasi dengan pip, npm, apt
Kami juga memantau ukuran permintaan output untuk mencegah exfiltrasi data yang tidak normal
Tiga masalah sekaligus yaitu penyalahgunaan AI, kebocoran, dan otonomi tidak bisa diselesaikan hanya dengan menutup salah satu sisi
Rahasia tetap bisa dienkode dalam permintaan kecil, dan AI yang tidak aligned bisa menemukan sendiri jalur kebocoran seperti ini