.env vào một prompt để “giúp debug”. Một tài liệu được truy
xuất mang theo một API key được nhúng. Một mô hình, khi được yêu cầu “hiển
thị config”, lặp lại thẳng một AWS access key về cho client. Một agent dựng
một cuộc gọi tool với một token còn sống được nướng vào trong các argument.
Mỗi cái trong số này là một con đường để một credential thoát ra — vào log
của một provider thượng nguồn, vào một bản ghi hội thoại của client, hoặc
vào một tool của bên thứ ba.
Trang này đề cập cách Guardrails và
Agent Firewall của OrcaRouter cho phép bạn phòng
thủ trước rò rỉ secret của llm — mà không thay đổi code ứng dụng của
bạn.
Phát hiện diễn ra ở gateway, trước mọi key được gắn — nên một chính sách duy
nhất bao phủ mọi provider, mọi mô hình, và mọi agent mà không cần thay đổi
SDK.
1. Secret rò rỉ ở đâu
Một credential có thể thoát ra tại ba điểm riêng biệt trong một request:Trong prompt (input)
Trong prompt (input)
Credential nằm trong request trước khi mô hình kịp chạy — một key được
dán, một đoạn
.env, một token bên trong một chunk RAG được truy xuất.
Nếu không được kiểm tra, nó đến được provider thượng nguồn và có thể rơi
vào log của họ. Chặn nó bằng guardrail input Secrets Blocker
(§2).Trong response (output)
Trong response (output)
Mô hình phát ra một secret ngược về client của bạn — nó nhả lại một key
từ ngữ cảnh của nó, hoặc bịa ra một chuỗi có hình dạng credential. Bắt nó
bằng một quy tắc secret output
(§3).
Trong một argument cuộc gọi tool
Trong một argument cuộc gọi tool
Agent của bạn dựng một cuộc gọi tool với một token trong các argument.
Verdict sanitize của Firewall redact các chuỗi con đã khớp khỏi các
argument trước khi cuộc gọi được dispatch
(§4).
2. Secrets Blocker — chặn credential trong prompt
Secrets Blocker là một preset guardrail dưới danh mục secrets chạy ở stage input. Nó quét request tìm các hình dạng credential — AWS access key, key kiểu OpenAI, và token GitHub — và block cuộc gọi trước khi nó rời gateway. Credential không bao giờ đến được một mô hình. Soạn nó một lần trong console, gắn một key, và mọi request qua key đó đều được sàng lọc:Tạo guardrail
Trong console, mở
/console/guardrails, nhấn New guardrail, và áp
dụng preset Secrets & API-Key Blocker từ danh mục secrets. Nó
gieo một guardrail với các quy tắc block ở stage input cho các hình dạng
credential phổ biến — sửa tự do từ đó.Gắn một key
Mở
/console/token, sửa một API key, và chọn guardrail từ dropdown
Guardrail — hoặc đặt nó làm mặc định của workspace để mọi key chưa
gắn đều kế thừa nó.[JWT] / [AWS_ACCESS_KEY]), một quy tắc pii bao
phủ jwt, aws_access_key, và api_key_openai là phương án thay thế hướng
thực thể; xem Tham chiếu Guardrails.
3. Block secret trong output mô hình
Một secret cũng có thể rời đi trong response — mô hình lặp lại một key từ ngữ cảnh của nó hoặc phát ra một chuỗi có hình dạng credential. Thêm một quy tắc ở stage output để sàng lọc câu trả lời của mô hình trước khi nó quay về client. Danh mục secrets ship một preset Code Secret in Output đúng cho việc này: các quy tắc block ở stage output cho PEM private key, AWS access key, và token secret kiểu OpenAI.Masking output (thay một match bằng một tag có kiểu thay vì từ chối toàn
bộ response) hiện chỉ áp dụng cho response non-streaming. Với credential
trong output, action block là lựa chọn đáng tin cậy trên traffic
streaming. Chứng minh tổ hợp stage/stream của bạn trong tab Test của
guardrail trước khi phụ thuộc vào nó.
4. Sanitize secret ra khỏi argument cuộc gọi tool
Khi agent của bạn dựng một cuộc gọi tool, một credential có thể đi kèm trong các argument. Verdict sanitize của Firewall redact các chuỗi con đã khớp khỏi các argument của cuộc gọi tool và chuyển tiếp cuộc gọi đã làm sạch — trên các bề mặtresponse và mcp, nơi có các argument tại thời điểm gọi
trực tiếp để viết lại.
Một quy tắc sanitize nêu tên những bộ phát hiện nào cần redact trong cấu
hình sanitize_json của nó — một tập preset built-in cộng với các regex
custom tùy chọn. Tài liệu đã khớp được thay bằng [redacted:<preset>]
(các match custom với [redacted:custom]):
aws_access_key,
aws_secret_key, openai_key, anthropic_key, và bearer_token (cộng với
email, ssn_us, và credit_card cho PII). Một quy tắc sanitize phải nêu
ít nhất một preset hoặc mẫu custom — một sanitizer rỗng bị từ chối khi lưu.
Guardrail Secrets Blocker (§2)
vẫn là phòng thủ chính của bạn cho credential trong thân request — sanitizer
firewall là bổ trợ ở tầng hành động cho các secret xuất hiện cụ thể bên trong
các argument cuộc gọi tool.
5. Xếp lớp ba phòng thủ
| Secret nằm ở đâu | Lớp chặn nó | Action |
|---|---|---|
| Trong prompt | Secrets Blocker (guardrail input) | block |
| Trong câu trả lời của mô hình | Quy tắc secret output (guardrail output) | block |
| Trong một argument cuộc gọi tool | Sanitizer firewall | sanitize |
6. Quan sát những gì đã kích hoạt
Mỗi quy tắc guardrail kích hoạt đều ghi lại một match — kiểu quy tắc, action, stage, và một chuỗi chi tiết — vào feed Matches của workspace (GET /api/guardrail/match, Member). Chuỗi con đã khớp chỉ được ghi lại
khi “Log raw content” bật, mà nó tắt theo mặc định — tư thế thận
trọng về quyền riêng tư, nên feed Matches không tự biến thành một nơi
secret tích tụ. Để nó tắt cho các quy tắc credential trừ khi bạn cụ thể cần
chuỗi con để phân loại.
Các quyết định sanitize của Firewall rơi vào feed Events của Firewall
(GET /api/workspace/firewall/events, Developer+), với secret và rule blob
không bao giờ được ghi log.
7. Đi tiếp đâu
Tham chiếu Guardrails
Các kiểu quy tắc, thực thể PII, preset, sandbox test, và bộ khung eval
đầy đủ.
Tham chiếu Firewall rules
Ngôn ngữ so khớp — tool glob, mệnh đề argument, và sanitizer.
Phơi nhiễm PII
Mối đe dọa nội dung anh em: dữ liệu cá nhân trong prompt và phản hồi.
Rò rỉ dữ liệu
Khi một credential bị rò rỉ trở thành payload của một cuộc gọi exfil đi
ra ngoài.
Guardrails vs Firewall
Mặt phẳng nào chặn lớp rò rỉ nào, và chúng kết hợp ra sao.
Secure-agents baseline
Tư thế khởi đầu bật các phòng thủ này cùng nhau.
