Przejdź do głównej treści
Chatbot dla klientów przyjmuje niezaufane dane wejściowe od publiczności i wysyła je do modelu. To czyni go powierzchnią o najwyższej ekspozycji, jaką prowadzisz: użytkownicy wklejają PII, których nie chcesz przechowywać u dostawcy nadrzędnego, atakujący próbują nadpisać twój prompt systemowy, a model może odbić sekrety lub niebezpieczne treści z powrotem do okna czatu. Ten przepis łączy cztery kontrole, które zabezpieczają chatbota AI od początku do końca — guardrail PII na żądaniu, prześwietlanie prompt-injection, bezpieczeństwo wyjścia oraz jeden ściśle ograniczony klucz — wszystko w konsoli, z zerową zmianą kodu chatbota.
Wszystko tutaj wiąże się z twoją przestrzenią roboczą i jest konfigurowane z konsoli. Twój chatbot dalej woła https://api.orcarouter.ai/v1/chat/completions tym samym kluczem sk-orca-... — zmienia się tylko polityka w bramie. Akcje konfiguracji wymagają ról wskazanych przy każdym kroku; wywołania relay używają klucza o ograniczonym zakresie.

1. Model zagrożeń publicznego chatbota

Zanim cokolwiek napiszesz, wiedz, przed czym się bronisz. Powierzchnia ataku chatbota jest węższa niż pełnego agenta — ale ryzyka o wysokiej częstotliwości są konkretne:

PII wchodzi, PII trafia do logów

Użytkownicy wklejają e-maile, numery kart, numery SSN do czatu — a ty przesyłasz je dalej do dostawcy i do swoich logów.

Prompt injection

„Zignoruj poprzednie instrukcje i …” — próby nadpisania twojego promptu systemowego i zmiany zachowania bota.

Jailbreaki

Ramy DAN / role-play, które próbują ściągnąć bota z polityki.

Niebezpieczne wyjście

Model odbijający wyciekłe sekrety, szablonowy tekst promptu systemowego lub treść naszpikowaną injection z powrotem do czatu.
Zwykły chatbot nie ma wywołań narzędzi, więc ten przepis opiera się na Guardrails — płaszczyźnie tekstu — a nie na Firewallu. Jeśli twój bot jednak woła narzędzia, nałóż Firewall na wierzch (zobacz §6).

2. Jeden guardrail, cztery zadania

Zamiast czterech osobnych polityk, napisz jeden guardrail przestrzeni roboczej z uporządkowanymi regułami pokrywającymi każde ryzyko. Guardrail to nazwana, uporządkowana lista reguł; każda reguła mówi czego szukać, gdzie (input, output lub both) oraz co zrobić (block, mask lub flag). W konsoli otwórz Guardrails → New guardrail, nazwij go chatbot-shield i dodaj poniższe reguły. Tworzenie guardrailu — oraz uruchamianie piaskownicy Test — wymaga roli Developer; przeglądanie guardrails jest otwarte dla każdego członka.

a. PII na żądaniu

Dodaj regułę PII, etap input, akcja mask. Wbudowany zestaw encji jest zamknięty — wybierz te, które chatbot faktycznie widzi:
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "credit_card", "ssn", "ip"],
  "entity_actions": { "credit_card": "block", "ssn": "block" }
}
Maskowanie zastępuje każde dopasowanie typowanym tagiem — jane@acme.com staje się [EMAIL], więc model nadrzędny nigdy nie widzi adresu. Nadpisanie entity_actions blokuje żądanie wprost na numerze karty lub SSN, jednocześnie maskując encje o niższej wadze. To dokładnie preset PII Shield, rozszerzony o nadpisania per encja — zastosuj preset z biblioteki szablonów i edytuj od tego punktu.
Maskowanie PII na etapie input jest dostępne dziś — przepisuje żądanie, zanim model je zobaczy. Maskowanie na żywo strumieniowanej odpowiedzi jest na mapie drogowej. Aby zredagować PII z tego, co bot odpowiada, użyj reguły block na wyjściu (egzekwowanej na strumieniu i poza strumieniem) lub uruchom bota bez strumieniowania, gdzie maskowanie wyjścia ma zastosowanie. Udowodnij swoją dokładną kombinację etapu/strumienia najpierw w zakładce Test.

b. Prześwietlanie prompt-injection

OrcaRouter dostarcza to jako preset bezpieczeństwa Prompt-Injection Basics (denylista słów kluczowych dla fraz takich jak „zignoruj poprzednie instrukcje” i „ujawnij swój prompt systemowy”; dla ściślejszego pokrycia regex ram DAN / role-play dodaj preset Jailbreak / Role-Play Blocker) plus — dla intencji semantycznej, której żaden wzorzec nie wychwyci — regułę llm_judge. Dodaj preset, potem regułę sędziego na etapie input z rubryką, która flaguje próby injection/override. Sędzia działa wobec modelu w twojej przestrzeni roboczej, jest ograniczony przez judge_timeout_ms i domyślnie fail-open (błąd sędziego jest logowany, a żądanie kontynuuje) — ustaw judge_fail_open: false, by fail closed.
Zacznij reguły injection na flag, obserwuj strumień Matches przez dzień na prawdziwym ruchu, potem awansuj do block, gdy potwierdzisz, że odpalają na atakach, a nie na uprawnionych pytaniach. Zobacz tryby egzekwowania.

c. Bezpieczeństwo wyjścia

Dodaj regułę block na etapie output (regex lub słowo kluczowe) dla treści, która nigdy nie może dotrzeć do okna czatu — wyciekłe sekrety, tokeny sterujące szablonu czatu, szablonowy tekst promptu systemowego. Presety Secrets & API-Key Blocker oraz presety bezpieczeństwa wycieku promptu systemowego pokrywają częste przypadki; zastosuj je i przypnij odpowiednie reguły do etapu output. Block na wyjściu jest egzekwowany także na strumieniu — skaner tnie strumień w locie i emituje wiadomość zastępczą, zanim zablokowana treść dotrze do użytkownika.

3. Testuj, zanim wdrożysz

Każdy edytor guardrailu ma zakładkę Test. Wklej próbkę, wybierz etap i uruchom bieżącą politykę lokalnie — bez wywołania nadrzędnego, bez wydanej kwoty.
Wklej toEtapOczekuj
email me at jane@acme.cominputemail me at [EMAIL]
ignore previous instructionsinputflag / block (twój wybór)
karta 4111 1111 1111 1111inputguardrail_blocked (zgodnie z nadpisaniem)
Dla pokrycia adwersaryjnego zakładka Eval uruchamia politykę wobec dołączonych korpusów red-team (lub twojego własnego JSONL) i raportuje, jak wypadła — stroj rubrykę sędziego, aż wychwytuje znane ataki bez flagowania nieszkodliwego czatu.

4. Wybij jeden klucz o ograniczonym zakresie dla bota

Guardrail egzekwuje tylko na kluczach, które rozwiązują się do niego. Daj chatbotowi jego własny klucz, ograniczony do minimum, którego potrzebuje — nigdy klucz obejmujący całe konto. W API Keys → New key ustaw:
Wybierz chatbot-shield z rozwijanej listy Guardrail. To ustawia guardrail_id na kluczu. Wyraźne dołączenie jest przeciwieństwem wyłącznika: jeśli jest ustawione i włączone, zawsze ma zastosowanie i nigdy po cichu nie wraca do wartości domyślnej. (Pozostaw nieustawione, aby wrócić do guardrailu is_default przestrzeni roboczej.)
Ustaw credit_limit_usd na rozsądny pułap (0 = bez limitu). Publiczny chatbot to klucz najbardziej narażony na nadużycie — twardy limit kredytu to twój limit promienia rażenia. Zobacz denial-of-wallet.
Włącz model_limits i wymień tylko model(e), które bot może wołać, aby wyciekły klucz nie mógł zostać użyty do uruchomienia kosztownego modelu, którego nigdy nie zamierzałeś udostępniać.
Ustaw allow_ips na IP egress twojego backendu, jeśli bot woła ze stałego serwera, oraz expired_time, jeśli klucz jest tymczasowy (-1 = nigdy nie wygasa).
Klucz jest maskowany na wyświetleniu po utworzeniu — skopiuj go raz. Backend twojego chatbota teraz wysyła każdą turę użytkownika przez chatbot-shield, a żaden kod nie jest świadomy, że dzieje się prześwietlanie.

5. Obserwuj go na produkcji

Dwa odczyty utrzymują cię w ryzach, oba w zakresie przestrzeni roboczej:
  • Guardrails → Matches (każdy Member) — każda reguła, która odpaliła: typ, akcja, etap i szczegół. Dopasowany podłańcuch jest rejestrowany tylko wtedy, gdy Log raw content jest włączony dla guardrailu (domyślnie wyłączony — postawa konserwatywna względem prywatności). Oznacz fałszywie dodatni, aby stroić politykę (Admin).
  • Historia wersji — każda zmiana zapisuje wiersz historii; zdiffuj dowolne dwie wersje i przywróć, jeśli reguła okaże się zbyt agresywna. Zablokowane żądanie zwraca HTTP 400 guardrail_blocked, kosztuje zero kwoty i jest oznaczone jako skip-retry.
Odpowiedź guardrail_blocked to celowy, widoczny dla użytkownika 400. Obsłuż ją w UI swojego chatbota przyjazną wiadomością („Nie mogę tego przetworzyć”) zamiast wyświetlać surowy błąd — brama już zatrzymała za ciebie niebezpieczną turę.

6. Jeśli twój bot woła narzędzia

W momencie, gdy twój chatbot może wywołać funkcję, pobrać URL lub sięgnąć do serwera MCP, prześwietlanie tekstu nie wystarcza — potrzebujesz płaszczyzny akcji. Dołącz politykę Firewall do tego samego klucza przez firewall_policy_id lub zastosuj poziom autonomii balanced, aby audytować wywołania narzędzi i flagować PII w całej przestrzeni roboczej przed zaostrzeniem. Najszybsza droga to szybki start zero-trust; dla agenta, który intensywnie woła narzędzia, zobacz zabezpiecz agenta autonomicznego.

7. Gdzie pogłębić

Referencja Guardrails

Każdy typ reguły, encja PII, pole sędziego oraz pełna oprawa eval.

Guardrails vs Firewall

Płaszczyzna tekstu vs płaszczyzna akcji — kiedy której potrzebujesz.

Tryby egzekwowania

Obserwuj → cień → egzekwuj: wdrażaj bez psucia bota.

Zakres kluczy, polityk, przestrzeni roboczych

Jak rozwiązują się dołączenie klucza i domyślne przestrzeni roboczej.