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.
Đây là một verdict trong ngôn ngữ so khớp của firewall. Để biết toàn bộ tập,
xem Verdict và
tham 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ớiverdict: 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.
[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:| Preset | Bắt |
|---|---|
aws_access_key | AWS access key id (AKIA… / ASIA… + 16 ký tự) |
aws_secret_key | Một AWS secret 40 ký tự (nhận biết ranh giới) |
openai_key | sk- + ≥32 ký tự |
anthropic_key | sk-ant- + ≥40 ký tự |
bearer_token | Bearer + một token ≥16 ký tự (giữ keyword) |
email | Một địa chỉ email |
ssn_us | Một SSN Mỹ ở dạng 3-2-4 |
credit_card | Mộ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 toolhttp.* 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:
key=[redacted:openai_key] user=[redacted:email] — request vẫn chạy, secret
và địa chỉ không bao giờ rời gateway.
4. Trên bề mặt inbound, sanitize leo thang thành deny
Bề mặtinbound đá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.
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ì và ở đâu:Sanitize (firewall) — che đối số cuộc gọi tool
Sanitize (firewall) — che đối số cuộc gọi tool
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ố.
Deny (firewall) — block cả cuộc gọi
Deny (firewall) — block cả cuộc gọi
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.
Guardrails — sàng lọc văn bản prompt / phản hồi
Guardrails — sàng lọc văn bản prompt / phản hồi
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.
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ànhaudit 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ủ.
