Chuyển đến nội dung chính
Một chatbot hướng khách hàng nhận input không đáng tin cậy từ công chúng và gửi nó tới một mô hình. Điều đó khiến nó trở thành bề mặt có mức phơi bày cao nhất mà bạn vận hành: người dùng dán vào PII mà bạn không muốn lưu ở thượng nguồn, kẻ tấn công cố ghi đè system prompt của bạn, và mô hình có thể phản chiếu secret hoặc nội dung không an toàn trở lại vào cửa sổ chat. Công thức này kết nối bốn kiểm soát bảo mật một chatbot AI từ đầu đến cuối — một guardrail PII trên request, sàng lọc prompt-injection, an toàn output, và một key có phạm vi chặt chẽ duy nhất — tất cả trong console, với zero thay đổi đối với code chatbot của bạn.
Mọi thứ ở đây liên kết với workspace của bạn và được cấu hình từ console. Chatbot của bạn vẫn gọi https://api.orcarouter.ai/v1/chat/completions với cùng key sk-orca-... — chỉ có chính sách trong gateway thay đổi. Các hành động cấu hình cần các vai trò được nêu theo từng bước; các cuộc gọi relay dùng key có phạm vi giới hạn.

1. Mô hình đe dọa cho một chatbot công khai

Trước khi soạn bất cứ thứ gì, hãy biết bạn đang phòng thủ chống lại điều gì. Bề mặt tấn công của một chatbot hẹp hơn của một agent đầy đủ — nhưng các rủi ro tần suất cao là cụ thể:

PII vào, PII bị ghi log

Người dùng dán email, số thẻ, SSN vào chat — và bạn chuyển tiếp chúng lên thượng nguồn và vào log của bạn.

Prompt injection

“Bỏ qua các hướng dẫn trước đó và …” — các nỗ lực ghi đè system prompt của bạn và thay đổi hành vi của bot.

Jailbreak

Các khung DAN / nhập vai cố kéo bot ra khỏi chính sách.

Output không an toàn

Mô hình phản chiếu secret bị rò rỉ, mẫu system-prompt, hoặc nội dung nhuốm injection trở lại vào chat.
Một chatbot thuần túy không có cuộc gọi tool, nên công thức này dựa vào Guardrails — mặt phẳng văn bản — thay vì Firewall. Nếu bot của bạn gọi tool, hãy xếp chồng Firewall lên trên (xem §6).

2. Một guardrail, bốn nhiệm vụ

Thay vì bốn chính sách riêng biệt, hãy soạn một guardrail workspace với các quy tắc có thứ tự bao phủ từng rủi ro. Một guardrail là một danh sách quy tắc có tên, có thứ tự; mỗi quy tắc nói tìm cái gì, ở đâu (input, output, hoặc both), và làm gì (block, mask, hoặc flag). Trong console, mở Guardrails → New guardrail, đặt tên nó là chatbot-shield, và thêm các quy tắc bên dưới. Soạn một guardrail — và chạy sandbox Test — cần vai trò Developer; xem guardrail mở cho mọi thành viên.

a. PII trên request

Thêm một quy tắc PII, stage input, hành động mask. Tập thực thể built-in là đóng — chọn những cái mà một chatbot thực sự thấy:
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "credit_card", "ssn", "ip"],
  "entity_actions": { "credit_card": "block", "ssn": "block" }
}
Một mask thay thế mỗi match bằng một tag có kiểu — jane@acme.com trở thành [EMAIL], nên mô hình thượng nguồn không bao giờ thấy địa chỉ. Phần ghi đè entity_actions block thẳng request trên một số thẻ hoặc SSN trong khi mask các thực thể mức nghiêm trọng thấp hơn. Đây chính xác là preset PII Shield, được mở rộng với các ghi đè theo từng thực thể — áp dụng preset từ thư viện template và chỉnh từ đó.
Masking PII ở stage input đã hoạt động hôm nay — nó viết lại request trước khi mô hình thấy. Live masking của response được stream nằm trong roadmap. Để redact PII khỏi những gì bot nói lại, dùng một quy tắc block output (được thực thi trên cả streaming và non-streaming) hoặc chạy bot non-streaming nơi output masking áp dụng. Hãy chứng minh tổ hợp stage/stream chính xác của bạn trong tab Test trước.

b. Sàng lọc prompt-injection

OrcaRouter cung cấp cái này dưới dạng preset an toàn Prompt-Injection Basics (một denylist từ khóa cho các cụm như “ignore previous instructions”“reveal your system prompt”; để có độ phủ regex chặt hơn cho các khung DAN / nhập vai, thêm preset Jailbreak / Role-Play Blocker) cùng với, cho ý định ngữ nghĩa mà không pattern nào bắt được, một quy tắc llm_judge. Thêm preset, rồi một quy tắc judge trên stage input với một rubric gắn cờ các nỗ lực injection/override. Judge chạy đối với một mô hình trong workspace của bạn, bị giới hạn bởi judge_timeout_ms, và fail open theo mặc định (một lỗi judge được ghi log và request tiếp tục) — đặt judge_fail_open: false để fail closed.
Bắt đầu các quy tắc injection ở flag, theo dõi feed Matches trong một ngày trên traffic thực, rồi thăng cấp lên block một khi bạn đã xác nhận chúng kích hoạt trên các cuộc tấn công chứ không phải trên các câu hỏi hợp lệ. Xem chế độ thực thi.

c. An toàn output

Thêm một quy tắc block stage output (regex hoặc từ khóa) cho nội dung không bao giờ được đến cửa sổ chat — secret bị rò rỉ, control token của chat-template, mẫu system-prompt. Các preset an toàn Secrets & API-Key Blocker và rò-rỉ-system-prompt bao phủ các trường hợp phổ biến; áp dụng chúng và ghim các quy tắc liên quan vào stage output. Block output cũng được thực thi trên streaming — bộ quét cắt stream giữa chừng và phát ra một thông báo thay thế trước khi nội dung bị block đến được người dùng.

3. Test trước khi bạn ship

Mọi trình soạn guardrail đều có một tab Test. Dán một mẫu, chọn stage, và chạy chính sách hiện tại cục bộ — không có cuộc gọi thượng nguồn, không tiêu quota.
Dán cái nàyStageMong đợi
email me at jane@acme.cominputemail me at [EMAIL]
ignore previous instructionsinputflag / block (tùy bạn)
thẻ 4111 1111 1111 1111inputguardrail_blocked (theo ghi đè)
Để có độ phủ đối kháng, tab Eval chạy chính sách đối với các corpora red-team đi kèm (hoặc JSONL của riêng bạn) và báo cáo nó đã đạt điểm thế nào — tinh chỉnh rubric judge cho đến khi nó bắt được các cuộc tấn công đã biết mà không gắn cờ chat lành tính.

4. Phát hành một key có phạm vi giới hạn cho bot

Một guardrail chỉ thực thi trên các key phân giải về nó. Cho chatbot key riêng của nó, có phạm vi tối thiểu cần thiết — không bao giờ là key toàn tài khoản của bạn. Trong API Keys → New key, đặt:
Chọn chatbot-shield từ dropdown Guardrail. Điều này đặt guardrail_id trên key. Một liên kết tường minh là đối lập của công tắc tắt: nếu nó được đặt và bật, nó luôn áp dụng và không bao giờ âm thầm fallback. (Để nó không đặt để fallback về guardrail is_default của workspace.)
Đặt credit_limit_usd thành một mức trần hợp lý (0 = không giới hạn). Một chatbot công khai là key dễ bị lạm dụng nhất — một mức trần tín dụng cứng là giới hạn bán kính sát thương của bạn. Xem denial-of-wallet.
Bật model_limits và chỉ liệt kê (các) mô hình mà bot được phép gọi, để một key bị rò rỉ không thể được dùng để chạy một mô hình đắt đỏ mà bạn không bao giờ có ý định phơi bày.
Đặt allow_ips thành các IP egress của backend bạn nếu bot gọi từ một server cố định, và một expired_time nếu key là tạm thời (-1 = không bao giờ hết hạn).
Key bị che sau khi tạo — sao chép nó một lần. Backend chatbot của bạn giờ gửi mọi lượt người dùng qua chatbot-shield mà không có code nào nhận thức rằng việc sàng lọc đang diễn ra.

5. Theo dõi nó trong production

Hai lượt đọc giữ bạn trung thực, cả hai đều theo phạm vi workspace:
  • Guardrails → Matches (mọi Member) — mọi quy tắc đã kích hoạt: type, hành động, stage, và chi tiết. Chuỗi con đã khớp được ghi lại chỉ khi Log raw content được bật cho guardrail (tắt theo mặc định — tư thế bảo thủ về quyền riêng tư). Đánh dấu một false positive để tinh chỉnh chính sách (Admin).
  • Version history — mọi thay đổi ghi một hàng lịch sử; diff bất kỳ hai phiên bản nào và revert nếu một quy tắc hóa ra quá hung hăng. Một request bị block trả về HTTP 400 guardrail_blocked, tốn no quota, và được đánh dấu skip-retry.
Một phản hồi guardrail_blocked là một 400 hiển thị với người dùng, có chủ đích. Xử lý nó trong UI chatbot của bạn với một thông báo thân thiện (“Tôi không thể xử lý điều đó”) thay vì làm nổi lỗi thô — gateway đã dừng lượt không an toàn cho bạn rồi.

6. Nếu bot của bạn gọi tool

Ngay khi chatbot của bạn có thể gọi một function, fetch một URL, hoặc vươn tới một MCP server, sàng lọc văn bản là không đủ — bạn cần mặt phẳng hành động. Gắn một chính sách Firewall vào cùng key qua firewall_policy_id, hoặc áp dụng cấp độ tự chủ balanced để audit các cuộc gọi tool và gắn cờ PII toàn workspace trước khi siết. Con đường nhanh nhất là zero-trust quickstart; đối với một agent gọi tool nhiều, xem bảo mật một agent tự chủ.

7. Đi sâu hơn ở đâu

Tham chiếu Guardrails

Mọi loại quy tắc, thực thể PII, trường judge, và bộ eval đầy đủ.

Guardrails vs Firewall

Mặt phẳng văn bản vs mặt phẳng hành động — khi nào bạn cần cái nào.

Chế độ thực thi

Observe → shadow → enforce: triển khai mà không làm hỏng bot.

Phạm vi key, chính sách, workspace

Cách liên kết key và mặc định workspace phân giải.