sanitize của firewall thực sự redact cái gì, nó không làm cái
gì, và biện pháp kiểm soát nào kiểm soát nội dung mà một tool trả về.
1. “sanitize” nghĩa là gì trên bề mặt mcp
Khi một agent gọi một tool qua MCP gateway, mọitools/call được đánh giá trên bề mặt mcp trước khi dispatch. Một
quy tắc khớp có thể mang một trong các verdict
firewall soạn được — allow, audit, deny, sanitize,
pending_approval, hoặc cap_cost. Verdict sanitize là cái redact:
- Nó chạy một tập detector hình-dạng-secret trên các argument của cuộc gọi (JSON mà mô hình truyền vào tool).
- Mỗi match được thay bằng một token chính tắc như
[redacted:openai_key], và các argument đã viết lại là cái được chuyển tiếp tới server. - Tool vẫn chạy —
sanitizelà một verdict không-block, cho-qua. Agent không crash; nó chỉ không bao giờ trao secret thô cho tool.
sk-, các token Bearer, US SSN, các số thẻ hợp lệ
Luhn, email), và một quy tắc có thể thêm các regex tùy chỉnh mà các match của
chúng render thành [redacted:custom].
Trên bề mặt inbound — các
tools[] được quảng bá mà một request khai
báo, trước khi bất kỳ tool nào được gọi — không có argument lúc-gọi nào để
redact, nên một verdict sanitize ở đó fail closed và leo thang lên deny.
Sanitize chỉ có ý nghĩa nơi có một payload argument live để viết lại: các bề
mặt mcp và response.2. Một quy tắc cụ thể
Giả sử bạn muốn bất kỳ lời gọi tool nào có các argument chứa một key kiểu OpenAI được chuyển tiếp với key bị scrub ra, thay vì bị block. Soạn một quy tắc trên bề mặt mcp với một verdictsanitize, được cấu hình để phát
hiện hình dạng secret đó. Làm việc này từ console (Firewall → policy →
rules); việc ghi yêu cầu Developer+.
Quy tắc, về mặt khái niệm:
| Trường | Giá trị |
|---|---|
| Surface | mcp |
tool_name_glob | * (hoặc thu hẹp về một server, ví dụ github.*) |
| Verdict | sanitize |
| Sanitize presets | các secret detector để bật |
sanitize, bề mặt, và quy tắc đã khớp.
3. Các kết quả tool không đáng tin cậy — kiểm soát chúng trên phản hồi mô hình
Đây là phần mà hầu hết các thiết lập “sanitize the output” hiểu sai. Verdictsanitize chạm chỉ các argument. Kết quả của một tool — văn bản hoặc
JSON mà một MCP server trao lại — không bao giờ được một verdict firewall viết
lại.
OrcaRouter coi nội dung tool-result là input không đáng tin cậy cho mô
hình. Một MCP server bị xâm nhập hoặc bị đầu độc có thể trả về một secret,
một bản ghi PII, hoặc một payload prompt-injection cải trang thành dữ liệu.
Biện pháp kiểm soát cho nội dung đó là một
guardrail trên stage output — phản hồi của mô
hình, được đánh giá sau khi mô hình đã tích hợp kết quả tool.
Bắt các secret nổi lên trong phản hồi
Bắt các secret nổi lên trong phản hồi
Đính một guardrail với preset Secrets & API-Key Blocker (category
secrets). Nó block các credential kiểu AWS / OpenAI / GitHub; ghép nó
với Private Keys & Cloud Tokens cho các PEM key, các token
Slack/Stripe, các Google key, và JWT. Một block stage output trả về
guardrail_blocked (HTTP 400) và hoàn lại quota của request.Redact PII trong phản hồi
Redact PII trong phản hồi
Preset PII Shield mask các thực thể có kiểu —
[EMAIL], [SSN],
[CREDIT_CARD], … — render các giá trị đã khớp thành các tag. Việc mask
stage input live trên mọi request (streaming hay không): nó mask
request trước khi mô hình thấy. Việc mask stage output viết lại phản
hồi của mô hình chỉ trên các phản hồi non-streaming; việc viết lại
in-band của một phản hồi streaming nằm trong roadmap, nên một quy tắc mask
chưa redact một phản hồi đã được stream.Vô hiệu hóa injection cưỡi trong các kết quả tool
Vô hiệu hóa injection cưỡi trong các kết quả tool
Một kết quả bị đầu độc có thể mang văn bản kiểu “ignore previous
instructions”. Preset an toàn Prompt-Injection Basics
(keyword/regex) cộng với một quy tắc
llm_judge chấm điểm cho ý đồ
injection là các biện pháp kiểm soát ở đây. Xem
đầu độc tool MCP và
prompt injection.Thực thi output và streaming. block stage output được thực thi trên
cả các phản hồi streaming lẫn non-streaming — trên một stream, một block cắt
stream khi nó khớp và phát ra một thông báo block chung. mask stage output
áp dụng chỉ cho các phản hồi non-streaming; việc viết lại in-band của một
phản hồi streaming nằm trong roadmap, nên một quy tắc mask chưa redact một
phản hồi đã được stream.
4. Mỗi biện pháp kiểm soát nằm ở đâu
Một bản đồ gọn của hai bề mặt, để bạn nối đúng núm vào đúng rủi ro:| Bạn muốn kiểm soát… | Biện pháp kiểm soát | Ở đâu |
|---|---|---|
| Các secret trong argument của một lời gọi tool | Verdict sanitize của firewall (bề mặt mcp) | Quy tắc Firewall |
| Secret / PII / injection trong kết quả của một tool | Guardrail trên stage output | Guardrails |
5. Đính và quan sát
Cả hai biện pháp kiểm soát đều theo phạm vi workspace, được đặt tên, và có thứ tự, và cả hai đều đính cùng hai cách:- Theo từng key — đặt
firewall_policy_id(cho quy tắc sanitize) vàguardrail_id(cho chính sách output) trên key mà agent dùng. - Mặc định workspace — đánh dấu một chính sách / guardrail làm mặc định workspace để mọi key kế thừa nó.
6. Đi đâu tiếp theo
Allow-list các tool MCP
Default-deny một server và chỉ cho phép các tool bạn đã xem xét.
Quy tắc Firewall
Toàn bộ rule DSL — các verdict, globs, args-match, cấu hình sanitize.
Guardrails
Các chính sách nội dung, presets, các thực thể PII, và thực thi stage
output.
Đầu độc tool MCP
Mối đe dọa làm cho các kết quả tool không đáng tin cậy ngay từ đầu.
