Chuyển đến nội dung chính
Khi một agent gọi một tool, các đối số nó truyền cũng rủi ro như prompt đã tạo ra chúng — một key sk-… rớt vào một trường command, một SSN khách hàng dán vào một body, một token nội bộ trong một header request. Verdict sanitize của firewall bắt vật liệu đó trong đối số cuộc gọi tool, thay nó bằng một token che có kiểu, và chuyển tiếp cuộc gọi đã làm sạch — nên hành động vẫn chạy, nhưng secret không bao giờ rời gateway.
“Sanitize output của tool” nghĩa là đối số cuộc gọi, không phải kết quả tool. Người ta tìm sanitize tool output mong firewall chà sạch cái mà một tool trả về. Verdict sanitize không động đến kết quả tool — nó che các đối số mà agent của bạn gửi vào một cuộc gọi tool. Nếu bạn cần sàng lọc văn bản mà một tool hoặc mô hình trả về, đó là việc ở stage output của Guardrails, không phải một quy tắc sanitize của firewall.
Đây là một verdict trong ngôn ngữ so khớp của firewall. Để biết toàn bộ tập, xem Verdicttham chiếu quy tắc; trang này là hướng dẫn tập trung để soạn và suy luận về sanitize.

1. Sanitize làm gì — và nó không bao giờ động đến gì

Một quy tắc với verdict: sanitize chạy một engine che trên đối số cuộc gọi tool trước khi cuộc gọi được dispatch. Mỗi match được thay bằng một token chuẩn và cuộc gọi tiếp tục với các đối số đã làm sạch — tool vẫn thực thi, chỉ không có secret thô trong nó.

Che

Các đối số JSON của một tool_call do mô hình phát ra hoặc một tools/call MCP — command, body, headers, bất kỳ trường chuỗi nào mà một secret hoặc PII rớt vào.

Không bao giờ che

Nội dung mà một tool trả về, prompt, văn bản phản hồi của mô hình. Sanitize là một redactor chỉ-đối-số. Sàng lọc văn bản là việc của một Guardrail.
Redactor thay mỗi match bằng một token có kiểu: một match preset trở thành [redacted:<preset>] (vd: [redacted:openai_key]), và một match mẫu tùy chỉnh trở thành [redacted:custom]. Hình dạng của đối số được bảo toàn — chỉ chuỗi con nhạy cảm thay đổi — nên một tool kỳ vọng JSON hợp lệ vẫn nhận JSON hợp lệ.

2. Các preset detector tích hợp sẵn

Một quy tắc sanitize nêu tên một hoặc nhiều preset (các hình dạng secret/PII đã biết) và/hoặc các mẫu custom regex. Các preset tích hợp sẵn:
PresetBắt
aws_access_keyAWS access key id (AKIA… / ASIA… + 16 ký tự)
aws_secret_keyMột AWS secret 40 ký tự (nhận biết ranh giới)
openai_keysk- + ≥32 ký tự
anthropic_keysk-ant- + ≥40 ký tự
bearer_tokenBearer + một token ≥16 ký tự (giữ keyword)
emailMột địa chỉ email
ssn_usMột SSN Mỹ ở dạng 3-2-4
credit_cardMột chuỗi 13–19 chữ số vượt qua kiểm tra Luhn
Một quy tắc sanitize phải khai báo ít nhất một preset hoặc mẫu custom — một sanitizer trống bị từ chối khi bạn lưu quy tắc. Một match credit_card còn được kiểm tra Luhn bổ sung, nên một số cùng độ dài nhưng không phải thẻ hợp lệ được để yên thay vì bị che quá tay.

3. Một ví dụ cụ thể

Soạn cái này trong trình chỉnh sửa quy tắc của console. Ví dụ che một OpenAI key và bất kỳ email nào khỏi đối số của bất kỳ cuộc gọi tool http.* nào mà agent của bạn phát ra, rồi chuyển tiếp cuộc gọi đã làm sạch:
{
  "label": "strip secrets from http tool args",
  "stage": "response",
  "tool_name_glob": "http.*",
  "verdict": "sanitize",
  "sanitize_json": "{\"presets\":[\"openai_key\",\"email\"],\"custom\":[]}"
}
Nếu mô hình phát ra một cuộc gọi như:
{ "name": "http.post", "arguments": { "url": "…", "body": "key=sk-AAAA…BBBB user=jo@acme.com" } }
gateway chuyển tiếp nó với body được viết lại thành key=[redacted:openai_key] user=[redacted:email] — request vẫn chạy, secret và địa chỉ không bao giờ rời gateway.
Ghim quy tắc vào stage response (tool_calls do mô hình phát ra) hoặc để stage trống để cũng bao bề mặt mcp. Đó là các bề mặt mang đối số tại thời điểm gọi, vốn là cái mà sanitize che.

4. Trên bề mặt inbound, sanitize leo thang thành deny

Bề mặt inbound đánh giá các tool mà một agent quảng bá trên một request — các định nghĩa tool, vốn chưa mang đối số tại thời điểm gọi. Không có gì để che ở đó, nên một verdict sanitize trên bề mặt inbound leo thang thành một deny (fail-closed): request bị block với firewall_blocked thay vì chuyển tiếp không-che.
Đừng soạn một quy tắc sanitize mong nó làm sạch một quảng bá tool inbound — nó sẽ block nó. Nếu bạn muốn một định nghĩa tool biến mất khỏi request, hãy dùng một deny tường minh. Dành sanitize cho các bề mặt responsemcp, nơi đối số thật tồn tại.

5. Sanitize so với các cách khác xử lý một secret

Ba tầng có thể tác động lên một secret mà một agent sắp rò rỉ — chọn theo cái gìở đâu:
Bóc secret ra khỏi đối số của một cuộc gọi tool và vẫn chạy cuộc gọi. Dùng nó khi hành động hợp lệ nhưng agent đặt một thứ nhạy cảm vào một trường. Chỉ tầng đối số.
Dừng cuộc gọi hoàn toàn. Dùng nó khi bản thân hành động nguy hiểm, không chỉ một đối số. Đây cũng là cái mà sanitize trở thành trên bề mặt inbound. Xem block tool.
Các guardrail Secrets Blocker và PII sàng lọc văn bản của một request hoặc phản hồi (bao gồm, ở stage output, nội dung do mô hình sinh). Đó là tầng cho “cái mà một tool hoặc mô hình trả về” — thứ mà sanitize không làm.
Test trước khi bạn thực thi. Sanitize viết lại đối số của một cuộc gọi live trên các bề mặt responsemcp. Soạn các quy tắc sanitize của bạn dưới shadow mode trước và quan sát events feed để xác nhận chúng khớp đúng cái bạn mong đợi trước khi bất kỳ đối số nào thực sự bị viết lại.

6. Sanitize hiện ra ở đâu trong dấu vết của bạn

Như mọi verdict, một đánh giá sanitize được ghi lại như một event firewall — có thể lọc theo verdict, bề mặt, tool, và lần chạy trong events log và được tổng hợp trong analytics. Trong shadow mode một verdict sanitize (như mọi verdict thực thi) bị hạ cấp thành audit và lý do được thêm tiền tố [shadow] would …, nên bạn có thể đo tác động trước khi bất kỳ đối số nào thực sự bị viết lại.

Đi đâu tiếp theo

Mọi verdict

allow, audit, deny, sanitize, pending_approval, cap_cost.

Kiểm tra đối số

Khớp một cuộc gọi theo cái trong đối số của nó — ngữ pháp mệnh đề JSONPath.

Block tool

Khi bản thân hành động là vấn đề, deny cả cuộc gọi.

Firewall + Guardrails

Sàng lọc văn bản mà một tool hoặc mô hình trả về — tầng mà sanitize không bao phủ.
Để biết các mối đe dọa mà sanitize giúp kiềm chế, xem rò rỉ dữ liệucuộc gọi tool nguy hiểm. Để biết toàn bộ ngữ pháp quy tắc đằng sau verdict, xem tham chiếu quy tắc firewall.