Wszystko tutaj wiąże się z twoją przestrzenią roboczą i jest
konfigurowane z konsoli. Twój agent dalej woła
https://api.orcarouter.ai/v1/... tym samym kluczem sk-orca-... — zmienia
się tylko polityka w bramie. Akcje konfiguracji wymagają ról wskazanych przy
każdym kroku; wywołania relay używają klucza o ograniczonym zakresie.
Firewall widzi egress tylko dla celów kierowanych przez bramę (ścieżka
dyspozycji MCP lub hook evaluate) — pokieruj swoje wywołania narzędzi
sieciowych przez nią, a będą zarządzane.1. Trzy warstwy, które zapobiegają eksfiltracji danych AI
Każda warstwa wychwytuje atak w innym punkcie cyklu życia żądania. Złóż wszystkie trzy — są niezależne i komplementarne.Poświadczenia w promptcie
Sekret wklejony do (lub wciągnięty do) żądania jest wychwytywany na etapie
input przez guardrail Secrets Blocker — zanim jakikolwiek model go
zobaczy.
Sekrety w argumentach narzędzi
Model, który emituje wywołanie narzędzia niosące poświadczenie, jest
czyszczony regułą firewalla sanitize, która redaguje dopasowany
argument.
Cel wychodzący
Sam krok sieciowy jest ograniczony listą dozwolonych egress — przechodzą
tylko wyliczone hosty; wszystko inne jest odmówione.
2. Zatrzymaj poświadczenia na promptcie — guardrail Secrets Blocker
Pierwszą rzeczą do zablokowania jest samo poświadczenie. Guardrail Secrets & API-Key Blocker działa na etapie input i skanuje żądanie pod kątem wzorców poświadczeń — klucze dostępu w stylu AWS, klucze OpenAI, JWT-y i podobne tokeny — zanim żądanie opuści bramę. Na dopasowaniu żądanie jest blokowane: poświadczenie nigdy nie dociera do modelu i nigdy nie ląduje w wywołaniu narzędzia. W konsoli otwórz Guardrails → New guardrail (rola Developer; odczyty i piaskownica Test są otwarte dla każdego członka), nazwij goexfil-shield
i zastosuj preset Secrets & API-Key Blocker z biblioteki szablonów
(kategoria secrets). Preset sieje trzy reguły block regex na etapie
input, po jednej na każdy kształt poświadczenia — klucze dostępu AWS,
klucze w stylu OpenAI i tokeny GitHub:
guardrail_blocked, kosztuje zero
kwoty (block na etapie input odpala przed metrowaniem) i jest oznaczone
jako skip-retry. Udowodnij to w zakładce Test — wklej przykładowy klucz
AWS, wybierz etap input i potwierdź werdykt — zanim dołączysz klucz.
3. Sanityzuj sekrety z argumentów wywołań narzędzi
Guardrail prześwietla prompt; nie widzi wywołań narzędzi, które model emituje. Gdy model produkujetool_call, którego argumenty niosą
poświadczenie, reguła firewalla sanitize wychwytuje je. Sanitize
redaguje dopasowane podłańcuchy z argumentów wywołania narzędzia i
przesyła oczyszczone wywołanie — narzędzie się uruchamia, ale z usuniętym
sekretem.
W Firewall → Policies → New policy (rola Developer) nazwij ją
exfil-firewall i dodaj regułę sanitize na powierzchni response —
tool_calls, które model emituje w swojej odpowiedzi:
4. Zablokuj cele wychodzące — lista dozwolonych egress
Najtrwalsza obrona to sama granica sieci: wylicz hosty, do których twoje agenty mają uprawniony dostęp, i odmów wszystkiego innego. Reguła egress używastage: egress i pola egress; werdykt ustawia polaryzację — allow
przepuszcza wymienione cele, a niżej priorytetowy deny typu catch-all
blokuje resztę.
Dodaj te reguły do tej samej polityki exfil-firewall:
169.254.169.254) oraz prywatne zakresy RFC-1918
(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Odmówione wywołanie zwraca
HTTP 400 firewall_blocked.
Żaden preset nie dostarcza reguł egress CIDR — wpisy allow i deny host/CIDR
piszesz sam. Poziom autonomii
tight
(poziom autonomii) to sąsiednia
szybka droga: odmawia nazw narzędzi w kształcie fetch (http_fetch,
web_search, fetch_url, request) wprost, usuwając zdolność sieciową,
zanim cel zostanie kiedykolwiek oceniony. Użyj go, gdy twój agent w ogóle nie
potrzebuje tych narzędzi.5. Dołącz jeden klucz o ograniczonym zakresie
Polityka egzekwuje tylko na kluczach, które rozwiązują się do niej. Daj agentowi jego własny klucz, ograniczony do minimum, którego potrzebuje — nigdy klucz obejmujący całe konto. W API Keys → New key (rola Developer):Dołącz obie polityki
Dołącz obie polityki
Wybierz
exfil-shield z rozwijanej listy Guardrail (ustawia
guardrail_id) i exfil-firewall z rozwijanej listy Firewall policy
(ustawia firewall_policy_id). Oba powiązania żyją na kluczu w bramie.
Wyraźne dołączenie guardrailu nigdy po cichu nie wraca do domyślnej —
wyłączenie go jest wyłącznikiem. Wyłączona polityka firewalla,
przeciwnie, wraca do domyślnej polityki przestrzeni roboczej.Ogranicz promień rażenia
Ogranicz promień rażenia
Ustaw
credit_limit_usd na rozsądny pułap (0 = bez limitu), aby
skompromitowany klucz nie mógł osuszyć kwoty, oraz allow_ips na IP
egress twojego backendu, jeśli agent woła ze stałego serwera. Ustaw
expired_time dla tymczasowych kluczy (-1 = nigdy nie wygasa).exfil-shield, a każde wywołanie
narzędzia przez exfil-firewall, a żaden kod nie jest świadomy, że dzieje
się egzekwowanie.
6. Wdróż z trybem cienia, potem obserwuj
Jeśli jeszcze nie znasz każdego hosta, do którego twój agent uprawnienie sięga, nie egzekwuj na ślepo — obserwuj najpierw. Zobacz tryby egzekwowania dla pełnej ścieżki obserwuj → cień → egzekwuj.Zacieniuj reguły egress
Ustaw
shadow_mode: true na exfil-firewall. Każdy egzekwujący werdykt
jest degradowany do audit i logowany jako [shadow] would deny z
celem. Żaden ruch nie jest blokowany, gdy tryb cienia jest włączony.Obserwuj strumienie
Firewall → Events / Runs (Developer+) pokazuje każde wywołanie
narzędzia i cel egress, który trafił twój agent, oraz co by zostało
odmówione. Guardrails → Matches (każdy Member) pokazuje każdy sekret,
który wychwycił guardrail input. Stroj listę
allow egress, aż tylko
hosty osiągalne dla atakującego byłyby odmawiane.Strumień Matches rejestruje dopasowany podłańcuch tylko wtedy, gdy
Log raw content jest włączony dla guardrailu (domyślnie wyłączony —
postawa konserwatywna względem prywatności). Oznacz fałszywie dodatni
(Admin), aby stroić politykę. Każda zmiana guardrailu zapisuje wiersz
historii wersji, który możesz zdiffować i przywrócić; zmiany polityki
firewalla są rejestrowane w śladzie audytu.
7. Pokrycie w skrócie
| Krok eksfiltracji | Warstwa, która go zatrzymuje |
|---|---|
| Poświadczenie wchodzi do żądania | Guardrail Secrets Blocker (input) |
| Model emituje wywołanie narzędzia niosące sekret | Reguła firewalla sanitize (powierzchnia response) |
| Narzędzie wybiera numer hosta atakującego | Reguła egress allow / deny |
| Agent sięga do cloud metadata lub RFC-1918 | Reguła deny egress wymieniająca te CIDR |
| Narzędzie w kształcie fetch oferowane modelowi | Poziom autonomii tight (odmowa nazwy narzędzia) |
8. Gdzie iść dalej
Referencja reguł firewalla
Pełny język dopasowania — listy egress, CIDR, sanityzatory i wszystkie
werdykty.
Zagrożenie eksfiltracją danych
Anatomia ataku, przed którym broni ten przepis, od początku do końca.
Utwardź agenta MCP
Zarządzaj każdym
tools/call, które agent dyspozytuje przez serwer MCP.Logowanie bezpieczne dla PII
Trzymaj wrażliwe dane poza logami żądań i strumieniem Matches.
