1. Schema quy tắc firewall trong nháy mắt
Mỗi quy tắc mang cùng các trường. Chỉverdict luôn bắt buộc — mọi thứ khác
thu hẹp cái mà quy tắc khớp hoặc cấu hình verdict đã chọn, và một bộ khớp
vắng mặt là đúng một cách rỗng.
| Trường | Mục đích |
|---|---|
priority | Thứ tự đánh giá — thấp hơn chạy trước. |
verdict | Hành động khi quy tắc khớp (bắt buộc). |
stage | Bề mặt để thu hẹp vào; trống = tất cả. |
tool_name_glob | Glob trên tên tool. |
args_match_json | Predicate argument JSONPath, dưới dạng một chuỗi mã hóa JSON. |
egress_json | Danh sách allow-deny host / CIDR (quy tắc egress), dưới dạng một chuỗi mã hóa JSON. |
sanitize_json | Cấu hình che (khi verdict = sanitize), dưới dạng một chuỗi mã hóa JSON. |
cap_cost_cents | Trần chi-phí-lần-chạy tính bằng cents USD (khi verdict = cap_cost). |
sequence_json | Predicate chuỗi nhiều-bước có thứ tự (quy tắc chuỗi), dưới dạng một chuỗi mã hóa JSON. |
label / notes | Tên con người và lý do — hiển thị trong events, bị engine bỏ qua. |
default_verdict của chính sách áp dụng.
2. priority — thứ tự đánh giá
Một số nguyên thứ tự. Thấp hơn chạy trước; hai quy tắc cùng priority phân
giải hòa theo rule id (thứ tự chèn). Đặt các khoét-ra cụ thể của bạn trên các
bắt-tất-cả rộng — một allow cho một tool đáng tin ở priority 10 thắng một
deny * ở priority 100.
3. verdict — hành động
Trường bắt buộc duy nhất. Khi một quy tắc khớp, verdict của nó quyết định điều
gì xảy ra với cuộc gọi:
| Verdict | Hiệu ứng |
|---|---|
allow | Cho cuộc gọi qua, có ghi log. |
audit | Allow và ghi lại để xem xét — default_verdict thông thường. |
deny | Block cuộc gọi. |
sanitize | Che các chuỗi con đã khớp khỏi đối số tool, rồi chuyển tiếp. |
pending_approval | Giữ cuộc gọi chờ một người duyệt. |
cap_cost | Deny một khi chi tiêu tích lũy của một lần chạy agent vượt một cap. |
deny trả về HTTP 400 firewall_blocked trên bề mặt inbound, hoặc
một lỗi tool trên bề mặt mcp. Một cuộc gọi được giữ trả về HTTP 400
firewall_approval_pending với một id mà agent poll trên đó. Trong
shadow mode mọi verdict thực thi bị hạ cấp
thành audit và lý do được thêm tiền tố [shadow] would …. Xem
Verdict để biết toàn bộ bảng và các hình
dạng block.
4. stage — bề mặt thực thi
Ghim quy tắc vào một trong các bề mặt của firewall. Để trống và quy tắc áp dụng
cho mọi bề mặt:
inbound — các định nghĩa tool được quảng bá
inbound — các định nghĩa tool được quảng bá
Các tool mà một agent quảng bá tới mô hình trên request. Block một tool
nguy hiểm trước khi mô hình kịp chọn nó.
response — tool_calls do mô hình phát ra
response — tool_calls do mô hình phát ra
Các
tool_calls mà mô hình phát ra trong câu trả lời của nó.mcp — dispatch tools/call
mcp — dispatch tools/call
Một
tools/call được định tuyến qua
Firewall MCP gateway.egress — đích đến đi ra ngoài
egress — đích đến đi ra ngoài
Một host / IP / CIDR đi ra ngoài mà một tool với tới — bề mặt SSRF và
rò-rỉ-dữ-liệu.
Một số cặp verdict + stage bị từ chối khi lưu vì verdict không thể kích hoạt ở
đó:
cap_cost là một trần chi-phí-lần-chạy tiền-dispatch, trơ trên response
và egress; pending_approval chỉ giữ ở inbound, nên một ghim
response/egress tường minh bị từ chối. Trình chỉnh sửa ẩn các tổ hợp này;
API từ chối chúng. Xem Stage.5. tool_name_glob — tool nào
Một glob nhỏ, phân biệt hoa-thường trên tên tool — shell.* cho cả một họ,
*.delete cho một động từ trên nhiều server, http_fetch cho một tool chính
xác. Trống hoặc * khớp mọi tool. Một glob tên skill tùy chọn (cùng ngữ
pháp) AND một điều kiện thứ hai trên skill sở hữu, nên bạn có thể tin một tool
từ một skill tích-hợp và quản trị nó từ một skill community.
Toàn bộ ngữ pháp — tiền tố, hậu tố, trung tố, chính xác, và các biên hay làm
người ta vấp — là tham chiếu riêng của nó:
Cú pháp mẫu glob.
6. args_match_json — với đối số gì
Glob trả lời tool nào; args_match_json trả lời với đối số gì — sự khác
biệt giữa “block shell.exec” và “block shell.exec chỉ khi lệnh là rm -rf.”
Giá trị của nó là một chuỗi mã hóa JSON mang một tập mệnh đề JSONPath, tất
cả được AND. Khi giải mã, đối tượng mệnh đề trông như:
"args_match_json": "{\"clauses\":[{\"path\":\"$.command\",\"op\":\"regex\",\"value\":\"rm -rf\"}]}".
Các toán tử là eq, contains, regex, in, cidr_match, gt, và lt.
Một args_match_json vắng mặt là đúng một cách rỗng — quy tắc khớp chỉ trên
glob. Toàn bộ ngôn ngữ predicate, cú pháp path, và hành vi fail-closed của một
mệnh đề hỏng nằm trong
Kiểm tra đối số và
argument cookbook.
7. egress_json — đích đến nào
Dùng trên bề mặt egress: một chuỗi mã hóa JSON giữ một danh sách
allow-and-deny host / CIDR khớp với một đích đến đi ra ngoài mà một tool với
tới. Khi giải mã, đối tượng trông như:
deny
định nghĩa cái bị block và allow khoét các ngoại lệ ra khỏi nó.
Template firewall Baseline ship một quy tắc deny egress với một danh sách
deny SSRF / cloud-metadata làm-sẵn (IP metadata
169.254.169.254, các dải
RFC-1918, loopback, link-local, và metadata.google.internal), nên bạn không
phải soạn-tay những cái đó. Thêm các đích đến của riêng bạn lên trên cho bất cứ
thứ gì khác bạn muốn quản trị. Xem
Kiểm soát egress để biết toàn bộ công
thức và Rò rỉ dữ liệu để biết tại sao
nó quan trọng.8. sanitize_json — che đối số
Dùng khi verdict = sanitize: một chuỗi mã hóa JSON nêu tên các preset /
regex tùy chỉnh nào che các chuỗi con đã khớp khỏi đối số tool trước khi
cuộc gọi đã làm sạch được chuyển tiếp — hữu ích để bóc một secret hoặc một giá
trị PII mà một agent thả vào một đối số mà không block cả hành động. Khi giải
mã, đối tượng trông như:
9. cap_cost_cents — một trần chi tiêu
Dùng khi verdict = cap_cost: một trần chi-phí-lần-chạy theo-từng-quy-tắc, một
số nguyên tính bằng cents USD. Khi quy tắc khớp, cuộc gọi bị deny một khi
chi tiêu tích lũy của lần chạy agent vượt cap — một cầu dao mạch cho một vòng
lặp chạy hoang, phân giải về allow hoặc deny trong events. Cap phải tường
minh và không âm, và quy tắc không thể ghim vào response hoặc egress (nơi
verdict trơ). Toàn bộ hành vi trong Cap cost.
10. Một quy tắc hoàn chỉnh
Ghép các trường lại — denyshell.exec, nhưng chỉ khi lệnh trông có vẻ phá
hủy, thu hẹp vào các cuộc gọi tool được phát ra của mô hình:
shell.exec, mệnh đề duy nhất thu hẹp
xuống một lệnh phá hủy, và verdict deny. Bất kỳ shell.exec nào mà lệnh
không khớp regex rơi xuống quy tắc kế tiếp hoặc mặc định của chính sách. Gắn
một key vào chính sách (firewall_policy_id trên key) và nó live trên cuộc gọi
kế tiếp — không redeploy.
11. Các trường kết hợp ra sao
Tối thiểu một quy tắc hợp lệ cần gì?
Tối thiểu một quy tắc hợp lệ cần gì?
Một
verdict. Mọi thứ khác là tùy chọn: một stage trống khớp mọi bề
mặt, một tool_name_glob trống (hoặc *) khớp mọi tool, và một
args_match_json vắng mặt khớp bất kỳ đối số. Một { "verdict": "audit" }
trần là một bắt-tất-cả hợp lệ.Các bộ khớp AND hay OR?
Các bộ khớp AND hay OR?
Chúng AND. Một quy tắc kích hoạt chỉ khi stage, tool glob, skill glob,
các mệnh đề argument, và phạm vi egress của nó tất cả đúng. Để biểu đạt
OR, viết các quy tắc riêng.
Trường nào ghép với verdict nào?
Trường nào ghép với verdict nào?
sanitize_json chỉ được đọc cho verdict sanitize; cap_cost_cents chỉ
cho cap_cost; egress_json chỉ trên bề mặt egress. Console kiểm tra
các cặp này khi lưu, nên một quy tắc hiển thị một hành vi nhưng không bao
giờ có thể thực thi nó thì không thể được lưu.Nếu hai quy tắc đều khớp thì sao?
Nếu hai quy tắc đều khớp thì sao?
priority thấp hơn thắng (hòa phân giải theo rule id) — match đầu tiên
thắng, và việc đánh giá dừng ở đó. Xem
Ưu tiên quy tắc.Liên quan
Tạo một chính sách
Soạn chính sách đầu tiên của bạn và gắn một key.
Cú pháp glob
Toàn bộ ngữ pháp glob tên tool.
Verdict
Mọi verdict và một block trông như thế nào.
Kiểm tra đối số
Các mệnh đề argument JSONPath chuyên sâu.
Quản lý chính sách
Chỉnh sửa, version, và revert chính sách.
Quy tắc Firewall
Tham chiếu engine so khớp đầy đủ.
