Przejdź do głównej treści
Brama siedzi między twoim agentem a każdym modelem, który wywołuje. Czyni ją to jedynym punktem, który widzi każde wywołanie niezależnie od dostawcy — każdy prompt, każdą odpowiedź, każde wywołanie narzędzia i każde wychodzące żądanie, przez które twój agent kieruje — niezależnie od tego, który SDK wydał wywołanie. Ten punkt zwężenia jest właściwym miejscem dla inspekcji i egzekwowania. (To, czego nie może zobaczyć — narzędzie, które działa całkowicie wewnątrz twojego procesu i nigdy nie przekracza bramy — jest omówione w §4.) Ta strona wyjaśnia dokładnie, co brama może i czego nie może zobaczyć, jak działa wykrywanie i jak zamykać luki.

1. Dlaczego brama jest właściwym punktem inspekcji

Większość kontroli bezpieczeństwa żyje w aplikacji: opakowania bibliotek, hooki frameworków agentów, SDK per-dostawca. Te kontrole mają fatalną strukturalną wadę — psują się, gdy tylko dodasz drugiego dostawcę, zmienisz framework lub pozwolisz agentowi samodzielnie zainstalować nowy skill. Brama nie ma żadnych takich szwów. Każde wywołanie, które twój agent wydaje, niezależnie od modelu, dostawcy lub jak zdolność narzędzia dotarła, przechodzi przez jeden punkt, zanim cokolwiek dotrze do miejsca nadrzędnego. To jedyna warstwa, gdzie możesz dać gwarancję: jeśli to się zdarzyło, brama to widziała. OrcaRouter używa tej pozycji dla dwóch odrębnych przejść egzekwowania:
  • Guardrails sprawdzają tekst — prompt, który twój agent wysyła, i odpowiedź, którą model zwraca. Blokada guardrail zwraca HTTP 400 guardrail_blocked i nie kosztuje limitu.
  • Firewall ocenia akcje — narzędzia, które agent wywołuje, serwery MCP, do których sięga, i miejsca docelowe w sieci, które raportuje. Odmowa firewalla zwraca HTTP 400 firewall_blocked na powierzchni inbound lub błąd narzędzia na powierzchni MCP, więc model widzi odrzucenie i może o nim wnioskować.
Obie warstwy są konfigurowane raz w twojej przestrzeni roboczej i dołączają do klucza API. Bez ponownego wdrożenia. Bez zmian SDK. Twój agent dalej woła https://api.orcarouter.ai/v1 dokładnie jak wcześniej.

2. Cztery powierzchnie egzekwowania

Firewall ewaluuje każde wywołanie narzędzia wobec dokładnie jednej powierzchni — punktu w cyklu życia wywołania, w którym brama je widzi.
PowierzchniaCo widzi brama
inboundNarzędzia, które twój agent ogłasza modelowi w żądaniu — definicje narzędzi. Blokowanie tutaj uniemożliwia modelowi wybranie niebezpiecznego narzędzia.
responsetool_calls, które model emituje w swojej odpowiedzi — wybrane akcje modelu przed ich dyspozycją.
mcptools/call dyspozytowane przez bramę Firewall MCP lub ewaluowane przez hook SDK — wywołanie w momencie dyspozycji.
egressWychodzący cel sieciowy (host / IP / CIDR) zgłaszany przez narzędzie — powierzchnia SSRF i eksfiltracji danych.
Guardrails dodają dwa dodatkowe etapy tekstowe nakładające się na powyższe powierzchnie: input (prompt żądania i wiadomości) i output (tekst odpowiedzi modelu). Jedno żądanie może przejść przez wszystkie z nich.

3. Wykrywanie przy pierwszym użyciu

Wykrywanie odbywa się w bramie, przy pierwszym użyciu — nie w momencie instalacji. Narzędzie, serwer MCP lub skill, który agent samodzielnie instaluje, jest wychwycony przy pierwszym przekroczeniu bramy przez jego wywołanie. To celowe: brama jest jedynym punktem zwężenia, który widzi każdego dostawcę, każdego agenta i każde wywołanie niezależnie od tego, jak zdolność dotarła. Czekanie na wykrywanie w momencie instalacji przegapiłoby zdolności załadowane w czasie wykonywania.
Oznacza to, że nowe narzędzie ląduje w widoku Discovered tools w momencie pojawienia się w żądaniu, nawet jeśli żadna reguła go nie nazywa. Włącz tryb obserwacji, aby rejestrować każde wywołanie narzędzia bez pasującej reguły jako lukę w pokryciu — ten widok napędza tworzenie polityk z rzeczywistego ruchu.

4. Czego brama nie może zobaczyć

Gwarancja inspekcji obejmuje wywołania, które przekraczają bramę. Nie rozciąga się na narzędzie, które twój agent uruchamia całkowicie wewnątrz własnego procesu — które odczytuje lokalny plik, wywołuje funkcję biblioteki lub wykonuje podproces bez wysyłania wiadomości do bramy. To jest uczciwa granica, nie wada projektowa. Celem projektowym jest uczynienie bramy audytowaną ścieżką dla wywołań, które mają znaczenie — tych z rzeczywistymi konsekwencjami:
Gdzie działaBrama to widzi?Jak zamknąć lukę
Wywołanie narzędzia mediowane przez model (model emituje tool_calls)Tak — powierzchnia responseNie potrzebne żadne działanie; już zarządzane.
Dyspozycja MCP przez bramę Firewall MCPTak — powierzchnia mcpNie potrzebne żadne działanie; już zarządzane.
Twój agent wywołuje POST /api/v1/firewall/evaluate przed dyspozycjąTak — ewaluowane inlineJuż zarządzane przez hook evaluate.
Narzędzie działa w procesie, bez kontaktu z bramąNieKieruj dyspozycję MCP i narzędzia wywołujące sieć przez bramę zamiast wywoływać je bezpośrednio z procesu agenta.
Jeśli masz narzędzia, które dziś działają w procesie i mają rzeczywiste konsekwencje, ścieżką do pokrycia jest zarejestrowanie ich jako serwerów MCP za bramą Firewall MCP lub wywołanie hooka evaluate z pętli agenta przed dyspozycją.

5. Bramkowanie ról dla danych inspekcji

Dostęp do powierzchni inspekcji jest ograniczony rolami w twojej przestrzeni roboczej:
ZdolnośćMinimalna rola
Odczyt dopasowań guardrail, polityk firewalla i odkrytych narzędziMember
Odczyt strumieni Events i Runs firewallaDeveloper
Tworzenie lub zmiana guardrails, polityk firewalla, regułDeveloper
Eksporty zgodności, plaintext klucza z zakresem firewall-gateway, flaga klucza is_firewall_gatewayAdmin
Token z zakresem firewall-gateway (klucz używany do wywołania /api/v1/firewall/evaluate i bramy MCP) wymaga roli Admin do stworzenia. Zwykły klucz API zwraca 403 na tych trasach.

6. Co dalej

Stos kontrolny

Pełna ścieżka żądania — klucz, guardrails, model, firewall, audyt — na jednym diagramie.

Współdzielona odpowiedzialność

Co zabezpiecza brama, a co pozostaje w twojej aplikacji.

Agent Firewall

Twórz polityki, konfiguruj powierzchnie i zarządzaj wywołaniami narzędzi w szczegółach.
Brama jest jedynym punktem inspekcji dla każdego wywołania, które przez nią przechodzi — skonfiguruj swoje polityki raz, a każdy dostawca, każdy agent i każde wywołanie narzędzia jest pokryte.