A sandbox hanya berguna jika ia benar-benar menjaga agen tetap berada di dalam pagar. Claude Code 2.1.216 memperketat beberapa celah yang dapat membiarkan tugas latar belakang, subagen, atau sesi yang dilanjutkan berkeliaran di luar direktori yang ditentukan. Rilis ini memperkenalkan sakelar konfigurasi baru, tetapi pekerjaan yang lebih penting ada di balik layar: penanganan Git worktree, symlink, dan restart agen yang lebih cerdas. Jika Anda menjalankan Claude Code secara lokal atau di CI, perubahan ini layak mendapatkan perhatian lebih dari sekadar membaca cepat changelog.

Toggle Filesystem yang Tidak Boleh Anda Ubah Sembarangan

Versi 2.1.216 menambahkan sandbox.filesystem.disabled. Saat ini diatur, Claude Code melewati isolasi filesystem-nya sendiri namun tetap menerapkan sandbox jaringan. Sekilas, ini terdengar seperti cara untuk menghentikan kesalahan izin atau mempercepat operasi file. Kenyataannya tidak demikian. Anda hanya boleh mengaktifkan pengaturan ini jika lapisan lain sudah melindungi disk Anda.

Itu berarti kontainer sekali pakai yang dihapus setelah setiap sesi, atau mesin virtual khusus tanpa akses ke direktori home atau volume produksi Anda. Jika Anda menjalankan Claude Code secara langsung di macOS, Windows, atau host Linux murni, biarkan isolasi filesystem tetap aktif. Sandbox jaringan bukanlah pengganti kontrol filesystem, dan sedikit hambatan dalam akses file yang di-sandbox jauh lebih murah daripada harus memul

Jangan anggap ini sebagai patch rutin yang Anda instal pada Jumat sore. Jalur pembaruan di 2.1.216 memang mudah, tetapi konsekuensi dari kesalahan konfigurasi tidaklah demikian.

Pertama, perbarui ke 2.1.216 melalui manajer paket atau penginstal biasa Anda. Kemudian, pilih salah satu dari tiga profil isolasi sebelum memulai tugas agen apa pun. Jangan mencampur profil di berbagai sesi yang sedang berjalan tanpa memahami profil mana yang memiliki prioritas.

Selanjutnya, jalankan lima uji batas non-destruktif yang dijelaskan di bawah ini. Ini adalah pemeriksaan skrip cepat yang membuktikan bahwa sandbox berperilaku sesuai dengan yang dijanjikan profil tersebut. Selama pengujian, buatlah sentinel hash untuk file di luar repositori pengujian sekali pakai Anda. Sentinel hash hanyalah checksum dari file atau direktori sensitif yang ingin Anda lindungi. Setelah menjalankan pengujian, bandingkan hash tersebut. Jika ada yang berubah, berarti isolasi Anda bocor.

Bandingkan log Anda juga. Claude Code menulis penolakan dan peristiwa sandbox ke log lokalnya. Cari penolakan eksplisit saat host yang diblokir diakses atau saat subagent keluar dari worktree-nya. Kegagalan diam-diam lebih buruk daripada kegagalan yang terlihat jelas, jadi pastikan log menunjukkan bahwa guardrail telah aktif.

Terakhir, terapkan perubahan secara bertahap. Mulailah dengan satu proyek atau cabang non-produksi. Biarkan versi baru berjalan selama satu atau dua hari sebelum Anda menyebarkannya ke seluruh tim atau armada CI Anda.

Lima Uji Batas yang Membuktikan Sandbox Anda Berfungsi

Selalu jalankan pengujian ini di dalam repositori sekali pakai yang berisi data palsu. Jangan pernah mengarahkannya ke kode produksi, kredensial asli, atau infrastruktur aktif.

Batas jaringan. Cobalah untuk mengakses dua endpoint: satu yang telah Anda izinkan secara eksplisit dan satu yang telah Anda blokir. Permintaan HTTP sederhana ke layanan pengujian publik seperti httpbin.org dapat berfungsi sebagai target yang diizinkan, sementara permintaan ke endpoint metadata lokal atau IP internal harus gagal. Jika permintaan yang diblokir berhasil, berarti sandbox jaringan Anda salah dikonfigurasi.

Isolasi worktree. Dari dalam subagent, jalankan perintah Git yang ditujukan ke direktori induk. Misalnya, coba git -C .. status atau minta agen mendeskripsikan file di luar checkout-nya. Dengan perbaikan di 2.1.216, hal ini harus gagal. Subagent seharusnya hanya dapat melihat worktree miliknya sendiri.

Jebakan symlink. Buatlah symlink di dalam proyek Anda yang mengarah ke direktori di luar repositori, seperti /tmp/sentinel-target. Kemudian, coba simpan tugas atau alur kerja di bawah jalur .claude yang akan menulis melalui tautan tersebut. Setelah disimpan, periksa direktori luar tersebut. Jika masih kosong, berarti pengerasan (hardening) symlink berfungsi.

Lewati rewind. Siapkan folder di dalam repo Anda yang berisi symlink ke file sistem atau direktori lain. Jalankan /rewind pada folder tersebut. Claude seharusnya mencantumkan jalur symlink atau hard-link yang dilewati daripada mencoba mengikutinya. Pastikan target di luar repo tetap tidak tersentuh.

Kebangkitan sesi. Jalankan agen latar belakang dengan pembatasan ketat, seperti menonaktifkan alat tulis file. Jeda atau hentikan sesi, lalu lanjutkan kembali. Segera coba buat agen menulis file. Jika pembatasan masih aktif, berarti perbaikan untuk agen yang dilanjutkan sudah berfungsi. Jika agen tiba-tiba memiliki akses alat penuh lagi, berarti Anda masih rentan.

Kata Penutup

Claude Code 2.1.216 memberi Anda fleksibilitas lebih dibandingkan versi sebelumnya, tetapi fleksibilitas tersebut datang dengan mandat yang jelas: verifikasi sebelum Anda percaya. Toggle filesystem yang baru bukan ada untuk mempermudah hidup Anda dengan mengorbankan keamanan. Itu ada untuk para insinyur yang sudah membangun fondasi yang diperkuat di bawah alat ini. Peningkatan nyata dalam rilis ini adalah guardrail senyap yang menghentikan subagent menyusup ke direktori induk, menolak mengikuti symlink selama penulisan konfigurasi, dan mengingat aturan bahkan setelah jeda yang lama.

Jalankan kelima pengujian tersebut. Periksa sentinel hash Anda. Baca log-nya. Kemudian, dan hanya setelah itu, biarkan versi baru menangani pekerjaan nyata.

Sumber: Claude Code v2.1.216 Release Notes

Komunitas pembelajaran opsional: GyaanSetu on Telegram