Chế độ an toàn trong Antigravity: Turbo, Auto và danh sách lệnh cho phép

Chế độ an toàn trong Antigravity: Turbo, Auto và danh sách lệnh cho phép
3 Tháng 11, 2026 Lê Quốc Nghĩa 10 phút đọcHướng dẫn

Chế độ an toàn trong Antigravity là gì? Chế độ an toàn trong Antigravity là bộ thiết lập quyết định tác tử được tự chạy lệnh terminal, sửa file, đọc web và gọi công cụ MCP đến đâu trước khi phải hỏi bạn. Theo tài liệu chính thức (đọc ngày 03/11/2026), bộ thiết lập gồm ba lớp: mức cài sẵn (preset) như Request Review, Default, Auto, Turbo trong Antigravity App; các danh sách luật Allow, Ask, Deny theo cú pháp action(target); và sandbox terminal cách ly lệnh ở mức hệ điều hành. Antigravity CLI có thêm chế độ thực thi default, accept-edits, auto, plan và hai cờ --sandbox, --dangerously-skip-permissions. Bài không hứa chế độ nào "an toàn tuyệt đối": sandbox và luật chỉ giảm rủi ro, và chế độ Auto còn ở dạng Preview. Giới thiệu sản phẩm và các sự cố đã được báo cáo có ở bài Antigravity là gì?.

Sơ đồ chế độ an toàn của Antigravity: preset Request Review, Default, Auto, Turbo; luật Deny trên Ask trên Allow; sandbox terminal chặn mạng và file nhạy cảm; chế độ CLI default, accept-edits, auto, plan; chọn chế độ theo loại việc
Ba lớp an toàn: preset, luật Allow/Ask/Deny, sandbox terminal. Sơ đồ: OPCAIOS.

Bốn preset quyền trong Antigravity App khác nhau thế nào?

Preset quyền là mức cài sẵn quyết định tác tử chạy lệnh, truy cập file và gọi MCP ra sao; theo trang /docs/permissions và /docs/agent-settings (đọc ngày 03/11/2026), Antigravity App có bốn preset:

Preset Sandbox Lệnh terminal Truy cập file MCP và web
Request Review Tắt Luôn hỏi Chỉ thư mục dự án Hỏi
Default Bật Tự chạy trong sandbox, hỏi khi ra ngoài Dự án và thư mục tạm Hỏi
Auto (Preview) Bật Tự chạy trong sandbox, ngoài sandbox được đánh giá tự động Dự án và thư mục tạm Hỏi
Turbo Tắt Chạy tự do, không hỏi Toàn bộ ổ đĩa Cho phép

Auto (Preview) có từ bản 2.23.0, chưa có cho tài khoản business, enterprise. Đổi preset tại Settings > General > Global Permissions, ghi đè cho từng dự án tại Settings > Projects, hoặc qua bộ chọn quyền trong ô nhắn tin. Tài khoản business, enterprise dùng bộ thiết lập cũ (Require Review, Proceed in Sandbox, Always Proceed; Security Preset có Turbo mode), và không preset cũ nào tự bật sandbox.

Danh sách lệnh cho phép và chặn được viết thế nào?

Danh sách luật là lớp nằm trên preset và luôn được ưu tiên hơn preset. Theo /docs/permissions (đọc ngày 03/11/2026), mỗi thao tác nhạy cảm được biểu diễn dạng action(target) và xếp vào ba danh sách: Deny chặn ngay, Ask dừng lại hỏi, Allow chạy không hỏi. Khi luật mâu thuẫn, thứ tự là Deny trên Ask trên Allow; ví dụ đặt command(*) trong Ask và command(git) trong Allow thì mọi lệnh vẫn bị hỏi. Các loại thao tác được hỗ trợ:

  1. read_file, write_file: theo đường dẫn; cho phép ghi kéo theo đọc, chặn đọc kéo theo chặn ghi.
  2. read_url: theo tên miền; cũng là danh sách mạng mở cho sandbox.
  3. execute_url: bấm, gõ trên trang web.
  4. command: khớp tiền tố từng từ, hoặc regex:.
  5. mcp: một công cụ hoặc cả máy chủ MCP.

Một số cấu trúc shell như $(...) có thể giấu lệnh sau tiền tố vô hại nên phải khớp chính xác. Ví dụ trong tài liệu: có command(git) trong Allow thì git status && git log chạy luôn, còn git log $(whoami) vẫn bị hỏi. Ví dụ giả định một cấu hình CLI thận trọng, viết theo cú pháp trong tài liệu:

{
  "permissions": {
    "allow": ["command(git status)", "command(regex:npm run (build|lint|test))"],
    "ask": ["command(git push)", "mcp(*)"],
    "deny": ["command(sudo)", "command(rm -rf)", "write_file(.git/)"]
  }
}

Trong CLI, /permissions mở trình quản lý luật với phạm vi Project, Shared, Global và ba thẻ allowlist, denylist, asklist. Khi được hỏi quyền, có thể chọn cho phép một lần, suốt hội thoại, hoặc lưu hẳn vào settings.json; lựa chọn cuối làm danh sách phình to mà ít ai rà lại.

Allowlist và denylist trong Antigravity IDE là gì?

Trang /docs/ide/allowlist-denylist (đọc ngày 03/11/2026) nói về URL trình duyệt, không phải lệnh. Denylist do Google duy trì phía máy chủ, máy chủ không phản hồi thì mặc định chặn. Allowlist là file cục bộ, ban đầu chỉ có localhost, thêm bằng nút Always allow. Denylist luôn thắng.

Sandbox terminal chặn được gì và không chặn được gì?

Sandbox terminal là lớp cách ly lệnh shell của tác tử bằng cơ chế có sẵn của hệ điều hành, không cần máy ảo hay Docker. Theo trang /docs/sandbox (đọc ngày 03/11/2026), macOS dùng sandbox-exec với hồ sơ Seatbelt, Linux dùng kernel namespaces, Windows dùng AppContainer và cần Windows 11 24H2 kèm bản cập nhật tháng 8/2026 trở lên. Trong sandbox, lệnh được ghi vào thư mục dự án, thư mục tạm, bộ nhớ đệm build; file nhạy cảm như ~/.ssh và .env bị chặn, thứ gì không được gắn vào thì vô hình. Mạng mặc định bị cắt; chỉ tên miền đã cho phép qua read_url mới được mở. Sandbox không chặn được ba thứ: lệnh mà bạn hoặc luật cho phép chạy ngoài sandbox, vì khi đó lệnh chạy trên máy với đầy đủ quyền; thao tác phá huỷ ngay bên trong thư mục dự án, vì dự án được mở ghi; và mọi thứ khi bạn chọn Turbo, vì Turbo tắt sandbox.

Từ CLI 1.4.4, máy không hỗ trợ sandbox thì --sandbox không có tác dụng và chế độ auto không xuất hiện.

Các chế độ của Antigravity CLI khác nhau thế nào?

Chế độ thực thi của Antigravity CLI quyết định tác tử dừng lại hỏi trước khi sửa file hay chạy lệnh đến mức nào. Theo agy --help bản 1.4.12 và trang /docs/cli/modes (đọc ngày 03/11/2026), cờ --mode nhận ba giá trị accept-edits, auto, plan; bỏ trống là chế độ mặc định:

Chế độ Sửa file Lệnh terminal Hợp với
default Hiện diff, chờ duyệt Hỏi Code nhạy cảm, refactor cẩn thận
accept-edits Tự duyệt trong dự án Vẫn hỏi theo chính sách Lặp nhanh trên code tin cậy
auto (Preview) Tự duyệt trong dự án Chạy trong sandbox, ngoài sandbox được đánh giá Việc dài, lệnh build, test lặp lại
plan Chỉ đọc, lập kế hoạch trước Không sửa trước khi bạn duyệt Kiến trúc lạ, thay đổi nhiều file

Nhấn Shift + Tab để đổi chế độ trong phiên; cố định bằng agentMode trong settings.json hoặc /config. Chế độ auto có từ bản 1.3.5 trên macOS, Linux và 1.4.4 trên Windows, cần sandbox, và chưa có cho tài khoản business, enterprise. Khi accept-edits bật, tác tử con trong phiên cũng kế thừa thiết lập này.

Bên dưới chế độ còn khoá toolPermission với bốn giá trị: request-review (mặc định), proceed-in-sandbox, strict (hỏi trước mọi thao tác không phải đọc, ghi đè auto) và always-proceed (chạy công cụ không hỏi, ghi đè auto). Khoá allowNonWorkspaceAccess mặc định tắt, giữ tác tử trong thư mục dự án.

agy --mode=plan
agy --mode=accept-edits
agy --sandbox

Cờ --dangerously-skip-permissions nguy hiểm đến đâu?

Cờ --dangerously-skip-permissions bật mức always-proceed: theo agy --help (bản 1.4.12), cờ tự duyệt mọi yêu cầu quyền công cụ mà không hỏi. Trang /docs/cli/headless (đọc ngày 03/11/2026) cảnh báo cờ này duyệt cả ghi file lẫn chạy lệnh, và khuyên dùng luật permissions.allow có phạm vi trừ khi bạn hoàn toàn tin lời nhắc và môi trường. Trang /docs/settings ghi thêm ngoại lệ: always-proceed vẫn tôn trọng luật Ask và Deny. Điều đó có nghĩa danh sách Deny là hàng rào cuối khi bật cờ này.

Ở chế độ không tương tác (agy -p), công cụ cần duyệt sẽ bị từ chối mềm: lượt chạy vẫn tiếp tục, thoát mã 0, ghi thông báo ra stderr; nên cấp trước đúng vài lệnh cần thiết thay vì bật cờ. So sánh với công cụ khác: chế độ phê duyệt và sandbox của Codex và plan mode và chế độ quyền trong Claude Code.

Nên chọn chế độ nào cho từng loại việc?

Chọn chế độ an toàn theo hậu quả xấu nhất nếu tác tử làm sai, không theo mức tiện lợi. Gợi ý của chúng tôi, không phải khuyến nghị chính thức của Google:

  1. Đọc mã lạ, kho tải về, dự án khách: dùng plan hoặc Request Review, không mở mạng, không cho truy cập ngoài dự án.
  2. Viết tính năng trong kho đã có Git sạch: Default trong App hoặc accept-edits trong CLI, kèm luật Allow cho lệnh build, test.
  3. Việc lặp lại dài như sửa lỗi test hàng loạt: Auto (Preview) nếu tài khoản và máy hỗ trợ, kèm Deny cho sudo, xoá đệ quy, git push.
  4. Tác vụ không tương tác chạy theo lịch: cấp Allow tối thiểu, không dùng --dangerously-skip-permissions trên máy có dữ liệu thật.
  5. Turbo: chỉ trong máy ảo hoặc máy thử nghiệm có thể xoá trắng, có sao lưu.

Thêm thói quen: commit trước việc lớn, Deny cho .git/, rà danh sách Allow mỗi tháng. Xem thêm bảo mật khi dùng AI viết code.

Kinh nghiệm của OPCAIOS

OPCAIOS dùng Antigravity làm tác tử điều phối trên máy Mac chính, cùng Claude Code và Codex. Kiểm tra ngày 03/11/2026, ở mức khái niệm:

  1. CLI có danh sách cho phép khoảng 20 mục và một số thư mục làm việc được đánh dấu tin cậy. Chúng tôi không công bố nội dung danh sách.
  2. Có hook ở các mốc trước, sau tác tử và trước, sau công cụ, nhưng chỉ để báo trạng thái phiên cho một công cụ quản lý terminal. Chúng tôi chưa có hook chặn lệnh, nên lớp chặn hiện dựa vào luật và chế độ.
  3. Quy định vận hành quan trọng không kém mọi cờ: code website chỉ được sửa và deploy từ một máy duy nhất để tránh lệch. Chúng tôi từng gặp hơn 1.500 file bị coi là khác nhau chỉ vì kiểu xuống dòng khi deploy từ máy Windows. Không chế độ quyền nào chặn được loại lỗi này; chỉ quy trình mới chặn được.

Chúng tôi chưa đo tỉ lệ lệnh bị chặn hay thời gian tiết kiệm. Chạy nhiều tác tử song song, xem nhiều phiên AI cùng sửa một dự án.

Câu hỏi thường gặp

Chế độ Turbo còn trong Antigravity không?

Còn, theo tài liệu đọc ngày 03/11/2026: Turbo là một trong bốn preset quyền của Antigravity App, được mô tả là chạy mọi lệnh không hạn chế, tắt sandbox, toàn quyền đọc ghi ổ đĩa; tài khoản business, enterprise có Turbo mode trong bộ thiết lập cũ. Vì Turbo bỏ qua sandbox, chỉ nên dùng trong môi trường thử nghiệm có sao lưu, không dùng trên máy chứa dữ liệu khách hàng.

Auto khác Turbo ở điểm nào?

Auto (Preview) vẫn bật sandbox: lệnh chạy trong sandbox không cần hỏi, còn lệnh cần chạy ngoài sandbox được hệ thống tự đánh giá, lệnh an toàn, đảo ngược được thì chạy, lệnh rủi ro thì vẫn hỏi. Turbo tắt sandbox và không hỏi gì. Auto có trong App từ bản 2.23.0, trong CLI từ 1.3.5 trên macOS, Linux và 1.4.4 trên Windows, và chưa có cho tài khoản business, enterprise. Việc "tự đánh giá" là cơ chế của Google; chúng tôi chưa kiểm chứng độ chính xác.

Luật Allow có thắng được luật Deny không?

Không. Thứ tự ưu tiên luôn là Deny trên Ask trên Allow, và các luật này nằm trên mọi preset hay chế độ. Ví dụ, có command(*) trong Ask thì mọi lệnh vẫn bị hỏi dù command(git) nằm trong Allow. Ngay cả mức always-proceed do cờ --dangerously-skip-permissions bật lên, tài liệu cài đặt cho biết vẫn tôn trọng luật Ask và Deny. Vì vậy hãy đặt những lệnh tuyệt đối không được chạy vào Deny, đừng chỉ dựa vào việc không cho phép chúng.

Sandbox có cần Docker không?

Không. Tài liệu /docs/sandbox nói sandbox dựng trên cơ chế có sẵn của hệ điều hành: sandbox-exec với hồ sơ Seatbelt trên macOS, kernel namespaces trên Linux, AppContainer trên Windows 11 24H2 có bản cập nhật tháng 8/2026 trở lên, nên không có máy ảo, không mất thời gian khởi động. Trên CLI, bật bằng --sandbox, khoá enableTerminalSandbox hoặc /config. Lệnh cần Docker thường không chạy được trong sandbox; tài liệu gợi ý cho phép riêng lệnh đó bằng luật command(...).

Người không biết code nên bắt đầu với chế độ nào?

Bắt đầu với chế độ mặc định của CLI hoặc preset Default trong App, đọc từng yêu cầu quyền trước khi bấm cho phép, và dùng plan cho việc lớn để thấy kế hoạch trước khi tác tử sửa file. Đừng chọn "luôn cho phép" khi chưa hiểu lệnh, đừng bật Turbo trên máy chứa dữ liệu thật. Quy trình an toàn chi tiết có ở bài tác tử lập trình cho người không biết code; muốn được hướng dẫn thực hành, xem khoá đào tạo ứng dụng AI của OPCAIOS.

Nguồn: tài liệu Google Antigravity tại antigravity.google/docs: /permissions, /sandbox, /ide/allowlist-denylist, /cli/modes, /cli/commands/permissions, /agent-settings, /settings, /cli/headless (đọc ngày 03/11/2026); cờ và chế độ đối chiếu với agy --help bản 1.4.12 cùng ngày. Chưa kiểm chứng: độ chính xác của cơ chế tự đánh giá lệnh ở chế độ Auto, hành vi trên tài khoản business và enterprise; gợi ý chọn chế độ là ý kiến của chúng tôi, không phải khuyến nghị của Google. Kinh nghiệm là của OPCAIOS.

Lê Quốc Nghĩa
Lê Quốc Nghĩa
Người xây dựng OPCAIOS

Để lại bình luận

Email của bạn sẽ không hiển thị công khai. Bình luận sẽ hiển thị sau khi được duyệt.