Przejdź do głównej treści
OrcaRouter stosuje cztery warstwy do każdego żądania w stałej kolejności. Każda warstwa jest niezależna, ma zakres przestrzeni roboczej i dołącza do klucza API bez zmiany w kodzie. Ta strona prowadzi jedno żądanie przez wszystkie cztery warstwy w kolejności, następnie omawia kolejność rozwiązywania i zachowanie fail-open/fail-closed. Szersze wprowadzenie znajdziesz w Zabezpieczanie agentów AI z OrcaRouter.

1. Warstwa 1 — Klucz API o ograniczonym zakresie

Klucz jest pierwszą bramką. Zanim jakakolwiek treść zostanie sprawdzona lub jakikolwiek model wywołany, brama rozwiązuje wywołujący klucz i decyduje, czy żądanie jest w ogóle dozwolone. Co klucz ze sobą niesie:
  • model_limits — zestaw modeli, które klucz może wywoływać. Żądanie dla modelu spoza listy jest natychmiast odrzucane.
  • allow_ips — opcjonalna lista dozwolonych IP. Żądanie z niezapisanego źródła jest odrzucane.
  • credit_limit_usd — twardy limit wydatków. Żądanie, które przekroczyłoby limit klucza, jest odrzucane.
  • expiry — twardy termin ważności. Wygasłe klucze są odrzucane.
  • environment — znacznik (production, staging, dev, …) do organizowania i identyfikowania klucza według środowiska wdrożenia.
  • guardrail_id — polityka guardrail powiązana z tym kluczem (patrz Warstwa 2 i Warstwa 4).
  • firewall_policy_id — polityka firewalla powiązana z tym kluczem (patrz Warstwa 3).
  • is_firewall_gateway — flaga klucza jako tokenu o zakresie firewall-gateway; wymagana dla tras evaluate i bramy MCP.
Żądanie, które nie przejdzie walidacji klucza, nigdy nie dotrze do modelu — i nigdy nie jest mierzone. Gdzie konfigurować: Konsola → API Keys lub token API. Wymaga Developer+ do tworzenia lub edycji; is_firewall_gateway i odczyt plaintext klucza wymagają Admin. Pełny model kluczy znajdziesz w Zakres, klucze, polityki i przestrzenie robocze.

2. Warstwa 2 — Guardrails wejściowe

Po walidacji klucza brama uruchamia reguły etapu wejściowego powiązanego guardrail wobec tekstu żądania — przed jakimkolwiek wywołaniem modelu nadrzędnego. Co widzi: Wiadomości wywołującego tak jak zostały przesłane. (Prompt wstrzyknięty z rejestru promptów jest dołączany później, na etapie routingu; reguły wejściowe go nie widzą.) Dostępne typy reguł: keyword, regex, pii, max_chars, external, llm_judge, grounding. Akcje, które reguła może wyprodukować:
AkcjaCo się dzieje
blockŻądanie jest odrzucane — HTTP 400 guardrail_blocked. Żaden limit nie jest naliczany. Oznaczone skip-retry.
maskDopasowanie jest redagowane (np. jane@acme.com[EMAIL]). Oczyszczony tekst kontynuuje do modelu.
flagDopasowanie jest rejestrowane; ruch jest niezmieniony.
block na tym etapie oznacza, że model nigdy nie jest wywoływany. Koszt: zero. Wywołujący widzi ustrukturyzowany błąd nazywający guardrail i regułę, która odpaliła. Gdzie konfigurować: Konsola → Guardrails lub guardrail API. Wymaga Developer+ do tworzenia lub modyfikacji. Zobacz Guardrails dla pełnej referencji reguł.

3. Warstwa 3 — Model uruchamia się

Jeśli klucz jest ważny i guardrails wejściowe przeszły, brama przekazuje żądanie do modelu nadrzędnego. To jest jedyna warstwa bez konfigurowalnego egzekwowania — model po prostu wykonuje swoje zadanie. Firewall działa na akcjach, które model produkuje (Warstwa 3 → Warstwa 4 poniżej), nie na samym modelu. Routing, fallbacki i równoważenie obciążenia odbywają się tu transparentnie.

4. Warstwa 4 — Agent Firewall (wywołania narzędzi i egress)

Po odpowiedzi modelu — lub inline, gdy emitowane są wywołania narzędzi — Agent Firewall ocenia każdą akcję, o którą model prosi. Cztery powierzchnie egzekwowania:
PowierzchniaCo firewall widzi
inboundDefinicje narzędzi, które agent ogłasza modelowi. Zablokuj niebezpieczne narzędzie, zanim model będzie mógł je wybrać.
responsetool_calls, które model emituje w swojej odpowiedzi.
mcptools/call dyspozytowane przez bramę Firewall MCP lub ewaluowane przez hook.
egressWychodzący cel sieciowy (host / IP / CIDR) zgłoszony przez narzędzie — powierzchnia SSRF i eksfiltracji danych.
Werdykty, które reguła (lub wartość domyślna) może wyprodukować:
WerdyktCo robi
allowWywołanie kontynuuje. Zalogowane.
auditWywołanie kontynuuje; zapisane do przeglądu. Domyślny default_verdict.
denyWywołanie zablokowane — HTTP 400 firewall_blocked na powierzchni inbound; błąd narzędzia na mcp.
sanitizeDopasowane podłańcuchy są redagowane z argumentów narzędzia; oczyszczone wywołanie kontynuuje. Na inbound (brak jeszcze argumentów), eskaluje do deny.
pending_approvalWywołanie jest wstrzymane; zewnętrzny recenzent zatwierdza lub odrzuca; agent ponownie przesyła z jednorazowym tokenem zatwierdzenia.
cap_costOdmów, gdy zakumulowane wydatki uruchomienia agenta przekroczą limit w centach per reguła.
deny na powierzchni inbound nie kosztuje tokenów modelu — blokada odpala przed wywołaniem nadrzędnym. Wstrzymanie pending_approval zwraca HTTP 400 firewall_approval_pending z id zatwierdzenia, na którym odpytuje klient. Gdzie konfigurować: Konsola → Firewall lub firewall API. Wymaga Developer+ do tworzenia lub modyfikacji polityk i reguł. Zobacz Firewall i Reguły firewalla dla pełnego języka reguł.

5. Warstwa 5 — Guardrails wyjściowe

Po odpowiedzi modelu (i po zakończeniu dowolnego cyklu wywołań narzędzi) brama uruchamia reguły etapu wyjściowego powiązanego guardrail wobec tekstu odpowiedzi, zanim dotrze do wywołującego. Te same typy reguł i akcje mają zastosowanie jak w Warstwie 2. Wyjściowy block zwraca HTTP 400 guardrail_blocked i zwraca wstępnie pobraną porcję — wywołujący nic nie płaci.
Streaming i maskowanie wyjścia. Akcja block jest egzekwowana zarówno na odpowiedziach strumieniowych, jak i niestrumieniowych — na strumieniu skaner przerywa go w locie i emituje zamiennik. Akcja mask na wyjściu obecnie ma zastosowanie tylko do odpowiedzi niestrumieniowych; na odpowiedzi strumieniowej oryginalny chunk przechodzi bez maskowania. Sprawdź swoją kombinację etap/stream w piaskownicy guardrail przed poleganiem na tym.

6. Warstwa 6 — Audyt

Każde dopasowanie, werdykt i decyzja o zatwierdzeniu jest zapisywana do śladu audytu, korelowana z uruchomieniem agenta i sesją, które ją spowodowały. To nie jest oddzielny krok egzekwowania — działa równolegle z Warstwami 2–5 — ale jest warstwą, która czyni inne odpowiedzialnymi. Co jest logowane:
  • Dopasowania guardrail: typ reguły, akcja, etap, łańcuch szczegółów i (jeśli Log raw content jest włączony) dopasowany podłańcuch.
  • Zdarzenia firewalla: powierzchnia, nazwa narzędzia, werdykt, dopasowana reguła, kod powodu, czynniki ryzyka i uruchomienie/sesja, do której należy wywołanie.
  • Decyzje o zatwierdzeniu: kto zatwierdził lub odrzucił, kiedy i czy podstawowa reguła zmieniła się między wstrzymaniem a decyzją.
  • Zmiany polityk: każde tworzenie, aktualizacja, usunięcie i zmiana poziomu autonomii zapisuje wersjonowany wiersz audytu.
Gdzie przeglądać: Konsola → Guardrails → Matches; Konsola → Firewall → Events, Runs & Sessions, Audit. Strumień Matches guardrail jest otwarty dla każdego Member przestrzeni roboczej; strumienie Events i Runs & Sessions firewalla wymagają Developer+.

7. Tabela podsumowująca

WarstwaCo kontrolujeCo widziWynik przy trafieniuGdzie konfigurować
1. Klucz o zakresieTożsamość, dostęp do modelu, wydatki, IP, wygaśnięcieToken auth żądaniaHTTP 4xx przed czymkolwiek; bez pomiaruKonsola → API Keys (Developer+)
2. Guardrails wejścioweTreść tekstu żądaniaWiadomości wywołującegoBlock (HTTP 400 guardrail_blocked, bez opłaty), mask lub flagKonsola → Guardrails (Developer+)
3. ModelRouting / konfiguracja kanału
4. Agent FirewallWywołania narzędzi, dyspozycja MCP, egressNazwa narzędzia, argumenty, celallow / audit / deny / sanitize / pending_approval / cap_costKonsola → Firewall (Developer+)
5. Guardrails wyjścioweTreść tekstu odpowiedziOdpowiedź modeluBlock (HTTP 400, limit zwrócony), mask lub flagKonsola → Guardrails (Developer+)
6. AudytAtrybuowanie i śladWszystkie powyższeNiezmienny wpis loguKonsola → Matches (Member) / Events & Runs (Developer+)

8. Kolejność rozwiązywania polityk

Dla każdego żądania aktywny guardrail i polityka firewalla są rozwiązywane niezależnie:
  1. Dołączenie klucza — jeśli klucz niesie jawne guardrail_id lub firewall_policy_id, ta polityka wiąże (gdy istnieje i jest włączona).
  2. Domyślny przestrzeni roboczej — jeśli klucz nie ma dołączenia, stosuje się włączony guardrail lub polityka is_default przestrzeni roboczej.
  3. Żadne — brak egzekwowania. Żądanie jest bajt-identyczne z przestrzenią roboczą, która nigdy nie włączyła tej funkcji.
Dwie płaszczyzny różnią się, gdy dołączona polityka jest wyłączona: wyłączone dołączenie guardrail wyłącza guardrails dla tego klucza (brak fallbacku), podczas gdy wyłączone dołączenie firewalla wraca do domyślnej polityki firewalla przestrzeni roboczej. Co najwyżej jeden guardrail i jedna polityka firewalla na przestrzeń roboczą może być domyślna. Promowanie nowego domyślnego degraduje stary w tej samej transakcji.

9. Fail-open i fail-closed

Dwa zachowania — stosowane do różnych przypadków.Fail-open (błędy przejściowe): Jeśli rozwiązywanie polityki trafi na błąd przejściowy — czkawkę bazy danych, chwilowy problem sieciowy na drodze do zewnętrznego dostawcy — brama degraduje się do braku egzekwowania zamiast wyłączać ruch. Bezpieczeństwo się degraduje; dostępność jest zachowana. Skonfiguruj fail_open: false na regułach external lub llm_judge, gdy pominięte sprawdzenie jest nieakceptowalne dla twojej polityki.Fail-closed (niejednoznaczne przypadki): Tam gdzie brak egzekwowania zniweczyłby regułę, silnik fail closed: raport egress z nierozwiązywalnym celem jest odmówiony; nieosiągalny magazyn zatwierdzeń wstrzymuje wywołanie zamiast przepuszczać je; skill, którego własności nie da się rozwiązać, jest blokowany. Dostępność jest zachowana na szczęśliwej ścieżce; bezpieczeństwo nie jest po cichu pomijane w przypadkach, które mają znaczenie.
Zobacz Tryby egzekwowania dla pełnego drzewa decyzyjnego i Jak OrcaRouter inspekcjonuje żądania dla mechaniki ścieżki relay.

10. Dogłębne analizy

Guardrails

Pełna referencja reguł — typy, akcje, encje PII, sędzia LLM, ugruntowanie i piaskownica testowa.

Firewall

Model polityk, werdykty, powierzchnie, tryb cienia, zatwierdzenie HITL i wykrywanie anomalii.

Reguły firewalla

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

Guardrails vs. Firewall

Która warstwa wychwytuje które zagrożenie — i kiedy potrzebujesz obu.

Zakres, klucze i polityki

Pełny model kluczy: co klucz ze sobą niesie i jak polityki się rozwiązują.

Tryby egzekwowania

Fail-open vs. fail-closed — pełne drzewo decyzyjne.
Każde wywołanie przez OrcaRouter przechodzi przez wszystkie cztery warstwy egzekwowania w kolejności — walidacja klucza, sprawdzenie wejścia, ocena firewalla, sprawdzenie wyjścia — z pełnym śladem audytu zapisanym przez wszystkie z nich.