Wszystko tutaj jest konfigurowane w konsoli (Security → Firewall),
której trasy zarządzania używają twojej sesji / tokenu dostępu — nie
klucza relay
sk-orca-…. Wywołania /v1/* twojego agenta się nie zmieniają.1. Dlaczego reguły per wywołanie pomijają łańcuch
Globy narzędzi i klauzule argumentów firewalla są z założenia bezstanowe i deterministyczne — decydują o jednym wywołaniu, szybko, na gorącej ścieżce. To dokładnie to, czego chcesz dla „zablokujshell.exec rm -rf”. To dokładnie zła rzecz dla powolnej eksfiltracji,
gdzie każde pojedyncze wywołanie jest legalne.
Dwa komplementarne narzędzia wypełniają lukę:
Reguły sekwencji
Reguła, którą piszesz, dopasowująca uporządkowany łańcuch wywołań w
oknie czasowym — „masowy odczyt → eksport → egress”. Ty nazywasz wzorzec.
Wykrywanie anomalii
Firewall uczy się normalnego kształtu użycia narzędzi każdej
przestrzeni roboczej i flaguje odchylenia — pętle ponawiania, nigdy
wcześniej niewidziane ścieżki narzędzi oraz skoki wolumenu/kosztu. Bez
reguły do napisania.
2. Reguły sekwencji: nazwij łańcuch ataku
Regułasequence żyje wewnątrz
polityki firewalla jak każda inna
reguła, ale zamiast pojedynczego tool_name_glob niesie uporządkowaną listę
kroków. Każdy krok to glob narzędzia z opcjonalnym min_count i
opcjonalnym egress: true; kroki muszą wystąpić w kolejności
(przeplatanie z niezwiązanymi wywołaniami jest w porządku), a cały łańcuch
musi zakończyć się w window_seconds.
crm.*, potem wywoła dowolne
narzędzie *.export, potem zrobi dowolne wywołanie egress — wszystko w ciągu
dziesięciu minut. Każde wywołanie samo w sobie by przeszło; wzorzec to
sygnał.
Pełna składnia pola sequence — window_seconds: 0 dla braku ograniczenia
czasowego, domyślne min_count, semantyka porządkowania kroków — jest w
schemacie reguły. Pisz reguły sekwencji w
edytorze reguł konsoli; zapisywanie to akcja Developer+.
3. Wykrywanie anomalii: odchylenie od wyuczonej normy
Tam, gdzie reguły sekwencji pytają „czy ten konkretny wzorzec się zdarzył”, wykrywanie anomalii pyta „czy cokolwiek w tym uruchomieniu jest nienormalne dla tej przestrzeni roboczej”. Nie potrzebuje reguły — firewall buduje bazową linię z twojego własnego ruchu i ocenia aktywność na żywo wobec niej. Cztery rodzaje się ujawniają:rate_spike — zalew wolumenu
rate_spike — zalew wolumenu
burn_spike — skok kosztu
burn_spike — skok kosztu
Ten sam pomysł zastosowany do wydatków: narzędzie spalające wielokrotności
swojego wyuczonego bazowego kosztu dla tej godziny-tygodnia. Wczesne
ostrzeżenie denial-of-wallet — połącz je z regułą
cap_cost, aby wyegzekwować twardy
limit.retry_loop — walenie w zawodzące narzędzie
retry_loop — walenie w zawodzące narzędzie
Grupa
(conversation, tool, arguments), która powtarza się wiele razy w
ciasnym oknie — agent utknięty na wywoływaniu tego samego zawodzącego
narzędzia z tymi samymi argumentami w kółko, zamiast powolnego legalnego
odpytywania.novel_path — niewidziane przejście narzędzie-do-narzędzia
novel_path — niewidziane przejście narzędzie-do-narzędzia
Przejście
tool_a → tool_b, którego ta przestrzeń robocza nigdy
wcześniej nie wykonała. Pierwszy raz, gdy agent przechodzi z
read_file prosto do http_fetch, ta krawędź się zapala, nawet jeśli
oba narzędzia są indywidualnie dozwolone.Bazowa linia godziny-tygodnia
Bazowa linia to 14-dniowa średnia krocząca kubełkowana po godzinie tygodnia (weekday × 24 + hour), więc wtorek-14:00 jest porównywany wobec
przeszłej historii wtorku-14:00 konkretnie — nie płaskiej średniej wszech
czasów, która wymyłaby twój prawdziwy dobowy i tygodniowy rytm. Zupełnie nowa
przestrzeń robocza bez wyuczonej normy jeszcze wychwytuje oczywisty zalew
przez bezwzględną podłogę, więc jesteś chroniony od pierwszego dnia.
4. Jeden konkretny przebieg
Załóżmy, że skompromitowany prompt napędza jednego z twoich agentów w ciasną pętlę awarii, potem sonduje ścieżkę eksportu, której nigdy nie dotykał. Oto, co widzisz — bez reguły napisanej z wyprzedzeniem:Agent źle się zachowuje
Wstrzyknięte instrukcje popychają agenta do ponawiania zawodzącego
db.query z identycznymi argumentami, potem wywołania report.export, po
którym następuje wychodzący fetch — ścieżka, której ta przestrzeń robocza
nigdy nie uruchomiła.Otwórz strumień anomalii
W Security → Firewall → Anomalies uruchomienie ujawnia
retry_loop na
db.query i novel_path na krawędzi report.export → http_fetch.
Czytanie strumienia to akcja Member — każdy w zespole może
triażować.Potwierdź w trace zdarzeń
Przejdź do logu zdarzeń i
analityki uruchomień, aby zobaczyć
dokładną sekwencję wywołań, skorelowaną z uruchomieniem agenta i
konwersacją. Strumień anomalii jest czytelny dla Membera, ale log zdarzeń
i trace uruchomienia niosą proweniencję wywołań narzędzi i są
Developer+.
Zamień znalezisko w regułę
Teraz, gdy zobaczyłeś łańcuch, zakoduj go:
deny na niebezpiecznym eksporcie,
lista dozwolonych egress na fetchu
albo reguła sekwencji, która audytuje cały wzorzec następnym razem.
Wykrywanie anomalii znajduje nieznane; reguła przypina znane.5. Reguły sekwencji a wykrywanie anomalii
Rozwiązują sąsiednie problemy — wybierz ten, który pasuje do tego, co wiesz:| Reguła sekwencji | Wykrywanie anomalii | |
|---|---|---|
| Ty piszesz | Dokładny łańcuch | Nic — ono się uczy |
| Wychwytuje | Znany wielokrokowy wzorzec | Nieznane / nienormalne |
| Działa | Stosuje werdykt reguły do kończącego wywołania (audit / pending_approval / deny) | Ujawnia na strumieniu |
pending_approval lub deny)
zdolne bramkować kończące wywołanie. Dla twardego zatrzymania pojedynczego
wywołania niezależnie od jakiegokolwiek łańcucha sięgnij po
werdykt per wywołanie.
6. RBAC i trasy stojące za strumieniem
Strumień anomalii i reguły sekwencji siedzą pod trasami zarządzania firewallem przestrzeni roboczej — twój token sesji / dostępu, nigdy klucz relay:| Metoda i ścieżka | Rola | Cel |
|---|---|---|
GET /api/workspace/firewall/anomalies | Member | Odczytaj strumień anomalii (?window=). |
POST /api/workspace/firewall/anomalies/snooze | Developer+ | Uśpij strumień ({until}, zaciśnięte do 7 dni). |
POST /api/workspace/firewall/rules | Developer+ | Utwórz regułę sekwencji (lub dowolną) pod polityką. |
POST /api/workspace/firewall/test | Developer+ | Zrób dry-run polityki wobec przykładowego wywołania, zanim na nim polegniesz. |
Dokąd dalej
Schemat reguły
Pełne pole
sequence — kroki, min_count, window_seconds i każde inne
pole reguły.Log zdarzeń
Gdzie lądują dopasowane sekwencje i anomalie — filtruj po uruchomieniu,
powierzchni i werdykcie.
Limit kosztu
Zamień sygnał
burn_spike w twardy limit wydatków per uruchomienie.Kontrola egress
Zatrzymaj ostatni krok eksfiltracji łańcucha na granicy sieci.
