Przejdź do głównej treści
Gdy agent biega luźno po tuzinie narzędzi MCP, pytanie, które ma znaczenie po fakcie, nigdy nie brzmi „czy to jedno narzędzie jest bezpieczne” — brzmi „co agent faktycznie wywołał, co firewall zdecydował, i która reguła wykonała to wywołanie”. OrcaRouter odpowiada na to z jednego miejsca: log audytu mcp. Każde tools/call, które brama MCP ewaluuje na powierzchni mcp, ląduje jako zdarzenie firewalla — werdykt, narzędzie, dopasowana reguła i uruchomienie agenta, które je wydało — więc możesz monitorować sesję na żywo lub zrekonstruować ją później. Ta strona to skupiona instrukcja czytania tego śladu. Po samą bramę, słownik werdyktów i DSL reguł zobacz Firewall i Firewall: serwery MCP.
Każdy odczyt tutaj jest konfigurowany z konsoli (lub z REST API twoim tokenem sesji/dostępu — UserAuth) i jest bramkowany rolami. Tylko wywołania relay /v1/* oraz trasy bramy firewalla noszą klucz w stylu sk-orca-....

1. Co rejestruje log audytu mcp

Każde wywołanie narzędzia MCP produkuje jedno zdarzenie firewalla na powierzchni mcp. Zdarzenie niesie to, czego potrzebujesz, by odpowiedzieć „kto co wywołał i co zrobiła polityka” — i nic, czego nie powinno (argumenty narzędzia są zredagowane, zobacz §4).
verdict (allow / audit / deny / sanitize / pending_approval / observe), surface (tutaj mcp), policy_name, rule_label i czytelny dla człowieka reason. Flaga quarantine oznacza wywołanie wstrzymane, ponieważ posiadający skill jest w trybie kwarantanny.
tool_name (z przestrzenią nazw <server>.<tool>), skill_name, gdy wywołanie jest przypisywalne do zarejestrowanego skilla, model_name i token_name.
agent_run_id, conversation_id i request_id — klucze, których używasz, by zgrupować wywołania sesji lub zejść z jednego żądania w każde wywołanie, które rozgałęziło.
Flaga gap oznacza wywołanie w trybie observe, które twoja dołączona polityka zobaczyła, ale nie dopasowała żadnej reguły — sygnał, którego widok Odkrytych narzędzi używa, by wystawić narzędzia, których twoja polityka jeszcze nie pokrywa.

2. Czytanie strumienia

Zakładka Events w konsoli to główny widok. By wyciągnąć te same dane programowo, wylistuj zdarzenia swoim tokenem dostępu i przefiltruj do powierzchni mcp:
# Trasa konsoli (UserAuth). Odczyt zdarzeń wymaga Developer+.
curl "https://api.orcarouter.ai/api/workspace/firewall/events?surface=mcp&verdict=deny,pending_approval" \
  -H "Authorization: Bearer <your-access-token>"
Filtr verdict przyjmuje pojedynczą wartość lub zbiór rozdzielony przecinkami (preset „odmowy + wstrzymania” powyżej). Przykładowe zdarzenie:
{
  "created_at": 1700000000,
  "surface": "mcp",
  "tool_name": "github.create_issue",
  "verdict": "deny",
  "policy_name": "Coding agent",
  "rule_label": "no writes to prod org",
  "reason": "rule matched: no writes to prod org",
  "agent_run_id": "run_8f3a",
  "model_name": "claude-sonnet-4-5",
  "token_name": "ci-agent"
}
By zrekonstruować pełne rozgałęzienie jednego żądania — każde narzędzie, które model wywołał pod pojedynczym żądaniem relay — zejdź po id żądania:
curl "https://api.orcarouter.ai/api/workspace/firewall/events/by-request/<request_id>" \
  -H "Authorization: Bearer <your-access-token>"
Po podsumowanie na poziomie sesji zamiast surowych wierszy, trafiaj w GET /api/workspace/firewall/events/aggregate?group_by=run (lub group_by=session) — jeden wiersz per uruchomienie agenta z rozbiciem per werdykt, odrębnymi narzędziami i pierwszym/ostatnim widzianym. Endpointy trace (/trace/runs, /trace/by-run) rekonstruują drzewo wywołań uruchomienia.

3. Wiersze audytu zarządzania serwerem

Zdarzenia per wywołanie mówią ci, co agent zrobił. Drugi, mniejszy ślad mówi ci, co ty zrobiłeś z zarządzaniem serwerem — i to tutaj mieszka historia rug-pull. Gdy sondowanie znajdzie, że ogłoszony zestaw narzędzi zarejestrowanego serwera zdryfował, a admin baselinuje go ponownie lub poddaje kwarantannie, ta decyzja jest zapisywana do logu audytu przestrzeni roboczej:
Akcja audytuZapisana gdy
firewall_mcp_schema_changedSondowanie znajduje, że żywy zestaw narzędzi zdryfował od zatwierdzonego.
firewall_mcp_schema_approvedAdmin baselinuje ponownie do nowego zestawu narzędzi.
firewall_mcp_schema_quarantinedAdmin poddaje kwarantannie (i wyłącza) zdryfowany serwer.
Każdy wiersz niesie id serwera, nazwę i liczbę narzędzi — nigdy argumenty narzędzi ani poświadczenia. To ślad forensyczny stojący za Obroną przed rug-pull: serwer, który zatwierdziłeś w poniedziałek, nie może po cichu urosnąć o narzędzie shell.exec w piątek, nie zostawiając tutaj wiersza.
Zmiany polityki, reguły i ustawień firewalla zapisują własne wiersze audytu obok tych. Gdy zmianę robi admin platformy, ląduje ona też w centralnym logu audytu admina (GET /api/admin/audit-logs, tylko admin); edycja zwykłego członka zostaje w śladzie przestrzeni roboczej.

4. Argumenty są domyślnie zredagowane

Strumień zdarzeń jest zbudowany tak, by był czytelny dla twojego zespołu bez wycieku sekretów. Argumenty wywołania narzędzia nigdy nie są przechowywane dosłownie — zdarzenie niesie co najwyżej ograniczone, zredagowane args_summary, a surowy hash argumentów używany do grupowania anomalii nigdy nie opuszcza serwera.
Ponieważ zdarzenia niosą tę oczyszczoną migawkę argumentów, endpointy zdarzeń, agregatu i trace są bramkowane Developer+ — członek o roli Viewer może odczytać polityki i odkryte narzędzia, ale nie proweniencję wywołań narzędzi innego członka. Zaplanuj swoje role odpowiednio.

5. Monitorowanie na żywo: anomalie

Czytanie po fakcie to jedna połowa; druga to bycie poinformowanym, gdy to się dzieje. Strumień anomalii obserwuje MCP (i każdą inną powierzchnię) pod kątem zachowania odbiegającego od wyuczonej bazy przestrzeni roboczej — skoki tempa i kosztu wobec profilu godziny-tygodnia, pętle ponowień i nowe ścieżki narzędzi — i wystawia je bez pisania ani jednej reguły.
# Strumień anomalii jest otwarty dla każdego Membera.
curl "https://api.orcarouter.ai/api/workspace/firewall/anomalies?window=5m" \
  -H "Authorization: Bearer <your-access-token>"
Hałaśliwy sygnał można uśpić (do 7 dni), tak by przestał zatłaczać strumień bez trwałego wyciszenia. Odczyt anomalii jest otwarty dla Membera — szerszy niż strumień zdarzeń — ponieważ niesie sygnał, nie argumenty.
Sparuj strumień z trybem shadow: wytocz zaostrzoną politykę jako tylko-audit, obserwuj potencjalne odmowy w strumieniu zdarzeń (reason z prefiksem [shadow] would …) i promuj ją, gdy strumień ucichnie.

6. Retencja i usuwanie

Zdarzenia firewalla wygasają automatycznie — nie są trwałym magazynem, są toczącym się oknem monitorowania. Wiersze audytu przestrzeni roboczej (ślad zarządzania serwerem w §3) są przechowywane do 180 dni. A gdy użytkownik jest usuwany, cykl grace-then-scrub kaskadowo przechodzi przez zdarzenia i dopasowania firewalla, tak by ślad wywołań narzędzi odeszłego użytkownika nie pozostał.
Kontrole rezydencji danych i retencji mieszkają w płaszczyźnie zgodności. Log audytu mcp dziedziczy postawę retencji przestrzeni roboczej; nie konfigurujesz go per-serwer.

7. Dokąd dalej

Przegląd bezpieczeństwa MCP

Cała powierzchnia zarządzania MCP — brama, werdykty, skille, egress.

Obrona przed rug-pull

Zdarzenia dryfu w §3, od początku do końca: wykryj, zbaselinuj ponownie, poddaj kwarantannie.

Lista dozwolonych narzędzi MCP

Zamień to, co pokazuje log audytu, w politykę domyślnej odmowy.

Firewall: serwery MCP

Pełna referencja pól i tras.
Nowy w modelu? Zobacz Jak OrcaRouter inspekcjonuje po to, gdzie zdarzenia są emitowane w ścieżce ewaluacji, i Nadmierną sprawczość dla zagrożenia, które czysty ślad audytu pomaga ci złapać wcześnie.