tool_name_glob được đánh giá trên
bề mặt mcp.
Mọi tools/call băng qua MCP gateway được chạy
qua chính sách firewall của bạn trước khi nó đến
được server thật. Nên allow-list không phải là tư vấn — một cuộc gọi tới một
tool bạn không cho phép không bao giờ được dispatch.
Việc chỉnh sửa chính sách là một hành động console. Các route
/api/workspace/firewall/* xác thực bằng session / access token của bạn,
không phải một relay key sk-orca-…. Việc ghi các quy tắc yêu cầu vai trò
Developer+; bất kỳ thành viên workspace nào (xuống tới Viewer) cũng
có thể đọc các chính sách và feed các tool đã khám phá.1. Tại sao một allow-list default-deny cho các tool mcp an toàn
Một deny-list — “block các tool nguy hiểm” — thất bại ngay khoảnh khắc một server thêm một tool mới, đổi tên một cái, hoặc bạn kết nối một server thứ hai. Tập các tool nguy hiểm là vô hạn; tập bạn định dùng thì nhỏ và đã biết. Một allow-list đảo ngược mặc định để cái chưa biết bị từ chối, không được nhận vào:- Các tool mới bị từ chối theo mặc định. Một server mọc thêm một tool
delete_reposau khi bạn kết nối nó không thể được gọi cho đến khi bạn thêm nó vào allow-list. - Phạm vi theo từng server. Namespace
<server>.<tool>cho phép bạn cho phépgithub.create_issuetrong khi từ chối mọi thứ khác dướigithub.*. - Một điểm nghẽn. Cùng một chính sách kiểm soát server đóng gói sẵn và mọi server BYO phía sau gateway, nên có một nơi để đọc allow-list.
2. Hai mảnh ghép
Một allow-list là mộtdefault_verdict cộng với một tập quy tắc có thứ tự.
default_verdict: deny
Phương án dự phòng của chính sách cho bất kỳ
tools/call nào không quy
tắc nào khớp. Đặt nó là deny và bất cứ thứ gì bạn không cho phép tường
minh đều bị block. (Nó cũng chấp nhận allow và audit — audit là mặc
định.)các quy tắc allow
Một quy tắc cho mỗi tool (hoặc mỗi glob). Mỗi cái mang một
tool_name_glob và một verdict allow. Một tools/call khớp glob giải
thành allow và dispatch; mọi thứ khác rơi xuống deny mặc định.github.create_issue,
shell.exec. * khớp bất kỳ tool nào (dùng nó tiết kiệm; một quy tắc allow
với * hoàn tác toàn bộ allow-list). Một <server>. đứng đầu thu hẹp glob
về một server.
3. Một ví dụ cụ thể
Bạn đã kết nối một servergithub và bạn chỉ muốn các agent đọc và mở
issue — không bao giờ xóa hay quản trị bất cứ thứ gì. Trong console, mở
Firewall → Policies, đặt verdict mặc định của chính sách thành deny,
và thêm hai quy tắc allow:
| Thứ tự | tool_name_glob | Verdict |
|---|---|---|
| 1 | github.create_issue | allow |
| 2 | github.list_issues | allow |
deny:
github.create_issue→ khớp quy tắc 1 → allow, dispatch.github.delete_repo→ không khớp gì → deny theo mặc định.
firewall deny: …) — cùng hình dạng mà bất kỳ tool đang thất bại nào trả về
— để agent có thể thích nghi thay vì crash. (Trên bề mặt inbound, một deny
thay vào đó là một HTTP 400 với mã lỗi firewall_blocked.)
4. Siết chặt với các argument
Một tên tool trên allow-list vẫn có thể được gọi với các argument xấu. Thu hẹp thêm bằng cách thêm một mệnh đềargs_match (JSONPath + một toán tử như
eq, contains, regex, in, hoặc cidr_match) vào quy tắc, hoặc bằng
cách xếp một quy tắc deny phía trên allow cho một hình dạng argument cụ thể
— ví dụ, cho phép github.create_issue nhưng deny nó khi repo đích không
nằm trên một danh sách đã chấp thuận. Xem
tham chiếu quy tắc firewall để biết toàn bộ
tập toán tử.
sanitize redact các argument của một lời gọi tool trước khi chuyển tiếp
— nó không bao giờ chạm cái mà một tool trả về. Để cắt tỉa nội dung trả về,
đó là một biện pháp kiểm soát khác; xem
sanitize tool output.5. Triển khai nó một cách an toàn
Lật một default-deny toàn-server trong production và bạn có nguy cơ làm hỏng một agent lặng lẽ phụ thuộc vào một tool bạn quên. Hai cài đặt làm giảm rủi ro:shadow_mode — thấy các deny mà không thực thi
shadow_mode — thấy các deny mà không thực thi
Một cờ theo từng chính sách hạ cấp các verdict enforcing xuống
audit.
Deny mặc định và các quy tắc deny của bạn ghi log [shadow] would deny …
thay vì block, nên bạn có thể xác nhận allow-list đối với lưu lượng thật
trước khi nó cắn. Đọc thêm trong
enforcement modes.observe mode — hiện ra các tool bạn bỏ sót
observe mode — hiện ra các tool bạn bỏ sót
Một cài đặt workspace ghi log mọi cuộc gọi chưa được bao trùm như một
khoảng trống trong feed Discovered Tools.
Chạy nó trước khi bạn viết allow-list để biết chính xác các tool nào mà
các agent của bạn gọi, rồi thăng mỗi cái thành một quy tắc allow tường
minh.
shadow_mode và allow-list thực thi.
6. Xác minh nó hoạt động
Sau khi thực thi, xác nhận các tool bị từ chối thực sự bị khước từ:- Dry-run một
tools/callđối với chính sách (Developer+) để thấy verdict và quy tắc nào — hoặc mặc định — đã tạo ra nó, mà không gửi lưu lượng thật. Truyền một tên tool, bề mặt, và sample args; engine đánh giá chúng và trả về vết verdict mà không ghi lại một sự kiện. - Theo dõi các sự kiện. Mỗi cuộc gọi bị block ghi lại một sự kiện firewall mà một Developer+ có thể đọc trong console; trang các sự kiện audit đề cập feed và các trường của nó.
Liên quan
Kết nối một MCP server
Đăng ký một server trước khi bạn có thể allow-list các tool của nó.
Firewall: các MCP server
Hành vi runtime của gateway và các verdict theo từng cuộc gọi.
Tham chiếu quy tắc Firewall
Toàn bộ rule DSL — globs, args_match, egress, sanitize.
Các lời gọi tool nguy hiểm
Mối đe dọa mà một allow-list được xây dựng để kiềm chế.
Giới hạn egress
Kiểm soát nơi một tool được cho phép có thể vươn tới.
Guardrails vs. firewall
Khi nào với tới chính sách nội dung so với chính sách tool.
