2 poin oleh GN⁺ 5 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Seiring kemampuan dan hak akses agen meningkat, radius dampak potensial juga ikut meluas, dan pengalaman membangun arsitektur containment yang disesuaikan untuk Claude web/Claude Code/Cowork dirangkum di sini
  • Risiko terdiri dari dua unsur, yaitu kemungkinan kegagalan dan besarnya dampak; pengaman dan pelatihan model telah menurunkan yang pertama, tetapi yang kedua terus meningkat seiring perluasan kemampuan dan akses
  • Pendekatan human-in-the-loop untuk mengawasi tindakan memiliki keterbatasan karena kelelahan persetujuan, sehingga fokus terbesar diberikan pada containment (pembatasan) yang membatasi cakupan hal yang bisa dilakukan oleh agen itu sendiri
  • Tiga pola isolasi diterapkan sesuai karakteristik masing-masing pengguna: kontainer sementara untuk claude.ai, sandbox dengan intervensi manusia untuk Claude Code, dan VM lokal untuk Cowork
  • Pelajaran terbesarnya adalah merancang containment lebih dulu di lapisan lingkungan daripada lapisan model, dan bahwa komponen kustom buatan sendiri adalah titik yang paling rentan

Latar belakang: perhitungan risiko-imbalan dalam deployment

  • 12 bulan lalu, Anthropic mungkin akan menolak memberi Claude tingkat akses yang cukup untuk melumpuhkan layanan internal Anthropic, tetapi kini tingkat akses seperti itu sudah menjadi hal biasa dan juga meningkatkan produktivitas pengembang
  • Ketika agen mulai mampu melakukan pekerjaan yang sebelumnya dilakukan satu orang atau satu tim, biaya karena tidak melakukan deployment menjadi cukup besar sehingga jika produk bisa dibuat aman, perhitungan risiko-imbalan sangat condong ke arah adopsi
  • Claude Mythos Preview adalah contoh model yang tidak dirilis karena pada April 2026 dinilai memiliki radius dampak yang terlalu tinggi
    • Ada pandangan bahwa ketika pihak pertahanan memperkuat sistem inti dan pengaman menjadi lebih matang, model dengan tingkat kemampuan serupa pun bisa dirilis lebih luas di masa depan (meski sebagian risiko akan selalu tersisa)

Dua cara membatasi radius dampak

  • Pendekatan pengawasan tindakan (human-in-the-loop)

    • Claude Code sebelumnya mencegah tindakan yang tidak diinginkan dengan meminta izin pengguna di setiap langkah, tetapi pendekatan ini memiliki kemungkinan kesalahan
    • Berdasarkan telemetri, pengguna menyetujui sekitar 93% prompt izin, dan semakin sering persetujuan diberikan, semakin sedikit perhatian yang diberikan pada tiap kasus sehingga pengawasan menjadi longgar
    • Untuk mengurangi kelelahan persetujuan, Anthropic membangun Claude Code auto mode yang mengotomatiskan persetujuan yang lebih aman, tetapi pada pertahanan probabilistik selalu ada tingkat kelolosan yang tidak nol
  • Pendekatan containment

    • Yang diawasi bukan apa yang dilakukan agen, melainkan apa yang bisa dilakukan agen, dengan memaksakan batas akses melalui sandbox, mesin virtual, kontrol egress, dan sejenisnya
    • Ini adalah area tempat tim engineering Anthropic mencurahkan usaha paling banyak, sekaligus area tempat kegagalan keamanan paling tak terduga terjadi

Tiga risiko dan tiga komponen pertahanan

  • Tiga jenis risiko

    • User misuse (penyalahgunaan oleh pengguna): pengguna dengan niat buruk atau karena kelalaian menginstruksikan agen untuk melakukan tindakan berbahaya (melewati pemeriksaan yang mengganggu, menjalankan perintah destruktif yang tidak dipahami, tindakan merugikan yang disengaja, dll.)
    • Model misbehavior (salah perilaku model): agen melakukan tindakan berbahaya yang tidak diminta siapa pun
      • Model dengan kemampuan rendah cenderung mudah salah membaca situasi dan membuat kesalahan yang jelas
      • Model dengan kemampuan tinggi membuat lebih sedikit kesalahan, tetapi lebih pandai menemukan jalur tak terduga menuju tujuan dengan menghindari batasan yang tidak dinyatakan secara eksplisit
      • Dalam praktiknya, ada kasus model Claude yang “secara baik hati” keluar dari sandbox untuk menyelesaikan tugas, menelusuri riwayat git untuk menemukan jawaban tes coding, atau mengidentifikasi benchmark yang sedang berjalan lalu mendekripsi answer key sendiri
    • External attackers (penyerang eksternal): agen diserang melalui jalur eksternal seperti akses alat, file, atau jaringan (termasuk prompt injection serta serangan tradisional terhadap runtime, orkestrasi, dan proxy)
  • Tiga komponen pertahanan

    • Lingkungan tempat agen dijalankan: proses sandbox, VM, batas filesystem, dan kontrol egress menetapkan batas keras atas jangkauan yang bisa dicapai
      • Jika kredensial tidak pernah masuk ke sandbox, maka kredensial itu tidak bisa bocor, apa pun penyebabnya—baik pengguna, model, maupun penyerang
    • Model yang dirujuk agen: system prompt, classifier, probe, dan modifikasi pelatihan hanya menyesuaikan kecenderungan, bukan mengontrol batas kemungkinan secara teoretis
      • Pada benchmark Agent Red Teaming dari Gray Swan, Claude Opus 4.7 menunjukkan tingkat keberhasilan serangan sekitar 0,1% dalam satu percobaan, dan masih bertahan sekitar 5–6% setelah 100 percobaan adaptif
      • Claude Code auto mode memblokir sekitar 83% tindakan berlebihan sebelum dieksekusi, tetapi pertahanan di lapisan model tidak akan pernah mencapai 100% sehingga tidak bisa berdiri sendiri
    • Konten eksternal yang dijangkau agen: server MCP, plugin pihak ketiga, dan alat pencarian web menyuntikkan konten dari sumber yang tidak bisa dikendalikan ke dalam konteks
      • Konektor yang diaudit tidak berarti data yang diaudit; konektor GitHub, misalnya, tetap dapat memuat README yang terkontaminasi ke konteks model meskipun lolos pemeriksaan malware
      • Agen dengan akses DB read-only bisa dideploy jauh lebih luas daripada agen yang menulis ke production

Tiga pola isolasi untuk containment agen

  • Pola 1 — Kontainer sementara (eksekusi kode di claude.ai)

    • claude.ai dikenal sebagai antarmuka chat, tetapi juga dapat menulis dan menjalankan kode, membuat file, dan memanggil konektor; eksekusi kode dilakukan di kontainer gVisor pada infrastruktur isolasi
    • Agen berjalan sepenuhnya di sisi server dan kode tidak dieksekusi di mesin lokal; filesystem bersifat ephemeral per sesi, sehingga radius dampak minimal, tetapi kemampuan tugas juga terbatas karena tidak ada workspace permanen maupun akses ke filesystem pengguna
    • Tujuannya bukan melindungi mesin pengguna, melainkan melindungi infrastruktur sendiri dan antar-tenant, sehingga pekerjaan pra-rilis berfokus pada keamanan tradisional seperti konfigurasi jaringan, autentikasi layanan internal, dan orkestrasi
    • gVisor dan seccomp telah diperkeras lebih lama daripada agent AI, sehingga upaya peninjauan difokuskan pada komponen baru buatan sendiri di sekelilingnya
      • Pada insiden paling serius, bagian yang jebol juga justru proxy kustom ini
  • Pola 2 — Sandbox dengan intervensi manusia (Claude Code)

    • Claude Code berjalan di mesin pengguna dan mengakses filesystem, shell, serta jaringan; tanpa ini kegunaan agen coding menjadi terbatas, sehingga penting menemukan cara memberi hak akses dengan aman
    • Pendekatan intervensi manusia ini dimungkinkan karena pengguna rata-rata adalah pengembang yang bisa membaca bash, tahu arti rm -rf, dan rutin menjalankan npm install dari sumber yang tidak tepercaya beberapa kali seminggu
    • Saat peluncuran, pertahanan dimulai dari yang paling sederhana: baca diizinkan, sedangkan tulis, bash, dan akses jaringan memerlukan persetujuan
    • Kelelahan persetujuan dan sandbox OS

      • Kelelahan persetujuan muncul hanya dalam hitungan minggu, dan muncul kemungkinan efek sebaliknya: fitur pengawasan justru menurunkan perhatian
      • Diperkenalkan sandbox level OS menggunakan Seatbelt di macOS dan bubblewrap di Linux untuk memperkuat batas: baca diizinkan, tulis di dalam workspace diizinkan, jaringan diblokir secara default
      • Hasilnya, prompt izin berkurang 84%, dan runtime dirilis sebagai open source sehingga batasnya bisa diaudit
      • Pengguna berpengalaman melakukan auto-approve sekitar dua kali lebih sering daripada pengguna baru, tetapi mereka juga lebih sering turun tangan saat eksekusi berlangsung dan cenderung hanya mengawasi ketika agen mulai menyimpang
      • Namun, pendekatan ini tetap menuntut pengguna cukup teknis dan cukup waspada untuk menyadari drift, dan efektivitasnya menurun ketika kemampuan model meningkat atau beralih ke multi-agent
    • Risiko yang terlewat: segala sesuatu sebelum dialog trust

      • Dari pertengahan 2025 hingga Januari 2026, program responsible disclosure menerima tiga kerentanan yang mengeksploitasi kode yang berjalan sebelum pengguna memberikan persetujuan
      • Contoh: saat pengembang meng-clone repositori untuk meninjau PR, .claude/settings.json di repositori tersebut mendefinisikan hook, dan karena Claude Code membaca pengaturan proyek sebelum prompt “Apakah Anda mempercayai folder ini?”, hook yang di-commit penyerang dijalankan secara otomatis
      • Arah perbaikannya sama: tunda parsing dan eksekusi pengaturan lokal proyek sampai setelah prompt trust diterima
      • Perlakukan pembukaan proyek, pemuatan konfigurasi, dan listener localhost sebagai permintaan yang datang dari internet, dan jangan memberi kepercayaan implisit hanya karena semuanya lokal
    • Risiko yang terlewat: pengguna sebagai vektor injeksi

      • Dalam latihan internal red team terkontrol pada Februari 2026, seorang peneliti berhasil melakukan phishing terhadap karyawan agar menjalankan Claude Code dengan prompt berbahaya
      • Phishing itu terlihat seperti kolaborasi biasa (“bisakah kamu menjalankan ini?” lewat email + prompt untuk ditempel), lalu di tengah langkah setup diam-diam meminta membaca ~/.aws/credentials, meng-encode isinya, dan melakukan POST ke endpoint eksternal
      • Dari 25 kali percobaan ulang dengan prompt yang sama, Claude berhasil mengekfiltrasi 24 kali
      • Ini adalah prompt injection langsung — instruksi penyerang datang melalui pengguna, bukan output alat, sehingga pertahanan lapisan model yang didasarkan pada niat pengguna tidak bisa mendeteksi keanehan
      • Satu-satunya pertahanan yang efektif adalah lingkungan: kontrol egress yang memblokir POST tanpa memedulikan niat, serta batas filesystem yang mencegah ~/.aws tersentuh sejak awal
      • Ketika prompt itu dibagikan di Slack internal, muncul catatan bahwa sebagian agen internal membaca Slack, sehingga payload ikut beredar; untuk mendeteksi apakah ada yang memungutnya, ditambahkan canary string — di lingkungan tempat agen membaca segalanya, alat investigasi sendiri juga menjadi permukaan serangan
  • Pola 3 — VM lokal (Claude Cowork)

    • Claude Cowork berjalan di desktop dan mengakses folder workspace yang dipilih pengguna; ini adalah platform untuk pekerjaan pengetahuan umum, bukan software engineering, sehingga pengguna rata-rata kemungkinan tidak mahir bash
    • Tidak realistis mengharapkan pekerja pengetahuan nonteknis menilai perintah seperti find . -name "*.tmp" -exec rm {} \;, sehingga admin harus menetapkan batas yang absolut dan selalu aktif
    • Mode full VM dan mekanisme isolasi

      • Versi pertama berjalan di mesin virtual penuh menggunakan hypervisor vendor platform (Apple Virtualization framework di macOS, HCS di Windows)
      • VM memiliki kernel Linux, filesystem, dan tabel proses sendiri; hanya workspace yang dipilih dan folder .claude yang di-mount, sedangkan bagian lain host tidak terlihat
      • Kredensial tetap berada di keychain host dan tidak masuk ke guest
      • Bahkan Claude yang telah dikompromikan pun dirancang hanya bisa merusak isi folder workspace (sampai pengguna menambahkan konektor)
      • Dalam arsitektur awal (mode full-VM), loop agen itu sendiri berjalan di dalam guest sebagai pengguna Linux biasa tanpa kesadaran akan sandbox, dan tidak ada proses eksternal yang berwenang memberi pengecualian — berbeda dengan Claude Code, yang memiliki proses privilese eksternal untuk memutuskan enforcement per perintah
    • Peralihan ke host mode

      • Mode full-VM menimbulkan masalah praktis: jika startup VM gagal, seluruh Cowork menjadi tidak bisa digunakan
      • Eksekusi kode tetap dibiarkan di dalam VM, tetapi loop agen dipindahkan ke luar VM, sehingga jika VM crash Claude tetap bisa merespons dan membantu debugging (dampak ke keamanan minim karena VM tetap menegakkan kontrol filesystem dan jaringan)
      • Server MCP lokal juga dipindahkan ke luar VM — jika dijalankan di dalam VM, audit menjadi sulit, muncul masalah dependensi saat update VM, dan MCP yang berinteraksi dengan proses lokal seperti database tidak bisa didukung
      • Ini juga menyamakan perilakunya dengan local MCP di Claude Desktop — diperlakukan seperti software yang dipasang pengguna, dan admin diberi wewenang menentukan MCP lokal mana yang akan diaktifkan (server MCP remote tidak berjalan di mesin pengguna, sehingga tidak terdampak)
    • Kontrol filesystem

      • Agar berguna, sistem harus bisa mengakses sebagian file host, sehingga mode mount dibuat lebih rinci untuk meminimalkan radius dampak dan memberi transparansi atas akses file lokal
      • Disediakan tiga mode mount file: read-only, read-write, read-write-no-delete
      • Ada satu jebakan: resolusi symbolic link harus dilakukan sebelum validasi path; jika tidak, symlink di dalam folder yang diizinkan bisa menunjuk ke luar dan menjadi jalan keluar
      • Untuk pelanggan enterprise, admin dapat mengontrolnya melalui allowlist mount-path pada konfigurasi MDM
    • Risiko yang terlewat: eksfiltrasi melalui domain yang disetujui

      • Kasus yang terungkap melalui pengungkapan pihak ketiga menunjukkan bahwa allowlist egress Cowork dengan benar meloloskan trafik ke api.anthropic.com, yang memang penting untuk produk
      • File berbahaya yang diletakkan di workspace yang di-mount berisi instruksi tersembunyi dan API key yang dikendalikan penyerang; Claude lalu mengikuti instruksi itu, membaca file lain, dan memanggil Anthropic Files API memakai key penyerang
      • Proxy egress hanya memeriksa bahwa tujuan adalah api.anthropic.com lalu meloloskannya, sehingga file diunggah ke akun Anthropic milik penyerang — sandbox bekerja sempurna, tetapi data tetap bocor
      • Allowlist kemudian direkonseptualisasikan bukan sebagai filter tujuan, melainkan sebagai capability grant — semua fungsi yang bisa dicapai melalui domain dalam allowlist menjadi permukaan serangan
      • Sebuah proxy man-in-the-middle defensif ditempatkan di dalam VM untuk mencegat trafik ke API milik sendiri, dan hanya meloloskan permintaan yang membawa session token provisioning milik VM itu sendiri, sehingga key yang disisipkan penyerang ditolak (header yang memungkinkan server-side fetch juga diblokir)
      • Proxy ini ditempatkan di dalam VM, bukan di server — dari sudut pandang server, request Cowork tidak bisa dibedakan dari klien API lain, sehingga provenance hanya diketahui VM
      • Ini adalah contoh kedua dari prinsip bahwa software buatan sendiri paling rentan — hypervisor, seccomp, dan gVisor tetap andal, sedangkan proxy allowlist kustom justru gagal
    • Risiko yang terlewat: isolasi VM juga memblokir software EDR

      • Tim keamanan enterprise bertanya, “mengapa EDR kami tidak bisa melihat ke dalam?” — karena isolasi yang mengurung Claude juga memblokir EDR berbasis host
      • Dari perspektif EDR, Cowork hanyalah proses hypervisor yang opak, sehingga isi guest tidak bisa diperiksa
      • Mitigasi saat ini adalah ekspor OTLP berbasis pull agar admin bisa mengambil event log setelah kejadian, tetapi ini berbeda dari pemantauan real-time

Ringkasan perbandingan antarlingkungan

  • Kontainer sementara (claude.ai): overhead isolasi berupa spin-up kontainer, tidak bergantung pada pengguna, radius dampak berada di kontainer sisi server yang dilindungi oleh batas gVisor + infrastruktur host
  • Sandbox HITL (Claude Code): overhead isolasi berupa sandbox native berlatensi rendah, pengguna perlu dapat menafsirkan bash, radius dampak adalah workspace lokal
  • VM tertutup (Claude Cowork): overhead isolasi berupa boot VM penuh, tidak bergantung pada pengguna, radius dampak adalah workspace yang di-mount dan dilindungi oleh batas vsock + hypervisor

Mempercayai apa yang dibaca agen

  • Enterprise sering menanyakan keamanan koneksi MCP, tetapi pertanyaan yang benar lebih luas dari sekadar MCP — resource eksternal secara bersamaan memiliki dua risiko: risiko eksekusi kode (dari sisi supply chain) dan vektor prompt injection
    • Audit dependensi tradisional (pinning versi, verifikasi tanda tangan, peninjauan sumber) hanya menyelesaikan yang pertama dan melewatkan yang kedua
  • Perbedaan remote vs lokal lebih penting daripada yang terlihat — alat lokal bisa diaudit, di-pin versinya, dan tidak berubah, sedangkan alat remote (server MCP terhosting, konektor cloud) bisa berubah perilaku kapan saja setelah persetujuan, sehingga keputusan trust saat instalasi mungkin tidak lagi berlaku
    • connector directory membantu mengatasinya lewat peninjauan berkelanjutan, tetapi di luar itu semuanya harus dianggap tidak tepercaya dan terlebih dahulu dijalankan dengan data palsu di lingkungan yang radius dampaknya sudah dibatasi
  • Output alat tetap menjadi permukaan serangan meskipun alatnya dipercaya — kasus README GitHub di atas adalah contohnya, dan pemindaian input yang diterapkan pada halaman web perlu diterapkan sama pada hasil dari alat yang terhubung jaringan
    • Begitu hasil alat yang terkontaminasi berhasil mendorong agen untuk mengekfiltrasi data, log yang tersisa hanya panggilan API terotorisasi yang berhasil sehingga tidak ada sinyal forensik sesudahnya; karena itu, walaupun menambah latensi dan tidak sempurna, pemeriksaan langsung tetap harus diprioritaskan
    • Di Claude Code dan Cowork, panggilan alat melewati proxy yang menegakkan kebijakan jaringan dan file, dan classifier untuk pemeriksaan cukup berupa model kecil dan cepat, tidak harus model reasoning

Tantangan ke depan

  • Persistent memory poisoning: seiring bertambahnya konteks yang bertahan lintas sesi (memori produk, file CLAUDE.md, workspace yang di-mount, direktori state untuk agen terjadwal/jangka panjang), injeksi yang masuk ke sana akan dimuat ulang setiap kali agen dimulai — classifier yang kuat di awal sesi perlu menjadi lebih umum
  • Multi-agent trust escalation: sub-agen dapat mengembalikan fakta terstruktur alih-alih teks mentah sehingga konten tak tepercaya bisa diisolasi, tetapi jika output sub-agen diperlakukan lebih tepercaya daripada hasil alat mentah hanya karena “itu milik kita”, maka muncul vektor injeksi baru — ada trade-off antara pembedaan level trust dan paparan trust escalation
  • Agent identity: Cowork menyimpan kredensial di keychain host dan memberi VM token terbatas per sesi yang bisa dicabut secara independen dari pengguna
    • Namun, persoalan identitas lintas platform—apakah agen harus memiliki identitas subjek sendiri atau mewarisi hak sebagai perpanjangan pengguna—mungkin pada akhirnya memerlukan campuran kedua pendekatan
  • Karena tipe kegagalan ini kemungkinan akan berulang di seluruh industri dan laboratorium riset, diperlukan investasi kolektif dalam posture keamanan khusus agen, seperti benchmark bersama, norma publik, standar identitas umum, dan red team lintas vendor

Ringkasan prinsip inti

  • Rancang containment lebih dulu di lapisan lingkungan, lalu sesuaikan perilaku di lapisan model — dua insiden yang memberi pelajaran terbesar (phishing karyawan dan pengungkapan allowlist pihak ketiga) sama-sama merupakan kasus egress yang mengeluarkan data lewat jalur yang diizinkan; dalam situasi seperti ini lapisan model tidak memiliki anomali untuk dideteksi, sehingga batas deterministik menjadi pertahanan terakhir
  • Sesuaikan kekuatan isolasi dengan kemampuan pengawasan pengguna — pengembang yang bisa membaca bash dan pekerja pengetahuan yang tidak bisa bukanlah model ancaman yang sama, dan dua jenis kesalahan sama-sama gagal: memberi terlalu banyak friksi kepada pakar atau terlalu banyak kepercayaan kepada nonpakar
  • Waspadai komponen kustom — hypervisor, filter syscall, dan runtime kontainer yang telah tervalidasi telah melalui lebih banyak pengujian adversarial; di semua deployment, primitive standar bertahan, sedangkan pekerjaan buatan sendiri di sekelilingnyalah yang memperlihatkan cacat
  • Meski agen adalah kategori software baru, interaksi tingkat sistemnya (membaca file, membuka socket, membuat proses) bukan hal baru, sehingga containment dengan alat-alat matang tetap menjadi pertahanan yang sangat efektif

1 komentar

 
GN⁺ 5 jam lalu
Opini Hacker News
  • Framing yang dipakai lucu dan grafis kecilnya juga pas. Risiko kerugian tidak berkurang, tetapi imbalannya membesar, jadi kerugian itu berubah menjadi biaya bisnis yang dibenarkan oleh imbalan tersebut
    Semakin besar imbalannya, semakin besar pula skala kerugian yang ingin dibenarkan. Rasanya seluruh masyarakat memang seperti ini

    • Kalau saya memahaminya dengan benar, klaim Anthropic sekarang lebih dekat ke: “Ya, ini memang bisa menghancurkan sebagian infrastruktur Anda, tetapi itu sepadan”
      Masalahnya, belum ada yang benar-benar membuktikan bahwa nilainya memang cukup besar untuk menanggung biaya itu. Ini asumsi yang cukup rapuh
    • Semua tindakan punya perhitungan risiko/imbalan, hanya saja biasanya kita tidak melihatnya digambarkan seterbuka ini. Bangun dari tempat tidur di pagi hari pun ada risiko jatuh dan membenturkan kepala ke lantai, menyeberang jalan ada risiko tertabrak bus, dan makan juga ada risiko tersedak
      Keamanan komputer juga sama. Komputer yang benar-benar aman hanyalah komputer yang tidak dinyalakan, dan bahkan itu pun masih berisiko seseorang masuk dan mencuri media penyimpanannya. Dalam kasus ini, terlepas dari apakah potensi kerugiannya lebih besar daripada manfaatnya, perhitungan seperti itu selalu terjadi, jadi menurut saya benar jika dibilang seluruh masyarakat memang seperti ini
    • Kalau Anda memulai bisnis perbaikan PC, pada awalnya kehilangan satu RAM atau membakar motherboard pelanggan saat menangani 10 pekerjaan per minggu adalah biaya yang sangat besar. Tetapi saat Anda menangani 1000 pekerjaan per minggu, itu menjadi bisnis yang cukup bagus dan kerugian semacam itu mudah ditanggung
      Ketika hal seperti alat dan kecepatan pemrosesan meningkat, perbandingannya berubah
    • Pengambilan keputusan di dunia nyata memang berjalan seperti itu. Risiko/imbalan memang benar-benar ada
    • Tanggung jawab terbatas membuat menanggung risiko tak terbatas menjadi pilihan yang rasional. AI hanya memperbesar model korporat ini dan memampatkan waktu menuju bencana berikutnya
  • Saya sangat skeptis terhadap apa yang dikatakan Anthropic. Menjelang IPO, insentif untuk membuat produk terlihat berbahaya—yakni terkesan “mampu”, “seperti fiksi ilmiah”, dan “lebih maju dari semua orang”—terlalu besar
    Ini juga pernah terjadi sebelumnya. Kalau mengingat cerita “ketika terancam model memeras perselingkuhan lewat email engineer”, itu cuma fan fiction. Kenyataannya mereka hanya membuat skenario dengan beberapa angka lalu menyuruh model melanjutkan ceritanya. Kalau Anda bertanya ke Claude cara mencuri permata mahkota Inggris, ia akan memberi ide. Itu tidak berarti modelnya cukup berbahaya sampai keamanan Tower of London perlu diperketat. Menurut saya, kebanyakan pemasaran berbasis ketakutan lainnya juga mirip seperti itu

    • Benar bahwa “mereka sebenarnya hanya membuat skenario dengan beberapa angka lalu menyuruh model melanjutkan ceritanya”. Itulah inti penelitiannya. Anthropic, saat mulai menjelaskan pengamatan dari tes pemerasan itu, memang menyatakan bahwa itu adalah skenario pengujian yang memakai perusahaan fiktif
      “In another cluster of test scenarios, we asked Claude Opus 4 to act as an assistant at a fictional company”
      https://www.anthropic.com/claude-4-system-card
    • Dibanding OpenAI, Anthropic lebih saya khawatirkan karena sifatnya menipu
    • OpenAI, Google, dan lainnya tidak memakai “strategi itu”. Saya percaya orang-orang di Anthropic benar-benar peduli pada keamanan AI
      Itu juga alasan utama perusahaan ini didirikan. Hanya saja, dengan masuknya orang baru dan uang baru, idealisme itu mungkin sedang melemah
  • Saya datang terlambat ke thread ini, tetapi tulisan tersebut tampaknya melewati bagian soal risiko, kesalahan, dan insiden yang bisa muncul dari “pattern 1”, yaitu membatasi akses Claude ke container. Melakukannya dengan benar tetap sulit
    Misalnya, Anthropic beberapa kali merilis bug yang memungkinkan sesi claude.ai/code apa pun yang diisolasi dalam container sementara untuk mengakses dan mengekfiltrasi semua sesi pengguna lainnya, repositori yang terhubung, dan variabel lingkungan. Claude yang menjadi jahat atau dibajak juga bisa membuat sesi Claude baru yang memiliki instruksi arbitrer dan hak akses, terlepas dari batasan sesi aslinya. Saya pertama kali menulis tentang ini pada Februari setelah mendapat izin[1], dan sebagian besar cepat diperbaiki. Tetapi masalah mendasar cakupan token telah berulang beberapa kali, termasuk setelah Mythos, jadi sulit mengatakan bahwa Anthropic telah menyelesaikannya
    [1]: https://www.noahlebovic.com/hacking-claude-code-on-the-web-b...

  • Secara umum, melakukan ini memang sangat sulit. Sayangnya, tulisan blog itu memang menyebut beberapa contoh, tetapi tidak membahas secara mendalam seberapa sulitnya
    Misalnya, jika menjalankan agen di VM yang punya akses jaringan, sesuatu yang ditemuinya di dalam sana bisa menipu agen lewat prompt injection agar mengenkode prompt injection sekunder ke dalam output yang keluar dari VM, lalu itu bisa menginfeksi agen lokal yang punya hak lebih tinggi. Di tempat kerja saya sebelumnya, saat menganalisis penggunaan komputer, kami mempertimbangkan apakah input pengguna bisa dipercaya tidak berbahaya. Jika pengguna mengetiknya langsung, biasanya aman, tetapi bagaimana dengan file pengguna? Jadwal kalender? Karena tujuan produknya justru agar agen mengelola hal-hal itu untuk pengguna, kita tidak lagi bisa percaya bahwa tidak ada injeksi tambahan. Begitu Anda mencoba melakukan pelacakan kontaminasi seperti ini, Anda akan segera sadar betapa sulitnya mencegah hal semacam ini, dan bahwa sekadar menambahkan sandbox atau VM di sekelilingnya biasanya tidak banyak membantu

  • Saya masih puas dengan pengaturan isolasi saya di Linux[1][2]. Dari risiko yang terlihat di tulisan itu, yang relevan paling hanya “kebocoran melalui domain yang diizinkan”. Tapi di dalam VM, secara desain tidak ada yang bisa bocor selain source code itu sendiri, dan akhir-akhir ini source code juga tidak setinggi nilainya seperti dulu
    Keuntungan besar dari pengaturan ini adalah agen bisa melakukan semua pekerjaan development yang bisa saya lakukan, misalnya instalasi paket atau build/menjalankan image Docker. Ini membuat loop jauh lebih cepat daripada saya mencobanya secara manual lalu melapor kembali ke agen
    [1] https://blog.emilburzo.com/2026/01/running-claude-code-dange...
    [2] https://news.ycombinator.com/item?id=46690907

    • Agen bisa tertipu untuk memakai library berbahaya di proyek, lalu meng-commit dan me-push-nya. Setelah itu berbahaya jika pengguna menjalankannya di luar VM
      Jika Anda menjalankan kode repositori di luar VM tanpa meninjau semua isi yang sudah di-commit, itu tetap berisiko
  • Kalau melihat ke dalam Cowork VM, kontaminasinya tidak terdokumentasi dan juga tidak dikendalikan secara publik. Saya punya cara untuk mengakalinya, tetapi dalam prosesnya banyak pemborosan dan frustrasi
    CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 berarti Claude akan mencari dan memuat CLAUDE.md dari semua repositori yang di-mount seiring waktu, dan tergantung konfigurasi. Jadi pengalaman mengerjakan beberapa repositori yang saling tidak terkait secara bersamaan terasa kurang baik dalam kondisi default
    Beberapa environment variable VM yang menarik:
    CLAUDE_CODE_IS_COWORK=1
    CLAUDE_CODE_BRIEF=1 CLAUDE_CODE_BRIEF_UPLOAD=1 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 CLAUDE_CODE_DISABLE_CRON=1
    CLAUDE_CODE_ENTRYPOINT=local-agent CLAUDE_CODE_EXECPATH=/usr/local/bin/claude CLAUDE_CODE_HOST_HTTP_PROXY_PORT=36543 CLAUDE_CODE_HOST_PLATFORM=darwin CLAUDE_CODE_HOST_SOCKS_PROXY_PORT=46673
    USE_STAGING_OAUTH= _=/usr/bin/env all_proxy=socks5h://localhost:1080 ftp_proxy=socks5h://localhost:1080 grpc_proxy=socks5h://localhost:1080 http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 no_proxy=localhost,127.0.0.1,::1,.local,.local,169.254.0.0/16,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

  • Soal kalimat “semakin cakap agen, semakin besar pula potensi radius ledakannya. Pertanyaan engineering-nya adalah bagaimana membatasinya”, akhir-akhir ini orang memang agak tidak nyaman jika LLM dipersonifikasikan, tetapi yang lebih buruk adalah seolah-olah kita berpura-pura bahwa LLM bisa diam-diam lolos ke internet dengan logika film lalu mulai menggandakan diri seperti lendir

    • Masalahnya adalah kita melatih model untuk memecahkan masalah dan mengikuti instruksi yang diberikan. Jika Anda menyuruhnya melakukan sesuatu, model bisa mengikuti logika lalu menilai bahwa cara termudah adalah menghapus database produksi, dan jika punya hak akses, ia bisa mengobrak-abrik semua kredensial untuk mencari kredensial database lalu benar-benar menghapusnya
      Kemampuan untuk melakukan hal seperti ini terus membaik dan ia juga makin baik dalam mengikuti instruksi, tetapi tidak selalu mahir untuk mengikuti semua instruksi atau bertindak dengan akal sehat. Jadi bukan soal lolos seperti lendir lalu menggandakan diri, melainkan semakin banyak akses yang Anda berikan, semakin besar kemungkinan pada suatu titik model menyimpulkan secara logis bahwa ia harus melakukan tindakan yang tidak diinginkan pengguna. Bisa karena itu tidak dilarang secara eksplisit, atau karena konteks menjadi terlalu kompleks sehingga bobot instruksi tersebut menurun dan ia malah mengikuti instruksi lain. Saya pernah melihat kasus ketika model menyimpulkan bahwa untuk benar-benar melakukan sesuatu, ia membutuhkan API key untuk akses layanan. Model itu tidak punya key tersebut, tetapi pengguna bisa mengaksesnya lewat browser. Jadi ia menulis skrip Python untuk mencuri cookie browser. Masalah yang menghentikannya bukan sandbox agen, melainkan CrowdStrike yang tidak menyukai skrip Python asing yang mencoba mencuri cookie browser
    • Kenapa tidak? Kalau bukan soal menjalankan model itu sendiri, agen AI bisa menulis worm agen yang menyebarkan lebih banyak agen melalui kerentanan perangkat lunak
      Saat ini LLM masih membutuhkan hardware terlalu banyak sehingga sulit bagi model itu sendiri untuk menyebar, tetapi dengan beberapa tahun waktu dan optimasi, mungkin kita akan melihat itu juga. Ini mengingatkan saya pada masa dulu ketika orang berkata “gambar tidak bisa menyebarkan virus”. Lalu ditemukan kerentanan decoder dan benar-benar dibuat virus gambar seperti itu
    • Begitu LLM dipersonifikasikan, rasanya itu jelas rusak secara desain, tetapi saya juga melihat bahwa perangkat lunak yang kita kenal pada akhirnya sedang berevolusi menjadi “entitas yang dipersonifikasikan”. Saya meninggalkan catatan terkait di [1], dan isinya dibuat oleh AI
      Ada juga tren menarik bahwa brand yang lebih dipersonifikasikan menjadi lebih dominan. Kontrasnya seperti Claude dan Doubao versus ChatGPT dan DeepSeek
      [1] https://github.com/NascentCore/agentic-suite/tree/main/perso...
  • Saya menggunakan VM qemu. VM ini punya akses internet, dan sepertinya risiko terbesar adalah Claude bisa mengunggah data ke suatu tempat
    Untuk membiarkannya bekerja dengan GitHub, saya membuat token dengan hak akses terbatas per repositori, read-only atau read/write. Meski begitu, saya lebih memilih hanya membiarkannya commit daripada push, lalu saya mengambil commit itu dari VM lewat SSH, memeriksa log-nya, dan mendorongnya sendiri secara manual. Saya juga sempat mempertimbangkan menjalankan Claude di container, tetapi terasa agak lemah. Terlalu banyak kerentanan Linux. Mungkin ketakutan ini tidak berdasar, tetapi untuk sesuatu yang tidak tepercaya, rasanya lebih aman menjalankannya di VM qemu

  • Baru-baru ini saya buru-buru membuat fungsi pembantu kecil yang menjalankan proses dengan bubblewrap, memberi akses baca/tulis hanya ke direktori tempat proses itu dijalankan dan menjadikan sisanya hanya-baca. Beberapa direktori sistem Linux tertentu dikecualikan agar GUI dan hal-hal seperti libportal tetap berfungsi
    Jauh lebih tidak merepotkan daripada container untuk pekerjaan di mana saya ingin agen benar-benar bisa menunjuk ke hal-hal acak seperti tangkapan layar atau file log yang tersebar di sana-sini, tetapi pada saat yang sama saya juga tidak ingin mengawasi sambil memberi persetujuan manual setiap saat. Cukup aneh bahwa platform alat AI belum berinvestasi pada pengalaman seperti ini. Pemicu saya membuat ini adalah Zed. Ini editor yang berasumsi pekerjaan AI, tetapi izin jalur spesifik untuk agen hanya bisa dimasukkan ke file konfigurasi seluruh pengguna. Ada file konfigurasi tingkat proyek, tetapi entah mengapa yang sulit dipahami, pengaturan izin agen tidak didukung secara eksplisit

  • Saya bukan ahli teori pengambilan keputusan, tetapi menurut saya kita seharusnya menunggu bukan sampai imbalan dan kerusakan yang diharapkan menjadi sama secara statistik, melainkan sampai imbalan dalam nilai harapan melampaui kerusakannya

    • Keberuntungan berpihak pada yang berani