Trang này được dịch từ tài liệu tiếng Anh. Lệnh, định danh và ví dụ giữ nguyên. Runtime 7.24.4 · SDK 2.6.7. Bản tiếng Anh
Chế độ Sandbox
Trạng thái: Đang hoạt động Phạm vi: trạng thái hiện tại Xem xét lần cuối: 2026-08-23 Chủ sở hữu: ax-code runtime
AX Code có một sandbox thực thi tích hợp, có thể hạn chế việc tác nhân AI làm trên hệ thống của bạn. Theo mặc định, AX Code khởi động ở truy cập đầy đủ với sandbox tắt, nên ghi hệ thống tệp và truy cập mạng không bị hạn chế. Hãy bật workspace-write hoặc read-only trước khi làm việc với kho không đáng tin hoặc chạy nhiệm vụ không giám sát.
Cảnh báo bảo mật:
full-accesskhông phải ranh giới bảo mật. Tác nhân có thể sửa tệp ngoài không gian làm việc, ghi.git/và.ax-code/, chạy lệnh shell không hạn chế và truy cập mạng.
Bắt đầu nhanh
Bật tắt sandbox từ TUI:
- Gõ
/sandboxtrong lời nhắc, hoặc - Nhấn
Ctrl+Pvà tìm “sandbox”
Thanh trạng thái hiện trạng thái hiện tại:
- sandbox bật (xanh) — tác nhân bị giới hạn trong không gian làm việc
- sandbox tắt (đỏ) — không hạn chế
Thiết lập được giữ qua các phiên trong ax-code.json.
Những gì thay đổi
| Khả năng | Sandbox tắt | Sandbox bật |
|---|---|---|
| Ghi tệp trong không gian làm việc | Được phép | Được phép |
| Ghi tệp ngoài không gian làm việc | Được phép | Bị chặn |
Ghi vào .git/ |
Được phép | Bị chặn |
Ghi vào .ax-code/ |
Được phép | Bị chặn |
| Lệnh Bash | Không hạn chế | Chỉ không gian làm việc |
Bash nhắm .git/, .ax-code/ |
Được phép | Bị chặn |
| Bash nhắm ngoài không gian làm việc | Được phép | Bị chặn |
| Truy cập mạng (webfetch, websearch) | Được phép | Bị chặn |
| Máy khách mạng của Bash (curl, wget, …) | Được phép | Bị chặn |
| Thao tác đọc (read, glob, grep) | Không hạn chế | Không hạn chế |
Cấu hình
Nguồn sự thật
Trang này tóm tắt hành vi hướng tới người dùng. Khi hành vi đổi, hãy đối chiếu tài liệu với:
packages/ax-code/src/isolation/index.tscho phân giải chế độ, đường dẫn được bảo vệ, kiểm tra mạng, kiểm tra ghi, kiểm tra bash vàIsolationDeniedError.packages/ax-code/src/config/schema.tscho dạng cấu hình, mặc định và mô tả.packages/ax-code/src/server/routes/isolation.tscho hành vi bật tắt runtime và lưu bền.packages/ax-code/test/isolation/isolation.test.tsvàpackages/ax-code/test/tool/bash.test.tscho hành vi thực thi kỳ vọng.
Hãy giữ các tuyên bố lặp trong README gốc ngắn và liên kết về đây để biết chi tiết.
Bật tắt từ TUI
Dùng /sandbox hoặc bảng lệnh (Ctrl+P → “Bật/tắt sandbox”). Thay đổi có hiệu lực ngay và được lưu vào ax-code.json của dự án bạn.
Cờ CLI
ax-code --sandbox workspace-write # sandbox on
ax-code --sandbox full-access # sandbox off
ax-code --sandbox read-only # strictest: blocks all mutations
Biến môi trường
AX_CODE_ISOLATION_MODE=workspace-write ax-code
Tệp cấu hình
Trong ax-code.json:
{
"isolation": {
"mode": "workspace-write",
"network": false
}
}
Thứ tự ưu tiên
Cờ CLI > biến môi trường > tệp cấu hình > mặc định (full-access)
Khi một ghi đè CLI hoặc môi trường đang hoạt động, TUI báo chế độ đang có hiệu lực đó. Một lần bật tắt /sandbox có thể lưu tùy chọn dự án, nhưng ghi đè ưu tiên cao hơn vẫn hoạt động cho đến khi bị gỡ (thường là lúc khởi động lại).
Các chế độ cô lập
| Chế độ | Mô tả |
|---|---|
workspace-write |
Ghi bị giới hạn trong không gian làm việc. Mạng tắt. Đường dẫn được bảo vệ được thực thi. Hiện là “sandbox bật”. |
full-access |
Không hạn chế. Hiện là “sandbox tắt”. |
read-only |
Mọi đột biến bị chặn. Không bash. Không ghi. Không mạng. |
Đường dẫn được bảo vệ
Ở chế độ workspace-write, các đường dẫn này luôn được bảo vệ khỏi ghi:
.git/— ngăn hỏng trạng thái git do vô ý.ax-code/— ngăn can thiệp cấu hình/plugin
Thêm đường dẫn được bảo vệ tùy chỉnh trong cấu hình:
{
"isolation": {
"mode": "workspace-write",
"protected": ["secrets", "credentials"]
}
}
Truy cập mạng
Mạng tắt theo mặc định ở các chế độ workspace-write và read-only. Các công cụ bị ảnh hưởng:
webfetch— bị chặnwebsearch— bị chặncodesearch— bị chặnbash— các máy khách chỉ mạng (curl,wget,nc/ncat/netcat,telnet,ftp,tftp,scp,sftp,dig,nslookup,host) bị chặn
Giới hạn: Chặn mạng trong
bashở tầng ứng dụng và phủ các máy khách mạng chuyên dụng ở trên. Nó không chặn các công cụ lưỡng dụng cũng chạy được ngoại tuyến (git,npm/pnpm/yarn,pip,go, trình thông dịch ngôn ngữ nhưpython/node), vì các lần gọi ngoại tuyến của chúng không phân biệt được tĩnh và chặn chúng sẽ làm gãy quy trình thường gặp. Cô lập mạng thật, triệt để cần điều khiển cấp hệ điều hành, mà sandbox này không cung cấp. Khi chạm một máy khách bị từ chối, tác nhân hỏi leo thang một lần.
Để cho phép mạng trong khi giữ hạn chế ghi:
{
"isolation": {
"mode": "workspace-write",
"network": true
}
}
Backend cô lập (ứng dụng so với hệ điều hành)
| Backend | Cấu hình / môi trường | Hành vi |
|---|---|---|
app |
"backend": "app" |
Chỉ kiểm tra tầng công cụ di động |
os |
"backend": "os" / AX_CODE_ISOLATION_BACKEND=os |
Kiểm tra ứng dụng + sandbox nhân cho bash; lỗi nếu thiếu công cụ hệ điều hành |
auto (mặc định) |
"backend": "auto", chưa đặt, hoặc AX_CODE_ISOLATION_BACKEND=auto |
Ưu tiên bọc bash của hệ điều hành; lùi về chỉ ứng dụng |
macOS: hồ sơ Seatbelt qua sandbox-exec (ghi giới hạn trong không gian làm việc/worktree, mạng bị từ chối khi network: false).
Linux: bubblewrap (bwrap) khi đã cài (--unshare-net khi mạng tắt, không gian làm việc được gắn bind ở chế độ RW).
Windows: hiện chỉ tầng ứng dụng.
{
"isolation": {
"mode": "workspace-write",
"network": false,
"backend": "auto"
}
}
Xem SECURITY.md để biết mô hình đe dọa.
Quyền và móc do kho kiểm soát
Tệp dự án không đáng tin theo mặc định. Quy tắc quyền trong ax-code.json, .ax-code/policy.json và định nghĩa tác nhân hoặc chế độ của dự án có thể siết truy cập bằng deny, nhưng các quyền allow/ask do kho kiểm soát bị bỏ qua. Lệnh dự án không thể bật mở rộng shell. .ax-code/hooks.json, .ax-code/plugin/ và plugin được cấu hình bởi dự án không được thực thi.
Cấu hình dự án không đáng tin cũng không thể chọn shell tùy chỉnh, LSP hoặc bộ định dạng thực thi được, gói nhà cung cấp hoặc điểm cuối API, biến môi trường thông tin xác thực nhà cung cấp, nguồn kỹ năng bên ngoài, hoặc đường dẫn chỉ dẫn ngoài worktree. Các đường dẫn chỉ dẫn tương đối an toàn và ghi đè tích hợp không thực thi được vẫn dùng được. Máy chủ MCP dùng một luồng phê duyệt có vân tay riêng, mô tả trong Tích hợp MCP.
Sau khi rà soát cấu hình do kho kiểm soát, người dùng có thể chọn tham gia bên ngoài kho cho tiến trình hiện tại:
AX_CODE_TRUST_PROJECT_CONFIG=1 ax-code
Công tắc chỉ-môi-trường ngăn một bản checkout tự tuyên bố mình đáng tin.
Cách thực thi hoạt động
Thực thi sandbox luôn ở tầng ứng dụng, được kiểm tra tại mỗi lần gọi công cụ. Khi backend là os hoặc auto và nền tảng hỗ trợ, bash còn được bọc thêm trong một sandbox nhân.
| Công cụ | Kiểm tra |
|---|---|
bash |
Thư mục làm việc + mọi đường dẫn đã phân giải phải nằm trong không gian làm việc; máy khách chỉ mạng bị chặn khi mạng tắt; bọc hệ điều hành tùy chọn |
edit |
Tệp đích phải nằm trong không gian làm việc và không được bảo vệ |
write |
Tệp đích phải nằm trong không gian làm việc và không được bảo vệ |
apply_patch |
Mọi tệp đích phải nằm trong không gian làm việc và không được bảo vệ |
webfetch |
Truy cập mạng phải được bật |
websearch |
Truy cập mạng phải được bật |
codesearch |
Truy cập mạng phải được bật |
Khi một công cụ vi phạm cô lập, nó ném IsolationDeniedError kèm thông báo rõ giải thích phần nào bị chặn và vì sao.