SpyBara
Go Premium

sandbox-environments.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 1 addition and 1 deletion.

2026
Wed 9 22:58 Sat 12 03:02 Mon 14 22:58 Fri 18 23:58

Pilih lingkungan sandbox

Bandingkan opsi sandbox Claude Code: alat Bash bersandbox bawaan, runtime sandbox, dev container, Docker, dan VM. Pilih isolasi yang tepat untuk model ancaman Anda.

Mengisolasi Claude Code membatasi apa yang dapat dibaca, ditulis, dan dijangkau sesi pada jaringan. Hal ini paling penting ketika Anda membiarkan Claude bekerja dengan lebih sedikit prompt izin, menjalankannya tanpa pengawasan, atau mengarahkannya ke kode yang tidak sepenuhnya Anda percayai.

Claude Code dapat berjalan di beberapa jenis lingkungan terisolasi, mulai dari sandbox per-perintah ringan hingga mesin virtual yang sepenuhnya terpisah. Halaman ini membandingkan mereka berdasarkan apa yang mereka isolasi dan apa yang mereka butuhkan, membantu Anda memilih satu untuk model ancaman Anda, dan menunjukkan cara menegakkan pilihan itu di seluruh organisasi.

Bandingkan pendekatan sandboxing

Dua pendekatan pertama dalam tabel di bawah berjalan pada sistem operasi host tanpa container. Sisanya menempatkan Claude Code di dalam container atau mesin virtual.

Pendekatan Apa yang diisolasi Memerlukan Docker Upaya pengaturan
Sandboxed Bash tool Perintah Bash dan proses anak mereka Tidak Minimal di macOS; rendah di Linux dan WSL2
Sandbox runtime Seluruh proses Claude Code, termasuk alat file, server MCP, dan hooks Tidak Rendah
Dev container Lingkungan pengembangan lengkap Ya Sedang
Custom container Lingkungan pengembangan lengkap Ya Sedang hingga tinggi
Virtual machine Sistem operasi lengkap Tidak Tinggi
Claude Code on the web Sistem operasi lengkap, dihosting oleh Anthropic Tidak Tidak ada; memerlukan langganan Claude dan GitHub saat Anda meluncurkan dari antarmuka web

Sandboxed Bash tool bawaan di Claude Code dan hanya membatasi perintah Bash. Alat file bawaan, server MCP, dan hooks masih berjalan langsung di host Anda. Setiap pendekatan lain dalam tabel menempatkan seluruh proses Claude Code di dalam batas isolasi, sehingga alat file, server MCP, dan hooks juga dibatasi.

Pilih pendekatan

Cocokkan tujuan Anda dengan baris di bawah, kemudian baca bagian detail yang mengikuti.

Anda ingin Mulai dengan
Mengurangi prompt izin selama pekerjaan sehari-hari di mesin Anda sendiri Sandboxed Bash tool, dikonfigurasi dengan /sandbox
Biarkan Claude bekerja tanpa pengawasan dengan --dangerously-skip-permissions atau mode otomatis Dev container yang telah dikonfigurasi sebelumnya, container atau VM apa pun, atau sandbox runtime
Isolasi server MCP dan hooks serta Bash, tanpa Docker Runtime sandbox
Bekerja pada repositori yang tidak terpercaya Mesin virtual khusus, atau Claude Code on the web jika Anda memiliki langganan Claude; GitHub hanya diperlukan ketika Anda meluncurkan dari antarmuka web
Standardisasi lingkungan bersandbox di seluruh tim Dev container yang telah dikonfigurasi sebelumnya, disalin ke repositori Anda
Gunakan Claude Code dari perangkat tanpa pengaturan lokal Claude Code on the web, yang memerlukan langganan Claude dan akun GitHub yang terhubung
Memerlukan isolasi untuk setiap pengembang di organisasi Anda Enforce isolation across an organization
Bekerja pada host Windows asli Container atau VM, atau jalankan sandbox Bash di dalam WSL2

Bagaimana isolasi berhubungan dengan mode izin

Mode izin memutuskan apakah panggilan alat berjalan dan apakah Anda diminta terlebih dahulu. Isolasi membatasi apa yang dapat diakses perintah setelah berjalan. Keduanya bekerja bersama: ketika mode izin membiarkan tindakan berjalan tanpa bertanya kepada Anda, batas isolasi membatasi apa yang dapat dijangkau tindakan tersebut.

Ketika Anda melewatkan --dangerously-skip-permissions, Claude bertindak tanpa bertanya kepada Anda terlebih dahulu. Tindakan yang tidak ada mode auto-approve masih berlaku.

Tanpa prompt untuk menangkap kesalahan, batas isolasi yang Anda pilih adalah apa yang melindungi sistem Anda. Selalu jalankan sesi --dangerously-skip-permissions di dalam container, VM, atau sandbox runtime, sehingga alat file, server MCP, dan hooks juga berada di dalam batas. Pada Linux dan macOS, Claude Code menolak untuk memulai dengan flag ini ketika berjalan sebagai root, jadi jalankan container, VM, atau sandbox runtime sebagai pengguna non-root.

Mode otomatis menggantikan prompt dengan pengklasifikasi yang meninjau tindakan. Pengklasifikasi adalah kontrol per-tindakan, bukan batas isolasi, sehingga batas isolasi masih menambah pertahanan berlapis untuk berjalan tanpa pengawasan, dan tidak diperlukan seperti halnya untuk --dangerously-skip-permissions.

Sandboxed Bash tool sendiri hanya membatasi Bash, sehingga tidak cukup untuk berjalan sepenuhnya tanpa pengawasan di kedua mode. Anda dapat melapisi pendekatan: menjalankan sandboxed Bash tool di dalam container atau VM memberi Anda pembatasan perintah tingkat OS di atas batas lingkungan luar. Untuk bagaimana sandbox Bash itu sendiri berinteraksi dengan aturan izin dan mode, lihat How sandboxing relates to permissions and permission modes.

Sandboxed Bash tool

Sandboxed Bash tool bawaan di Claude Code. Ini menggunakan primitif sistem operasi untuk membatasi akses filesystem dan jaringan dari setiap perintah Bash yang dijalankan Claude.

Jalankan perintah /sandbox untuk membuka panel sandbox dan pilih mode. Panduan Sandboxing mencakup mode persetujuan, batas default, dan cara memperluas atau mempersempit.

Sandbox per-perintah tidak mencakup semua yang berjalan dalam sesi:

  • Alat bawaan lainnya seperti Read, Edit, dan WebFetch berjalan di dalam proses Claude Code dan tidak menjalankan kode arbitrer. Aturan izin untuk path atau domain membatasi mereka sebagai gantinya.
  • Server MCP dan hooks adalah proses terpisah yang berjalan tanpa batasan pada host.

Untuk menempatkan alat bawaan, server MCP, dan hooks semua di belakang satu batas OS, jalankan seluruh proses Claude Code di dalam sandbox runtime, dev container, atau custom container.

Sandbox runtime

Paket @anthropic-ai/sandbox-runtime membungkus seluruh proses dalam isolasi Seatbelt atau bubblewrap yang sama yang digunakan sandbox Bash bawaan. Menjalankan Claude Code melalui runtime membatasi setiap alat, hook, dan server MCP dalam sesi, bukan hanya Bash. Runtime adalah pratinjau penelitian beta, dan format konfigurasinya mungkin berubah seiring paket berkembang.

Bagian ini mencakup apa yang Anda konfigurasikan dan apa yang diberlakukan runtime sendiri. Untuk menerapkan runtime dalam aplikasi Agent SDK, lihat panduan penerapan aman.

Siapkan dan luncurkan runtime

Di Linux dan WSL2, runtime bergantung pada paket bubblewrap dan socat yang sama dengan sandbox bawaan, ditambah ripgrep, yang Claude Code bundel tetapi runtime mandiri menyelesaikannya dari PATH Anda. Instal bubblewrap dan socat seperti yang dijelaskan dalam Siapkan Linux dan WSL2, dan ripgrep dari manajer paket distribusi Anda. Di macOS Anda tidak memerlukan paket tambahan. Runtime menggunakan sandbox Seatbelt bawaan di sana.

Secara default runtime menolak akses jaringan dan membatasi penulisan ke serangkaian kecil jalur runtime bawaan, jadi konfigurasikan sebelum meluncurkan Claude Code melaluinya. Letakkan konfigurasi Anda di ~/.srt-settings.json, atau dalam file yang Anda berikan dengan --settings. README paket mendokumentasikan skema konfigurasi lengkap.

Izinkan akses tulis ke setidaknya:

  • Direktori proyek Anda.
  • Jalur konfigurasi Claude Code ~/.claude dan ~/.claude.json.
  • /tmp, tempat Claude Code menulis file runtime.

Izinkan domain jaringan yang dibutuhkan sesi Anda:

  • api.anthropic.com, atau endpoint penyedia yang dikonfigurasi. Pada penyedia pihak ketiga, pertahankan api.anthropic.com juga: pemeriksaan keamanan domain WebFetch masih memanggilnya secara default kecuali Anda menetapkan skipWebFetchPreflight: true.
  • claude.ai dan platform.claude.com, yang diperlukan OAuth sign-in dan penyegaran token. Jalankan yang diautentikasi dengan kunci API dapat menghilangkan keduanya.

Di Linux dan WSL2, runtime menerapkan hibah tulis hanya ke jalur yang sudah ada. Dalam lingkungan baru, buat jalur konfigurasi Claude Code sebelum peluncuran pertama:

mkdir -p ~/.claude && echo '{}' > ~/.claude.json

Setelah file pengaturan sudah ada, luncurkan Claude Code dengan npx dan berikan claude sebagai perintah untuk dibungkus:

npx @anthropic-ai/sandbox-runtime claude

Claude Code dimulai di dalam sandbox dengan batas filesystem dan jaringan yang Anda konfigurasikan. Perintah yang sama berfungsi untuk sandboxing server MCP mandiri atau proses pembantu lainnya.

Apa yang diblokirkan runtime sendiri

Runtime memblokir penulisan risiko tertinggi tanpa konfigurasi apa pun dari Anda:

  • denyWrite mengambil alih allowWrite.
  • Di akar proyek, runtime menolak .git/hooks, menolak .git/config kecuali Anda menetapkan filesystem.allowGitConfig: true, dan menolak .mcp.json, .claude/commands, .claude/agents, dan file startup shell.
  • Di macOS, penolakan ini diperiksa ketika penulisan terjadi, jadi mereka juga mencakup file bersarang dan repositori yang dibuat selama sesi.
  • Di Linux dan WSL2, runtime membangun daftar penolakan sekali saat peluncuran. Ini secara andal mencakup akar proyek, melakukan pemindaian dangkal upaya terbaik untuk salinan bersarang yang ada pada saat itu, dan tidak mencakup apa pun yang dibuat sesi nanti, seperti git init, git clone, atau scaffolding. Bagian mandatoryDenySearchDepth README menjelaskan semantik pemindaian yang tepat.
  • Tanpa ~/.srt-settings.json yang valid, runtime tetap dimulai, memblokir akses jaringan, dan membatasi penulisan ke jalur runtime bawaan seperti /tmp/claude, ~/.npm/_logs, dan ~/.claude/debug. Jangan anggap awal yang bersih sebagai bukti pengaturan Anda dimuat.
  • Ketika Anda melewatkan --settings, runtime menolak untuk memulai jika file gagal dimuat.

Hibah tulis Anda masih mencakup jalur lain yang dimuat konfigurasi Claude Code, jadi tolak dengan denyWrite. Sesi yang disandbox yang dapat menulisnya dapat mempertahankan hook, aturan izin, atau server MCP yang berjalan tanpa sandbox lain kali Anda meluncurkan Claude Code.

Setelah menjalankan tanpa pengawasan

Tinjau jalur yang Anda pertahankan dapat ditulis. Di Linux dan WSL2, juga tinjau apa pun yang dibuat sesi.

Dev containers

Dev container menjalankan Claude Code di dalam Docker container yang dikelola VS Code atau editor kompatibel, dengan proyek Anda dipasang di dalamnya. Anda dapat menentukan milik Anda sendiri dengan direktori .devcontainer/ di repositori Anda.

Repositori claude-code menerbitkan contoh dev container dengan firewall iptables default-deny sebagai titik awal. Salin ke repositori Anda dan sesuaikan daftar allowlist firewall, gambar dasar, dan versi Claude Code yang disematkan agar sesuai dengan lingkungan Anda. Karena firewall memblokir egress yang tidak disetujui, konfigurasi seperti ini mendukung menjalankan Claude Code dengan --dangerously-skip-permissions untuk pekerjaan tanpa pengawasan.

Custom container

Anda dapat menjalankan Claude Code di gambar Docker atau OCI container apa pun dengan kebijakan jaringan Anda sendiri, volume yang dipasang, dan profil seccomp. Ini adalah jalur paling umum untuk organisasi dengan infrastruktur container yang ada atau runner CI.

Beberapa layanan sandbox terkelola dan eksekusi jarak jauh dapat menampung container untuk Anda. Daftar periksa yang sama berlaku seperti untuk container apa pun yang Anda operasikan: tinjau apa yang dipasang dapat ditulis, kredensial dan token apa yang dapat dijangkau di dalamnya, dan apa yang diizinkan kebijakan egress jaringan.

Anda dapat melapisi sandbox Bash bawaan di dalam container untuk pembatasan per-perintah. Container yang tidak istimewa memerlukan pengaturan nested-sandbox yang dijelaskan dalam Sandboxing troubleshooting.

Virtual machine

Mesin virtual khusus menyediakan pemisahan terkuat, dengan kernel sendiri dan, dalam penerapan cloud atau microVM, hardware virtual sendiri. Opsi termasuk instance cloud, hypervisor lokal, dan microVM seperti Firecracker. Gunakan pendekatan ini ketika Anda mengevaluasi kode yang tidak terpercaya, ketika kebijakan keamanan Anda memerlukan pemisahan tingkat kernel antara agen dan host, atau ketika tidak ada pendekatan tingkat host yang memenuhi persyaratan kepatuhan Anda.

Docker Sandboxes menyediakan microVM dengan daemon Docker sendiri dan sinkronisasi workspace, yang dapat menjalankan Claude Code pada host apa pun dengan Docker Sandboxes terinstal. Ini adalah produk gratis dan mandiri dari Docker yang tidak memerlukan Docker Desktop.

Claude Code on the web

Claude Code on the web menjalankan setiap sesi dalam mesin virtual terisolasi yang dikelola Anthropic. Proxy jaringan menerapkan daftar allowlist default, dan proxy terpisah menyimpan token GitHub Anda di luar sandbox sambil mengeluarkan kredensial berscopeduntuk akses repositori di dalamnya. Sesi yang organisasi Anda arahkan ke lingkungan yang di-host sendiri berjalan pada infrastruktur yang Anda sediakan sebagai gantinya, di mana isolasi, kontrol egress, dan kredensial git adalah tanggung jawab deployment Anda.

Gunakan pendekatan ini ketika Anda menginginkan isolasi VM penuh tanpa menyediakan infrastruktur sendiri, atau ketika Anda mendelegasikan tugas dari perangkat yang tidak memiliki lingkungan pengembangan lokal. Ini memerlukan langganan Claude. Ketika Anda meluncurkan sesi dari antarmuka web, Anda juga memerlukan akun GitHub yang terhubung sehingga sandbox dapat mengkloning repositori Anda. Ketika Anda meluncurkan dari CLI dengan --cloud, Claude Code dapat membundel dan mengunggah repositori lokal Anda sebagai gantinya. Lihat Claude Code on the web untuk ketersediaan paket dan opsi autentikasi GitHub.

Enforce isolation across an organization

Pengembang individual dapat memilih pendekatan sandboxing apa pun di halaman ini. Apa yang dapat diterapkan organisasi, dan dengan alat mana, tergantung pada pendekatan:

  • Built-in Bash sandbox: satu-satunya pendekatan yang diterapkan Claude Code sendiri. Berikan kunci pengaturan sandbox melalui managed settings, baik sebagai file yang dikelola oleh MDM Anda atau melalui server-managed settings di Claude.ai. Lihat Enforce sandboxing with managed settings untuk kunci yang akan digunakan dan cara mencegah pengembang memperluas kebijakan.
  • Dev containers: komit contoh dev container ke repositori Anda untuk standardisasi lingkungan di seluruh tim. Ini adalah konvensi daripada batas penegakan, karena Claude Code tidak memerlukan container. Jika pengembang tidak boleh dapat menjalankan Claude Code di luar, terapkan dengan alat manajemen perangkat organisasi Anda atau alat allowlisting perangkat lunak.
  • Custom containers and VMs: distribusikan Claude Code melalui gambar yang disetujui dan gunakan alat manajemen perangkat organisasi Anda atau alat allowlisting perangkat lunak untuk mencegah instalasi di luar.

Lihat juga

Halaman-halaman ini mencakup detail konfigurasi dan kebijakan untuk pendekatan sandboxing di halaman ini.

  • Sandboxing: konfigurasikan alat Bash bersandbox bawaan
  • Dev container: container pengembangan Docker yang telah dikonfigurasi sebelumnya
  • Security: model keamanan Claude Code lengkap
  • Secure deployment: panduan isolasi untuk aplikasi Agent SDK
  • Settings: semua kunci konfigurasi sandbox, termasuk pengiriman pengaturan terkelola