Chuyển đến nội dung chính
Cách nhanh nhất để ngăn một agent làm điều gì đó nguy hiểm là nêu tên tool và deny nó. Một verdict deny trên một glob tên tool là primitive deny-list của agent firewall: một quy tắc, một glob, verdict deny, gắn vào một key — và từ đó về sau gateway từ chối tool đó trên mọi cuộc gọi, không cần đổi code agent. Trang này đề cập tình huống dùng deny-list và một quyết định mà nó ép buộc: bạn block trên bề mặt nào — các tool bạn quảng bá (inbound) hay các cuộc gọi tool mà mô hình phát ra (response). Để biết toàn bộ từ vựng so khớp và ngữ nghĩa verdict, xem Schema quy tắcVerdict.

1. Block một cuộc gọi tool mà một AI agent thực hiện

Một quy tắc deny-list là thứ đơn giản nhất mà một chính sách firewall có thể biểu đạt: khớp một tool theo tên, trả về deny. Dùng nó khi một tool không bao giờ nên kích hoạt cho một key nhất định — shell.exec, *.delete, một community plugin bạn không tin — bất kể đối số. Trong console workspace của bạn, mở một chính sách (hoặc tạo một cái) và thêm một quy tắc:
{
  "label": "block destructive shell",
  "tool_name_glob": "*.exec",
  "verdict": "deny"
}
tool_name_glob là một glob nhỏ, phân biệt hoa-thườngshell.* bắt cả một họ, *.delete bắt một động từ trên nhiều server, * bắt mọi thứ. Không cần mệnh đề argument: một glob trần + deny block tool một cách vô điều kiện. Thêm một mệnh đề argument chỉ khi bạn muốn allow tool nói chung nhưng deny một hình dạng cuộc gọi.
Engine duyệt các quy tắc của một chính sách theo thứ tự ưu tiên và match đầu tiên thắng. Đặt các ngoại lệ allow hẹp ở số priority thấp hơn (chúng chạy trước) và lệnh deny rộng của bạn bên dưới — vd: allow shell.exec từ một skill builtin.* đáng tin, deny nó ở mọi nơi khác. Xem Ưu tiên quy tắc.

2. Inbound vs response: chọn bề mặt

Một deny có thể đáp xuống hai điểm khác nhau trong vòng đời request, và sự khác biệt quan trọng. Ghim quy tắc với trường stage, hoặc để trống để bao cả hai.

inbound

Các tool mà agent của bạn quảng bá tới mô hình trên request (các định nghĩa tool). Một deny ở đây bóc tool đi trước khi mô hình kịp chọn nó — mô hình không bao giờ thấy nó như một lựa chọn.

response

Các tool_calls mà mô hình phát ra trong câu trả lời của nó. Một deny ở đây bắt cuộc gọi mà mô hình đã quyết định thực hiện, trước khi nó đến được tool.
Ưu tiên inbound khi bạn muốn một tool vô hình — mô hình không thể gọi thứ chưa bao giờ được chào, nên bạn tránh các lượt lãng phí khi nó chọn một tool chỉ để bị từ chối. Dùng response (hoặc để stage trống) khi tool xuất hiện hợp lệ trong một số request và bạn muốn bắt cuộc gọi thực sự được phát ra, hoặc khi bạn chỉ kiểm soát vòng lặp agent chứ không kiểm soát tập tool được quảng bá.
Một quy tắc không có stage áp dụng cho mọi bề mặt — cùng một deny bao phủ một tool dù nó được quảng bá, phát ra, hay dispatch qua MCP. Đó là mặc định chắc-ăn-mọi-mặt; chỉ ghim một bề mặt khi một deny nên được thu hẹp vào một cái. Xem Stage.

3. Gắn chính sách và quan sát nó kích hoạt

Một chính sách không làm gì cho đến khi một key phân giải về nó. Gắn trong console bằng cách đặt firewall_policy_id trên key, hoặc đặt chính sách làm mặc định của workspace. Phân giải là: chính sách được gắn của key (khi nó tồn tại và được bật), nếu không thì mặc định của workspace. (Một chính sách được gắn nhưng bị tắt rơi về mặc định — xem Quản lý chính sách.) Một khi đã gắn, một cuộc gọi bị deny trên bề mặt inbound trả về HTTP 400 với mã lỗi firewall_blocked và một lý do nêu tên tool — vd: tool "shell.exec" blocked by firewall. Lỗi được đánh dấu skip-retry (chạy lại cuộc gọi y hệt thì cũng chỉ bị block lại) và tốn không token mô hình nào, vì một block inbound kích hoạt trước cuộc gọi thượng nguồn. Một deny dispatch qua MCP gateway thay vào đó hiện ra như một lỗi tool, nên mô hình thấy sự từ chối và có thể phản ứng.
Một deny trên bề mặt inbound loại bỏ tool khỏi những gì mô hình được chào. Nếu framework agent của bạn yêu cầu một tool nó đã quảng bá phải gọi được, việc block nó ở inbound có thể làm rối vòng lặp — trong trường hợp đó hãy block trên response thay vào, để tool vẫn được quảng bá nhưng cuộc gọi thực sự bị từ chối. Test sự khác biệt trước khi bạn triển khai (xem §5).

4. Deny là một trong vài verdict

Deny là tool cùn nhất trên deny-list. Khi một block cứng là quá mức, cùng một glob có thể mang một verdict mềm hơn:
VerdictKhi nào dùng nó thay cho deny
auditBạn muốn thấy tool kích hoạt nhưng chưa block nó.
sanitizeTool ổn nhưng đối số của nó có thể mang secret/PII — che đối số, không bao giờ che kết quả tool.
pending_approvalMột con người nên phê duyệt từng cuộc gọi ngoài luồng.
cap_costAllow cho đến khi chi tiêu của một lần chạy agent vượt một cap cents.
Tất cả những cái này được ghi tài liệu ở Verdict. Một deny-list chỉ là tập con nơi verdict là deny. Với một tư thế allow-list (deny mọi thứ, cho phép một tập có tên) hãy lật default_verdict của chính sách thành deny và thêm các quy tắc allow hẹp — xem Allow-list tool.

5. Triển khai nó an toàn

Tab Test của console chạy thử một chính sách trên một cuộc gọi tool mẫu và trả về verdict, quy tắc đã khớp, và lý do — không gì được dispatch, không gì được lưu. Xác nhận glob của bạn khớp đúng tool bạn định (và chỉ tool đó) trước khi gắn một key. Xem Test quy tắc.
Bật shadow mode trên chính sách và mọi verdict thực thi — kể cả deny của bạn — bị hạ cấp thành audit, lý do được thêm tiền tố [shadow] would …. Bạn đo chính xác cái mà deny sẽ block trên traffic thật, rồi tắt shadow để thực thi.
Không chắc tên tool chính xác để glob? Chế độ xem Discovered Tools liệt kê mọi tool mà workspace đã thấy, gắn cờ covered hoặc gap. Soạn deny của bạn thẳng từ các tên thực sự đã xuất hiện. Xem Analytics.
Mỗi đánh giá ghi một event firewall với verdict, bề mặt, tool, và quy tắc đã khớp. Sau khi bạn thực thi, lọc events log theo verdict deny để thấy quy tắc kích hoạt trên các cuộc gọi bạn mong đợi.

6. Ai làm được gì

Toàn bộ cấu hình deny-list chạy trong console dưới session của bạn (/api/workspace/firewall/*):
Hành độngVai trò
Đọc chính sách, preset, discovered tools, SimulateMember
Chạy thử một chính sách (Test)Developer+
Tạo / chỉnh sửa / xóa quy tắc và chính sáchDeveloper+
Đọc events log và tổng hợp lần chạyDeveloper+
Soạn hoặc thay đổi một quy tắc deny là một thao tác ghi Developer+, và việc chạy thử Test trong console cũng vậy. Đọc một chính sách và chế độ xem Simulate (“what-if”) chỉ-đọc mở cho mọi thành viên.

Liên quan

Cú pháp glob

Chính xác cách shell.*, *.exec, và *.shell.* khớp.

Allow-list tool

Tư thế ngược lại: default-deny, cho phép một tập có tên.

Kiểm tra đối số

Deny chỉ một hình dạng cuộc gọi, không phải cả tool.

Cuộc gọi tool nguy hiểm

Mối đe dọa mà một deny-list giải quyết.

Verdict

Deny và các anh em mềm hơn của nó làm gì trên đường truyền.

Tham chiếu Firewall

Toàn bộ tham chiếu quy tắc + so khớp.