1. Schemat reguły firewalla w skrócie
Każda reguła niesie te same pola. Tylkoverdict jest zawsze wymagane —
wszystko inne zacieśnia co reguła dopasowuje lub konfiguruje wybrany
werdykt, a nieobecny dopasowywacz jest trywialnie prawdziwy.
| Pole | Cel |
|---|---|
priority | Kolejność ewaluacji — niższy działa pierwszy. |
verdict | Akcja, gdy reguła dopasuje (wymagane). |
stage | Powierzchnia, do której ograniczyć; puste = wszystkie. |
tool_name_glob | Glob na nazwie narzędzia. |
args_match_json | Predykat argumentu JSONPath, jako string zakodowany w JSON. |
egress_json | Lista allow-deny host / CIDR (reguły egress), jako string zakodowany w JSON. |
sanitize_json | Konfiguracja redakcji (gdy verdict = sanitize), jako string zakodowany w JSON. |
cap_cost_cents | Limit kosztu uruchomienia w centach USD (gdy verdict = cap_cost). |
sequence_json | Predykat uporządkowanego wielokrokowego łańcucha (reguły sekwencji), jako string zakodowany w JSON. |
label / notes | Nazwa dla człowieka i uzasadnienie — pokazywane w zdarzeniach, ignorowane przez silnik. |
default_verdict
polityki.
2. priority — kolejność ewaluacji
Liczba porządkowa całkowita. Niższy działa pierwszy; dwie reguły o tym
samym priorytecie rozstrzygają remis po id reguły (kolejność wstawienia).
Umieść swoje konkretne wykrojenia ponad szerokimi catch-all — allow dla
jednego zaufanego narzędzia przy priorytecie 10 bije deny * przy
priorytecie 100.
3. verdict — akcja
Jedyne wymagane pole. Gdy reguła dopasuje, jej werdykt decyduje, co dzieje się
z wywołaniem:
| Werdykt | Efekt |
|---|---|
allow | Przepuść wywołanie, zalogowane. |
audit | Zezwól i zarejestruj do przeglądu — zwykły default_verdict. |
deny | Zablokuj wywołanie. |
sanitize | Zredaguj dopasowane podłańcuchy z argumentów narzędzia, potem prześlij. |
pending_approval | Wstrzymaj wywołanie dla recenzenta-człowieka. |
cap_cost | Odmów, gdy zakumulowane wydatki uruchomienia agenta przekroczą limit. |
deny zwraca HTTP 400 firewall_blocked na powierzchni inbound lub
błąd narzędzia na powierzchni mcp. Wstrzymane wywołanie zwraca HTTP 400
firewall_approval_pending z id, na którym agent odpytuje. W
trybie cienia każdy egzekwujący werdykt
jest degradowany do audit, a powód jest poprzedzony przedrostkiem
[shadow] would …. Zobacz Werdykty dla
pełnej tabeli i kształtów bloku.
4. stage — powierzchnia egzekwowania
Przypina regułę do jednej z powierzchni firewalla. Zostaw je puste, a reguła
dotyczy wszystkich powierzchni:
inbound — ogłoszone definicje narzędzi
inbound — ogłoszone definicje narzędzi
Narzędzia, które agent ogłasza modelowi w żądaniu. Zablokuj niebezpieczne
narzędzie, zanim model będzie mógł je w ogóle wybrać.
response — tool_calls wyemitowane przez model
response — tool_calls wyemitowane przez model
tool_calls, które model emituje w swojej odpowiedzi.mcp — dyspozycja tools/call
mcp — dyspozycja tools/call
tools/call kierowane przez
bramę Firewall MCP.egress — wychodzący cel
egress — wychodzący cel
Wychodzący host / IP / CIDR, do którego sięga narzędzie — powierzchnia
SSRF i eksfiltracji danych.
Niektóre połączenia werdykt + etap są odrzucane przy zapisie, ponieważ
werdykt nie może tam odpalić:
cap_cost to limit kosztu uruchomienia
przed-dyspozycją, bezwładny na response i egress; pending_approval
kiedykolwiek wstrzymuje tylko na inbound, więc wyraźne przypięcie
response/egress jest odmawiane. Edytor ukrywa te kombinacje; API je
odrzuca. Zobacz Etapy.5. tool_name_glob — które narzędzie
Mały, z rozróżnianiem wielkości liter glob na nazwie narzędzia — shell.* dla
całej rodziny, *.delete dla czasownika w różnych serwerach, http_fetch dla
jednego dokładnego narzędzia. Puste lub * dopasowuje każde narzędzie.
Opcjonalny glob nazwy skilla (ta sama gramatyka) łączy AND drugi warunek
na skillu właścicielu, więc możesz zaufać narzędziu z wbudowanego skilla i
bramkować je ze społecznościowego.
Pełna gramatyka — przedrostek, sufiks, wrostek, dokładny i brzegi, które ludzi
potykają — to własna referencja:
Składnia wzorców glob.
6. args_match_json — z jakimi argumentami
Glob odpowiada, które narzędzie; args_match_json odpowiada, z jakimi
argumentami — różnica między „zablokuj shell.exec” a „zablokuj
shell.exec tylko, gdy polecenie to rm -rf”. Jego wartość to string
zakodowany w JSON niosący zestaw klauzul JSONPath, wszystkie połączone
AND. Zdekodowany obiekt klauzul wygląda tak:
"args_match_json": "{\"clauses\":[{\"path\":\"$.command\",\"op\":\"regex\",\"value\":\"rm -rf\"}]}".
Operatory to eq, contains, regex, in, cidr_match, gt i lt.
Nieobecne args_match_json jest trywialnie prawdziwe — reguła dopasowuje na
samym globie. Pełny język predykatów, składnia ścieżki i zachowanie
fail-closed zepsutej klauzuli są w
Waliduj argumenty i
książce kucharskiej argumentów.
7. egress_json — które cele
Używane na powierzchni egress: string zakodowany w JSON zawierający
listę allow-i-deny host / CIDR dopasowaną wobec wychodzącego celu, do którego
sięga narzędzie. Zdekodowany obiekt wygląda tak:
deny definiuje, co jest blokowane, a allow wykrawa z niej wyjątki.
Szablon firewalla Baseline dostarcza regułę deny egress z gotową listą
odmów SSRF / metadanych chmury (IP metadanych
169.254.169.254, zakresy
RFC-1918, loopback, link-local i metadata.google.internal), więc nie musisz
ich pisać ręcznie. Dodaj własne cele na wierzchu dla wszystkiego innego, co
chcesz bramkować. Zobacz Kontrola egress
dla pełnego przepisu i Eksfiltrację danych
dla tego, dlaczego ma to znaczenie.8. sanitize_json — redaguj argumenty
Używane, gdy verdict = sanitize: string zakodowany w JSON nazywający,
które presety / niestandardowe regexy redagują dopasowane podłańcuchy z
argumentów narzędzia, zanim oczyszczone wywołanie zostanie przesłane —
przydatne do usunięcia sekretu lub wartości PII, którą agent wrzucił do
argumentu, bez blokowania całej akcji. Zdekodowany obiekt wygląda tak:
9. cap_cost_cents — limit wydatków
Używane, gdy verdict = cap_cost: limit kosztu uruchomienia per reguła,
liczba całkowita w centach USD. Gdy reguła dopasuje, wywołanie jest
odmawiane, gdy zakumulowane wydatki uruchomienia agenta przekroczą limit —
bezpiecznik dla rozbieganej pętli, rozwiązujący się do allow lub deny w
zdarzeniach. Limit musi być jawny i nieujemny, a reguły nie da się przypiąć do
response ani egress (gdzie werdykt jest bezwładny). Pełne zachowanie w
Limicie kosztu.
10. Jedna kompletna reguła
Składając pola razem — odmówshell.exec, ale tylko gdy polecenie wygląda
destrukcyjnie, ograniczone do wyemitowanych przez model wywołań narzędzi:
shell.exec, pojedyncza
klauzula zacieśnia do destrukcyjnego polecenia, a werdykt odmawia. Każdy
shell.exec, którego polecenie nie dopasowuje regexa, spada do następnej
reguły lub domyślnej polityki. Przypnij klucz do polityki (firewall_policy_id
na kluczu), a jest na żywo przy następnym wywołaniu — bez ponownego wdrożenia.
11. Jak łączą się pola
Co minimalnie potrzebuje poprawna reguła?
Co minimalnie potrzebuje poprawna reguła?
verdict. Wszystko inne jest opcjonalne: pusty stage dopasowuje
wszystkie powierzchnie, pusty tool_name_glob (lub *) dopasowuje każde
narzędzie, a nieobecne args_match_json dopasowuje dowolne argumenty.
Gołe { "verdict": "audit" } to poprawny catch-all.Czy dopasowywacze łączą się AND czy OR?
Czy dopasowywacze łączą się AND czy OR?
Łączą się AND. Reguła odpala tylko, gdy jej etap, glob narzędzia, glob
skilla, klauzule argumentów i zakres egress wszystkie zachodzą. Aby
wyrazić OR, napisz osobne reguły.
Które pola łączą się z którym werdyktem?
Które pola łączą się z którym werdyktem?
sanitize_json jest odczytywane tylko dla werdyktu sanitize;
cap_cost_cents tylko dla cap_cost; egress_json tylko na powierzchni
egress. Konsola waliduje te połączenia przy zapisie, więc reguła, która
wyświetla jedno zachowanie, ale nigdy nie może go wyegzekwować, nie może
być persystowana.Co, jeśli dwie reguły obie dopasują?
Co, jeśli dwie reguły obie dopasują?
Wygrywa niższy
priority (remisy rozstrzyga id reguły) — wygrywa
pierwsze dopasowanie, a ewaluacja zatrzymuje się tam. Zobacz
Priorytet reguł.Powiązane
Utwórz politykę
Napisz swoją pierwszą politykę i przypnij klucz.
Składnia globów
Pełna gramatyka globów nazw narzędzi.
Werdykty
Każdy werdykt i jak wygląda block.
Waliduj argumenty
Klauzule argumentów JSONPath w głąb.
Zarządzaj politykami
Edytuj, wersjonuj i przywracaj polityki.
Reguły Firewall
Kompletna referencja silnika dopasowania.
