deny na shell.exec, listę dozwolonych
egress, klauzulę argumentu, która odpala tylko na rm -rf — i teraz chcesz
wiedzieć, że robi dokładnie to, co myślisz, zanim zmieni choć jedno
produkcyjne wywołanie narzędzia. Firewall daje ci trzy niedestrukcyjne
sposoby na testowanie reguł firewalla, każdy odpowiadający na inne
pytanie:
Dry-run jednego wywołania
Piaskownica Test przepuszcza jedno syntetyczne wywołanie narzędzia
przez prawdziwy silnik i zwraca werdykt — nic dyspozytowanego, nic
logowanego. Developer+.
Odtwórz postawę
Simulate odtwarza poziom autonomii wobec twojego ostatniego ruchu i
liczy, ile wywołań by zablokował. Czytelne dla Membera.
Uruchom wobec ruchu na żywo
Tryb cienia ewaluuje całą politykę na prawdziwych wywołaniach, ale
degraduje każdy egzekwujący werdykt do
audit. Zerowy promień rażenia.Wszystkie trzy konfigurują się przez konsolę (lub trasy zarządzania
/api/workspace/firewall/*, które uwierzytelniają się twoją sesją / tokenem
dostępu — nie kluczem relay sk-orca-…). Wywołania relay /v1/* twojego
agenta nigdy się nie zmieniają, gdy testujesz.1. Testuj reguły firewalla piaskownicą Test dry-run
Piaskownica Test to najściślejsza pętla: podaj jej pojedyncze syntetyczne wywołanie narzędzia, a uruchamia prawdziwy silnik ewaluacji — pełne rozwiązywanie polityki, reguły przechodzone w kolejności priorytetów, wygrywa-pierwsze-dopasowanie — potem zwraca werdykt, regułę, która go wyprodukowała, i czytelny dla człowieka powód. Wywołanie to dry run: nic nie jest dyspozytowane do żadnego narzędzia i nic nie jest zapisywane do strumienia zdarzeń ani inwentarza Discovered-tools. Odpowiada na jedno pytanie precyzyjnie: przy tej dokładnej nazwie narzędzia i tych argumentach, co decyduje moja polityka — i która reguła decyduje?Jeden konkretny dry run
Powiedzmy, że dodałeś regułę, która powinna odmawiaćshell.exec tylko,
gdy polecenie zawiera rm -rf. Chcesz potwierdzić dwie rzeczy w jednym
posiedzeniu: niebezpieczne polecenie jest odmawiane, a niewinne wciąż
przechodzi.
Przetestuj niebezpieczne wywołanie
W Security → Firewall otwórz zakładkę Test, wybierz powierzchnię
response, wprowadź nazwę narzędzia shell.exec i argumenty
{"command": "rm -rf /data"}, i uruchom. Odpowiedź nazywa werdykt i
dopasowaną regułę:Przetestuj niewinne wywołanie
Uruchom je ponownie z
{"command": "ls -la"}. Klauzula argumentu już nie
dopasowuje, więc reguła spada do domyślnej polityki — powinieneś zobaczyć
allow lub audit i pustą rule_label. Jeśli rm -rf odmawia, a
ls -la nie, twoja
klauzula argumentu jest
poprawnie ograniczona.Podejrzyj roboczą, zanim ją przypniesz
Przekaż
policy_id, aby ewaluować wobec konkretnej roboczej polityki
zamiast tej, do której obecnie rozwiązuje się twój ruch — więc możesz
udowodnić, że nowa polityka jest poprawna, zanim przypniesz do niej
klucz lub promujesz ją na domyślną przestrzeni roboczej.inbound, response, mcp, egress (domyślnie inbound) — więc testuj
każdą regułę na powierzchni, do której jest przypięta. Na inbound nie ma
argumentów czasu wywołania, więc reguła sanitize eskaluje tam do bloku
dokładnie tak, jak robiłaby to na produkcji; zobacz
etapy, dlaczego powierzchnia ma znaczenie.
2. Symuluj poziom autonomii, zanim go zastosujesz
Piaskownica Test sprawdza jedno wywołanie. Simulate odpowiada na pytanie na poziomie postawy: gdybym przełączył całą tę przestrzeń roboczą na surowszy poziom autonomii, ile mojego ostatniego ruchu by zablokował? Simulate odtwarza reguły deny kandydującego poziomu wobec twoich końcowych zdarzeń firewalla i zwraca przyszły wpływ — tylko nazwy narzędzi i liczniki, nigdy argumenty. Jest tylko-do-odczytu i czytelny dla Membera, więc każdy w zespole może podejrzeć promień rażeniatight, zanim Developer się na niego
zdecyduje.
Co zrobiłyby trzy poziomy
Co zrobiłyby trzy poziomy
tight— default-deny, odmowa destrukcyjnego shella, odmowa narzędzi w kształcie fetch (wektor SSRF), PII Shield + Secrets Blocker egzekwowane. Simulate pokazuje, ile twojego prawdziwego ruchu ta podłoga by wychwyciła.balanced— domyślneaudit, odmowa destrukcyjnego shella, PII Shield tylko-audit (flaguje PII). Rekomendowana postawa początkowa.permissive— tylko obserwacja; nic nie egzekwowane.
Simulate vs. zastosuj
Simulate vs. zastosuj
Simulate niczego nie zmienia — to co-jeśli nad przeszłymi
zdarzeniami. Zastosowanie poziomu autonomii (zapis Developer+)
materializuje rzeczywiste, edytowalne wiersze polityki
autonomy_* i
guardrail, z cofnięciem jednym kliknięciem z migawki audytu. Podejrzyj z
Simulate, potem zastosuj, gdy licznik wygląda dobrze.3. Tryb cienia: testuj wobec ruchu na żywo bez promienia rażenia
Piaskownica Test i Simulate to podglądy offline. Tryb cienia to ten na żywo: flaga per polityka, która ewaluuje politykę na prawdziwym ruchu agentów, przechodzi każdą regułę, wybiera werdykt — potem degraduje każdy egzekwujący werdykt (deny, sanitize, pending_approval) do audit i
poprzedza powód przedrostkiem [shadow] would …. Wywołanie zawsze przechodzi;
nic nie jest blokowane, redagowane ani wstrzymywane.
To sprawia, że strumień zdarzeń czyta się
jak uruchomienie produkcyjne z wyłączonym egzekwowaniem. Filtruj po
[shadow], a masz kompletną listę każdego wywołania, które polityka zaraz
zacznie blokować — zanim zablokuje choć jedno.
| Metoda testowa | Działa wobec | Pytanie, na które odpowiada |
|---|---|---|
| Piaskownica Test | Jedno syntetyczne wywołanie | „Jaki werdykt dostaje to dokładne wywołanie i która reguła decyduje?” |
| Simulate | Ostatnie zdarzenia | „Ile wywołań zablokowałby surowszy poziom autonomii?” |
| Tryb cienia | Ruch na żywo | „Co ta polityka zablokowałaby na prawdziwym ruchu produkcyjnym?” |
Tryb cienia to najgłębszy z trzech — pełne pokrycie na żywo z zerowym
promieniem rażenia. Ma własną stronę:
Wytocz politykę firewalla w trybie cienia
omawia przełącznik, powody
[shadow] would … i przełączenie na
egzekwowanie.4. Praktyczna kolejność testowania
Trzy narzędzia komponują się w jedną ścieżkę bezpiecznego wdrożenia — najtańsze sprawdzenie pierwsze, najszersze pokrycie ostatnie:Zrób dry-run reguł, które właśnie napisałeś
Użyj Test, aby potwierdzić, że każda nowa reguła odpala na
wywołaniach, na których powinna, i przepuszcza te, których nie powinna —
w tym przypadki negatywne. Szybko, Developer+, nic persystowanego.
Oszacuj postawę (opcjonalne)
Jeśli sięgasz po poziom autonomii zamiast ręcznie pisanych reguł,
Simulate poziom i odczytaj licznik przyszłych blokad wobec
prawdziwego ruchu, zanim go zastosujesz.
Wprowadź w cień wobec ruchu na żywo
Włącz tryb cienia i pozwól płynąć reprezentatywnemu oknu prawdziwych
wywołań. Odczytaj zdarzenia
[shadow] would …; zacieśnij każdą regułę,
która ujawnia fałszywie pozytywny przypadek — wciąż w cieniu, zerowy
promień rażenia.5. Referencja API
Te trasy zarządzania używają twojego tokenu sesji / dostępu i są w zakresie przestrzeni roboczej:| Metoda i ścieżka | Rola | Cel |
|---|---|---|
POST /api/workspace/firewall/test | Developer+ | Dry-run jednego syntetycznego wywołania narzędzia wobec rozwiązanej (lub roboczej policy_id) polityki. Zwraca werdykt, policy_name, rule_label, reason, gap, shadow_mode. Nic dyspozytowanego ani logowanego. |
GET /api/workspace/firewall/simulate?level= | Member | Odtwórz poziom autonomii wobec ostatnich zdarzeń; zwraca liczniki przyszłych blokad. |
GET /api/workspace/firewall/policies/:id | Member | Odczytaj bieżącą flagę shadow_mode polityki. |
PUT /api/workspace/firewall/policies | Developer+ | Przełącz shadow_mode na polityce. |
surface (domyślnie inbound), wymagane tool_name,
opcjonalne args_json oraz opcjonalne policy_id, by nadpisać
rozwiązywanie.
Dokąd dalej
Tryb cienia
Wdrożenie na ruchu na żywo:
[shadow] would …, filtr zdarzeń i
przełączenie na egzekwowanie.Waliduj argumenty
Ogranicz regułę do których argumentów — klauzule, które piaskownica
Test pozwala zweryfikować wobec
rm -rf vs ls -la.Werdykty
Co
allow / audit / deny / sanitize / pending_approval /
cap_cost każdy robi, gdy test przestaje być testem.Log zdarzeń
Gdzie lądują werdykty w cieniu — filtruj, wgłębiaj się w uruchomienia i
dopasowane reguły.
