Bỏ qua để đến nội dung

Chọn sandbox environment

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Cô lập (isolate) Claude Code giới hạn những gì một session có thể đọc, ghi, và truy cập trên mạng. Điều này quan trọng nhất khi bạn để Claude làm việc với ít prompt phê duyệt hơn, chạy nó không giám sát, hoặc trỏ nó vào code bạn không hoàn toàn tin tưởng.

Claude Code có thể chạy trong nhiều loại môi trường cô lập, từ per-command sandbox nhẹ đến máy ảo tách biệt hoàn toàn. Trang này so sánh chúng theo những gì chúng cô lập và yêu cầu gì, giúp bạn chọn loại phù hợp với threat model, và cách áp dụng lựa chọn đó cho cả tổ chức.

Hai phương án đầu trong bảng dưới chạy trên host OS mà không dùng container. Các phương án còn lại đặt Claude Code trong container hoặc VM.

Phương ánCô lập gìCần Docker?Công sức setup
Sandboxed Bash toolLệnh Bash và các process conKhôngTối thiểu trên macOS; thấp trên Linux, WSL2
Sandbox runtimeToàn bộ process Claude Code, gồm cả file tool, MCP server, hooksKhôngThấp
Dev containerToàn bộ môi trường devTrung bình
Custom containerToàn bộ môi trường devTrung bình đến cao
Virtual machineToàn bộ hệ điều hànhKhôngCao
Claude Code trên webToàn bộ hệ điều hành, do Anthropic hostKhôngKhông có; cần subscription Claude, và GitHub nếu khởi chạy từ giao diện web

Sandboxed Bash tool tích hợp sẵn trong Claude Code và chỉ giới hạn lệnh Bash. Các built-in file tool, MCP server, và hooks vẫn chạy trực tiếp trên host của bạn. Mọi phương án khác trong bảng đặt toàn bộ process Claude Code trong ranh giới cô lập, nên file tool, MCP server, và hooks cũng bị giới hạn.

Bạn muốnBắt đầu với
Giảm prompt phê duyệt khi làm việc hằng ngày trên máy riêngSandboxed Bash tool, bật bằng /sandbox
Để Claude làm việc không giám sát với --dangerously-skip-permissions hoặc auto modeDev container có sẵn, bất kỳ container/VM nào, hoặc sandbox runtime
Cô lập cả MCP server và hooks lẫn Bash, không cần DockerSandbox runtime
Làm việc trên repository không tin tưởngVM riêng, hoặc Claude Code trên web nếu có subscription Claude
Chuẩn hoá môi trường sandbox cho cả teamDev container có sẵn, commit vào repository
Dùng Claude Code từ thiết bị không có setup localClaude Code trên web
Bắt buộc cô lập cho mọi developer trong tổ chứcEnforce isolation across an organization
Làm việc trên host Windows thuầnContainer hoặc VM, hoặc chạy Bash sandbox trong WSL2

Permission modes quyết định một tool call có chạy không và bạn có bị hỏi trước không. Cô lập giới hạn những gì một lệnh có thể truy cập sau khi nó chạy. Hai cơ chế này bổ trợ nhau: khi permission mode cho phép hành động chạy mà không hỏi, ranh giới cô lập giới hạn những gì hành động đó có thể chạm tới.

Khi bạn truyền --dangerously-skip-permissions, Claude hành động mà không hỏi trước; bạn chỉ bị hỏi với các ask rule tường minh, connector tool tổ chức đặt ask, MCP tool đánh dấu requiresUserInteraction, và việc xoá nhắm vào / hoặc home directory. Không có prompt nào bắt lỗi, nên ranh giới cô lập bạn chọn chính là thứ bảo vệ hệ thống. Luôn chạy session --dangerously-skip-permissions trong container, VM, hoặc sandbox runtime.

Auto mode thay prompt bằng một classifier xem xét hành động và chặn những hành động vượt quá yêu cầu, nhắm vào hạ tầng lạ, hoặc có vẻ bị dẫn dắt bởi nội dung độc hại Claude đọc được. Classifier là kiểm soát theo từng hành động, không phải ranh giới cô lập, nên ranh giới cô lập vẫn bổ sung phòng thủ theo chiều sâu cho các lần chạy không giám sát.

Sandboxed Bash tool riêng nó chỉ giới hạn Bash, nên không đủ cho các lần chạy hoàn toàn không giám sát ở cả hai mode. Bạn có thể xếp chồng phương án: chạy sandboxed Bash tool bên trong container hoặc VM để có giới hạn lệnh cấp OS trên nền ranh giới môi trường bên ngoài.

Sandboxed Bash tool tích hợp sẵn trong Claude Code. Nó dùng các cơ chế OS để giới hạn filesystem và network access của mỗi lệnh Bash Claude chạy: Seatbelt (macOS built-in) và bubblewrap trên Linux/WSL2. Mặc định nó cho phép ghi vào working directory và hỏi lần đầu một lệnh cần một network domain mới.

Bật bằng lệnh /sandbox. Xem trang Sandboxing để biết chi tiết approval mode, ranh giới mặc định, và cách nới rộng/thu hẹp.

Per-command sandbox không bao phủ mọi thứ chạy trong session:

  • Các built-in tool khác như Read, Edit, WebFetch chạy trong process Claude Code và không spawn code tuỳ ý - permission rule cho path hoặc domain gate chúng thay vào đó.
  • MCP server và hooks là các process riêng chạy không giới hạn trên host.

Để đưa built-in tool, MCP server, và hooks vào cùng một ranh giới OS, chạy toàn bộ process Claude Code trong sandbox runtime, dev container, hoặc custom container.

Package @anthropic-ai/sandbox-runtime bọc toàn bộ một process trong cùng cơ chế cô lập Seatbelt hoặc bubblewrap mà built-in Bash sandbox dùng. Chạy Claude Code qua nó giới hạn mọi tool, hook, và MCP server trong session, không chỉ Bash. Runtime này là bản beta research preview, format cấu hình có thể thay đổi.

Runtime mặc định từ chối toàn bộ write và network access, nên cần cấu hình trước khi khởi chạy Claude Code qua nó. Trong ~/.srt-settings.json (hoặc file truyền qua --settings), cho phép ghi vào ít nhất project directory, các path cấu hình ~/.claude~/.claude.json, và /tmp.

Terminal window
npx @anthropic-ai/sandbox-runtime claude

Dev container chạy Claude Code trong Docker container mà VS Code hoặc editor tương thích quản lý, với project mount vào. Bạn có thể tự định nghĩa bằng thư mục .devcontainer/ trong repository.

Repository claude-code publish một dev container mẫu với firewall iptables mặc định-từ-chối. Copy vào repository và điều chỉnh allowlist firewall, base image, và phiên bản Claude Code pin sẵn.

Bạn có thể chạy Claude Code trong bất kỳ Docker/OCI container image nào với network policy, mounted volume, và seccomp profile riêng. Đây là hướng phổ biến nhất cho tổ chức đã có hạ tầng container hoặc CI runner.

VM riêng cung cấp mức tách biệt mạnh nhất, với kernel riêng và (trong triển khai cloud/microVM) cả phần cứng ảo hoá riêng. Dùng khi bạn đánh giá code không tin tưởng hoặc chính sách bảo mật yêu cầu tách biệt cấp kernel.

Claude Code trên web chạy mỗi session trong một VM cô lập do Anthropic quản lý. Network proxy áp dụng allowlist mặc định, và một proxy riêng giữ GitHub token của bạn ngoài sandbox trong khi cấp credential có phạm vi giới hạn cho việc truy cập repository bên trong.

Từng developer có thể tự chọn phương án ở trên. Những gì tổ chức có thể ép buộc, và bằng công cụ nào, phụ thuộc vào phương án:

  • Built-in Bash sandbox: phương án duy nhất Claude Code tự thực thi. Triển khai key sandbox qua managed settings.
  • Dev container: commit dev container mẫu vào repository để chuẩn hoá môi trường - đây là quy ước chứ không phải ranh giới thực thi, vì Claude Code không bắt buộc chạy trong container.
  • Custom container và VM: phân phối Claude Code qua image được duyệt và dùng công cụ quản lý thiết bị của tổ chức để ngăn cài đặt ngoài đó.
  • Sandboxing: cấu hình sandboxed Bash tool
  • Permissions: permission configuration và access control
  • Settings: tham chiếu cấu hình đầy đủ