Przejdź do głównej treści
Sekrety lądują tam, gdzie nie powinny. Deweloper wkleja plik .env do promptu „pomocy w debugowaniu”. Pobrany dokument niesie osadzony klucz API. Model, poproszony o „pokazanie konfiguracji”, odsyła klucz dostępu AWS prosto z powrotem do klienta. Agent konstruuje wywołanie narzędzia z żywym tokenem wpieczonym w argumenty. Każde z tych zjawisk to ścieżka ucieczki poświadczenia — do logów dostawcy nadrzędnego, do transkryptu klienta lub do narzędzia innej firmy. Ta strona omawia, jak Guardrails i Agent Firewall w OrcaRouter pozwalają ci bronić się przed wyciekiem sekretów przez LLM — bez zmiany kodu twojej aplikacji.
Wykrywanie odbywa się w bramie, przed każdym powiązanym kluczem — więc pojedyncza polityka pokrywa każdego dostawcę, każdy model i każdego agenta bez zmiany SDK.

1. Gdzie wyciekają sekrety

Poświadczenie może uciec w trzech odrębnych punktach żądania:
Poświadczenie jest w żądaniu zanim model w ogóle się uruchomi — wklejony klucz, fragment .env, token wewnątrz pobranego fragmentu RAG. Niesprawdzone dociera do dostawcy nadrzędnego i może wylądować w jego logach. Zatrzymaj je guardrailem wejściowym Secrets Blocker (§2).
Model emituje sekret z powrotem do twojego klienta — przeżuwa klucz ze swojego kontekstu lub halucynuje łańcuch w kształcie poświadczenia. Wychwyć je regułą sekretów na wyjściu (§3).
Twój agent buduje wywołanie narzędzia z tokenem w argumentach. Werdykt sanitize Firewalla redaguje dopasowane podłańcuchy z argumentów, zanim wywołanie zostanie dyspozytowane (§4).
Pierwsze dwa to kontrole treści (Guardrails); trzecia to kontrola akcji (Firewall). Warstwuj wszystkie trzy dla obrony w głąb.

2. Secrets Blocker — zatrzymaj poświadczenia w promptcie

Secrets Blocker to preset guardraila w kategorii secrets, który działa na etapie wejścia. Skanuje żądanie pod kątem kształtów poświadczeń — kluczy dostępu AWS, kluczy w stylu OpenAI i tokenów GitHub — i blokuje wywołanie, zanim opuści bramę. Poświadczenie nigdy nie dociera do modelu. Napisz go raz w konsoli, dołącz klucz, a każde żądanie przez ten klucz jest prześwietlane:
1

Utwórz guardrail

W konsoli otwórz /console/guardrails, kliknij New guardrail i zastosuj preset Secrets & API-Key Blocker z kategorii secrets. Zasiewa guardrail z regułami block na etapie wejścia dla powszechnych kształtów poświadczeń — edytuj swobodnie od tego miejsca.
2

Dołącz klucz

Otwórz /console/token, edytuj klucz API i wybierz guardrail z rozwijanej listy Guardrail — lub ustaw go jako domyślny dla przestrzeni roboczej, aby każdy niepowiązany klucz go dziedziczył.
3

Wyślij żądanie

Wołaj bramę dokładnie jak wcześniej tym kluczem sk-orca-...:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "why is AKIAIOSFODNN7EXAMPLE rejected"}
    ]
  }'
Kształt klucza AWS uruchamia guardrail i żądanie jest odrzucane z HTTP 400 guardrail_blocked. Klucz nigdy nie dociera do modelu.
Zablokowane żądanie nie kosztuje kwoty — block na etapie wejścia odpala przed pomiarem — i jest oznaczone jako skip-retry, więc ponowne uruchomienie tego samego promptu po prostu znów blokuje, zamiast spalać kanał awaryjny.
Potrzebujesz szerszego pokrycia? Kategoria secrets dostarcza też preset Private Keys & Cloud Tokens, który blokuje klucze prywatne PEM, tokeny Slack i Stripe, klucze Google API oraz JWT-y. Zastosuj oba — guardrail może trzymać dowolną liczbę reguł. Aby wychwytywać JWT-y i kształty poświadczeń jako typowane encje (z tagami [JWT] / [AWS_ACCESS_KEY]), reguła pii pokrywająca jwt, aws_access_key oraz api_key_openai jest alternatywą napędzaną encjami; zobacz Referencję Guardrails.
Poziom autonomii tight Firewalla włącza guardrail Secrets Blocker jako część swojej postawy, obok PII Shield i odmów destrukcyjnego shella. Jeśli chcesz jednego przełącznika zamiast pisania reguł ręcznie, to jest szybka ścieżka. Sama kontrola poświadczeń jest zawsze guardrailem — nie skanerem argumentów firewalla.

3. Blokuj sekrety w wyjściu modelu

Sekret może też wyjść w odpowiedzi — model powtarza klucz ze swojego kontekstu lub emituje łańcuch w kształcie poświadczenia. Dodaj regułę na etapie wyjścia, aby prześwietlić odpowiedź modelu, zanim wróci do klienta. Kategoria secrets dostarcza preset Code Secret in Output dokładnie do tego: reguły block na etapie wyjścia dla kluczy prywatnych PEM, kluczy dostępu AWS i tokenów sekretów w stylu OpenAI.
{
  "type": "regex",
  "stage": "output",
  "action": "block",
  "pattern": "AKIA[0-9A-Z]{16}"
}
Block na wyjściu jest egzekwowany zarówno na odpowiedziach niestrumieniowanych, jak i strumieniowanych — na strumieniu skaner przerywa odpowiedź w locie, zanim jakakolwiek zablokowana treść dotrze do klienta. Block na wyjściu zwraca wstępnie skonsumowaną kwotę.
Maskowanie na wyjściu (zastąpienie dopasowania typowanym tagiem zamiast odrzucenia całej odpowiedzi) obecnie dotyczy tylko odpowiedzi niestrumieniowanych. Dla poświadczeń w wyjściu akcja block jest niezawodnym wyborem na ruchu strumieniowanym. Udowodnij swoją kombinację etap/strumień w zakładce Test guardraila, zanim na niej polegniesz.

4. Oczyść sekrety z argumentów wywołań narzędzi

Gdy twój agent konstruuje wywołanie narzędzia, poświadczenie może jechać razem w argumentach. Werdykt sanitize Firewalla redaguje dopasowane podłańcuchy z argumentów wywołania narzędzia i przesyła oczyszczone wywołanie — na powierzchniach response i mcp, gdzie są żywe argumenty czasu wywołania do przepisania. Reguła sanitize nazywa, które detektory redagować w swojej konfiguracji sanitize_json — zestaw wbudowanych presetów plus opcjonalne niestandardowe regexy. Dopasowany materiał jest zastępowany przez [redacted:<preset>] (dopasowania niestandardowe przez [redacted:custom]):
{
  "priority": 10,
  "label": "Redact AWS keys from tool args",
  "stage": "response",
  "tool_name_glob": "*",
  "verdict": "sanitize",
  "sanitize_json": {
    "presets": ["aws_access_key", "aws_secret_key", "openai_key", "anthropic_key", "bearer_token"],
    "custom": []
  }
}
Presety w kształcie sekretów dostępne sanityzatorowi to aws_access_key, aws_secret_key, openai_key, anthropic_key oraz bearer_token (plus email, ssn_us i credit_card dla PII). Reguła sanitize musi nazwać co najmniej jeden preset lub wzorzec niestandardowy — pusty sanityzator jest odrzucany przy zapisie.
Sanitize redaguje argumenty, nie wyniki. Czyści argumenty wywołania narzędzia, które twój agent autorował; nie szoruje treści, którą narzędzie zwraca. A na powierzchni inbound — gdzie nie ma jeszcze argumentów czasu wywołania — sanitize eskaluje do deny. Zobacz referencję reguł firewalla dla języka dopasowania.
Guardrail Secrets Blocker (§2) pozostaje twoją podstawową obroną dla poświadczeń w ciele żądania — sanityzator firewalla to uzupełnienie na warstwie akcji dla sekretów, które pojawiają się konkretnie wewnątrz argumentów wywołań narzędzi.

5. Warstwowanie trzech obron

Gdzie jest sekretWarstwa, która go zatrzymujeAkcja
W promptcieSecrets Blocker (guardrail wejściowy)block
W odpowiedzi modeluReguła sekretów na wyjściu (guardrail wyjściowy)block
W argumencie wywołania narzędziaSanityzator firewallasanitize
Wdrażaj każdą nową regułę najpierw w trybie cienia (firewall) lub z akcją flag (guardrail). Obserwuj strumień events / Matches, aby potwierdzić, że odpala na prawdziwych poświadczeniach, a nie na nieszkodliwych podobiznach, a potem przełącz na akcję egzekwującą.

6. Obserwuj, co odpaliło

Każda reguła guardraila, która odpala, rejestruje dopasowanie — typ reguły, akcję, etap i łańcuch szczegółów — do strumienia Matches przestrzeni roboczej (GET /api/guardrail/match, Member). Dopasowany podłańcuch jest rejestrowany tylko gdy „Log raw content” jest włączone, co jest domyślnie wyłączone — postawa konserwatywna wobec prywatności, aby strumień Matches sam nie stał się miejscem, gdzie sekrety się gromadzą. Zostaw wyłączone dla reguł poświadczeń, chyba że konkretnie potrzebujesz podłańcucha do triage. Decyzje sanitize firewalla lądują w strumieniu Firewall Events (GET /api/workspace/firewall/events, Developer+), bez logowania sekretów i blobów reguł.

7. Dokąd dalej

Referencja Guardrails

Typy reguł, encje PII, presety, piaskownica testowa oraz eval harness w całości.

Referencja reguł firewalla

Język dopasowania — globy narzędzi, klauzule argumentów i sanityzatory.

Ujawnienie PII

Bratnie zagrożenie treści: dane osobowe w promptach i odpowiedziach.

Eksfiltracja danych

Gdy wyciekłe poświadczenie staje się ładunkiem wychodzącego wywołania eksfiltracji.

Guardrails vs Firewall

Która płaszczyzna zatrzymuje którą klasę wycieku i jak się komponują.

Baza Secure Agents

Postawa startowa, która włącza te obrony razem.