Przejdź do głównej treści
Najszybszy sposób, by powstrzymać agenta przed zrobieniem czegoś niebezpiecznego, to nazwać narzędzie i odmówić go. Werdykt deny na globie nazwy narzędzia to prymityw listy blokad firewalla agentowego: jedna reguła, jeden glob, werdykt deny, przypięty do klucza — i od tej chwili brama odmawia tego narzędzia przy każdym wywołaniu, bez zmiany w kodzie twojego agenta. Ta strona omawia przypadek użycia listy blokad i jedną decyzję, którą wymusza: na której powierzchni blokujesz — narzędzi, które ogłaszasz (inbound), czy wywołań narzędzi, które model emituje (response). Dla pełnego słownika dopasowania i semantyki werdyktów zobacz Schemat reguły i Werdykty.

1. Zablokuj wywołanie narzędzia, które robi agent AI

Reguła listy blokad to najprostsza rzecz, jaką polityka firewalla może wyrazić: dopasuj narzędzie po nazwie, zwróć deny. Użyj jej, gdy narzędzie nigdy nie powinno odpalić dla danego klucza — shell.exec, *.delete, wtyczka społecznościowa, której nie ufasz — niezależnie od argumentów. W konsoli przestrzeni roboczej otwórz politykę (lub utwórz jedną) i dodaj regułę:
{
  "label": "block destructive shell",
  "tool_name_glob": "*.exec",
  "verdict": "deny"
}
tool_name_glob to mały, z rozróżnianiem wielkości liter glob — shell.* wychwytuje całą rodzinę, *.delete wychwytuje czasownik w różnych serwerach, * wychwytuje wszystko. Nie jest potrzebna klauzula argumentu: goły glob + deny blokuje narzędzie bezwarunkowo. Dodaj klauzulę argumentu tylko wtedy, gdy chcesz zezwolić na narzędzie ogólnie, ale odmówić jednego kształtu wywołania.
Silnik przechodzi reguły polityki w kolejności priorytetów i wygrywa pierwsze dopasowanie. Umieść wąskie wyjątki allow przy niższym numerze priority (działają pierwsze), a twoje szerokie deny pod nimi — np. zezwól na shell.exec z zaufanego skilla builtin.*, odmów go wszędzie indziej. Zobacz Priorytet reguł.

2. Inbound vs response: wybierz powierzchnię

Deny może wylądować w dwóch różnych punktach cyklu życia żądania, a różnica ma znaczenie. Przypnij regułę polem stage lub zostaw je puste, aby pokryć oba.

inbound

Narzędzia, które twój agent ogłasza modelowi w żądaniu (definicje narzędzi). Deny tutaj usuwa narzędzie, zanim model będzie mógł je w ogóle wybrać — model nigdy nie widzi go jako opcji.

response

tool_calls, które model emituje w swojej odpowiedzi. Deny tutaj wychwytuje wywołanie, które model już zdecydował się zrobić, zanim dotrze ono do narzędzia.
Preferuj inbound, gdy chcesz, by narzędzie było niewidoczne — model nie może wywołać tego, czego nigdy mu nie zaoferowano, więc unikasz zmarnowanych tur, gdzie wybiera narzędzie tylko po to, by mu odmówiono. Użyj response (lub zostaw stage puste), gdy narzędzie legalnie pojawia się w niektórych żądaniach i chcesz wychwycić faktyczne wyemitowane wywołanie, albo gdy kontrolujesz tylko pętlę agenta, a nie ogłoszony zestaw narzędzi.
Reguła z brakiem stage dotyczy wszystkich powierzchni — to samo deny pokrywa narzędzie, czy jest ogłoszone, wyemitowane, czy dyspozytowane przez MCP. To domyślne podejście „z dwóch stron”; przypnij powierzchnię tylko wtedy, gdy deny powinno być ograniczone do jednej. Zobacz Etapy.

3. Przypnij politykę i obserwuj, jak odpala

Polityka niczego nie robi, dopóki klucz się do niej nie rozwiąże. Przypnij w konsoli, ustawiając firewall_policy_id na kluczu, lub uczyń politykę domyślną dla przestrzeni roboczej. Rozwiązywanie to: przypięta polityka klucza (gdy istnieje i jest włączona), inaczej domyślna przestrzeni roboczej. (Wyłączona przypięta polityka wraca do domyślnej — zobacz Zarządzanie politykami.) Po przypięciu odmówione wywołanie na powierzchni inbound zwraca HTTP 400 z kodem błędu firewall_blocked i powodem nazywającym narzędzie — np. tool "shell.exec" blocked by firewall. Błąd jest oznaczony skip-retry (ponowne uruchomienie identycznego wywołania po prostu znów by zablokowało) i nie kosztuje tokenów modelu, ponieważ block inbound odpala przed wywołaniem nadrzędnym. Deny dyspozytowane przez bramę MCP pojawia się zamiast tego jako błąd narzędzia, więc model widzi odrzucenie i może zareagować.
Deny na powierzchni inbound usuwa narzędzie z tego, co model dostaje w ofercie. Jeśli twój framework agentowy wymaga, by ogłoszone przez niego narzędzie było wywoływalne, blokowanie go inbound może zdezorientować pętlę — w takim przypadku blokuj na response zamiast tego, aby narzędzie pozostało ogłoszone, ale faktyczne wywołanie było odmówione. Przetestuj różnicę, zanim wytoczysz (zobacz §5).

4. Deny to jeden z kilku werdyktów

Deny to najtępsze narzędzie na liście blokad. Gdy twardy block to za dużo, ten sam glob może nieść łagodniejszy werdykt:
WerdyktKiedy sięgnąć po niego zamiast deny
auditChcesz zobaczyć, jak narzędzie odpala, ale jeszcze go nie blokować.
sanitizeNarzędzie jest w porządku, ale jego argumenty mogą nieść sekrety/PII — redaguje argumenty, nigdy wyniki narzędzia.
pending_approvalCzłowiek powinien zatwierdzić każde wywołanie poza pasmem.
cap_costZezwól, dopóki wydatki uruchomienia agenta nie przekroczą limitu w centach.
Wszystkie są udokumentowane w Werdyktach. Lista blokad to po prostu podzbiór, gdzie werdykt to deny. Dla postawy listy dozwolonych (odmów wszystkiego, pozwól na nazwany zestaw) przełącz default_verdict polityki na deny i dodaj wąskie reguły allow — zobacz Lista dozwolonych narzędzi.

5. Wytocz to bezpiecznie

Zakładka Test w konsoli robi dry-run polityki wobec przykładowego wywołania narzędzia i zwraca werdykt, dopasowaną regułę i powód — nic nie jest dyspozytowane, nic persystowane. Potwierdź, że twój glob dopasowuje narzędzie, które miałeś na myśli (i tylko to narzędzie), zanim przypniesz klucz. Zobacz Testowanie reguł.
Włącz tryb cienia na polityce, a każdy egzekwujący werdykt — w tym twoje deny — jest degradowany do audit, powód poprzedzony przedrostkiem [shadow] would …. Mierzysz dokładnie, co deny zablokowałoby wobec prawdziwego ruchu, potem wyłącz cień, by egzekwować.
Niepewny dokładnej nazwy narzędzia do globu? Widok Discovered Tools wymienia każde narzędzie, które przestrzeń robocza widziała, oznaczone covered lub gap. Napisz swoje deny prosto z nazw, które faktycznie się pojawiły. Zobacz Analitykę.
Każda ewaluacja zapisuje zdarzenie firewalla z werdyktem, powierzchnią, narzędziem i dopasowaną regułą. Po egzekwowaniu filtruj log zdarzeń po werdykcie deny, aby zobaczyć regułę odpalającą na wywołaniach, których oczekiwałeś.

6. Kto co może

Cała konfiguracja listy blokad działa w konsoli pod twoją sesją (/api/workspace/firewall/*):
AkcjaRola
Odczyt polityk, presetów, wykrytych narzędzi, SimulateMember
Dry-run polityki (Test)Developer+
Tworzenie / edycja / usuwanie reguł i politykDeveloper+
Odczyt logu zdarzeń i agregatów uruchomieńDeveloper+
Autorowanie lub zmiana reguły deny to zapis Developer+, podobnie jak dry-run Test w konsoli. Odczyt polityki i tylko-do-odczytu widok Simulate („co-jeśli”) są otwarte dla każdego członka.

Powiązane

Składnia globów

Dokładnie jak dopasowują shell.*, *.exec i *.shell.*.

Lista dozwolonych narzędzi

Odwrotna postawa: default-deny, pozwól na nazwany zestaw.

Walidacja argumentów

Odmów tylko jednego kształtu wywołania, nie całego narzędzia.

Niebezpieczne wywołania narzędzi

Zagrożenie, któremu zaradza lista blokad.

Werdykty

Co deny i jego łagodniejsze rodzeństwo robią na drucie.

Referencja firewalla

Pełna referencja reguł + dopasowania.