tools/call
przy dyspozycji wobec twojej żywej polityki. Ogłoszony zestaw narzędzi każdego
zarejestrowanego serwera jest baselinowany przy pierwszym sondowaniu i
ponownie sprawdzany pod kątem dryfu — jeśli schemat narzędzi zmieni się
względem zatwierdzonej bazy, serwer zawodzi zamknięty, dopóki admin go
ponownie nie zatwierdzi lub nie poddaje kwarantannie. A warstwa
Skille przypisuje każdej zainstalowanej
zdolności pasmo ryzyka i tryb egzekwowania — kwarantannując cokolwiek ryzykowne
lub niezrecenzowane, dopóki człowiek nie zaakceptuje. Serwer nie może zarobić
darmowej przepustki, zachowując się poprawnie przez pierwsze sto wywołań.
1. Dlaczego ochrona przed rug pull MCP potrzebuje ewaluacji per wywołanie
Recenzja przy połączeniu odpowiada na jedno pytanie raz: czy ten serwer jest bezpieczny do wymienienia? Nie może odpowiedzieć na pytanie, które naprawdę ma znaczenie w czasie wykonania: czy to konkretne wywołanie, z tymi konkretnymi argumentami, jest bezpieczne teraz? OrcaRouter odpowiada na drugie pytanie. Każdetools/call, które przekracza
bramę, jest ewaluowane na powierzchni mcp przed dyspozycją do prawdziwego
serwera, z nazwą narzędzia i argumentami w ręku. Werdykt jest obliczany świeżo
za każdym razem, więc w chwili, gdy narzędzie zaczyna robić coś, czego twoja
polityka zakazuje — eksfiltrując sekret w argumencie, sięgając do
zabronionego hosta, wywołując zdolność, której nigdy nie zatwierdziłeś —
wywołanie jest zatrzymane, niezależnie od tego, jak to samo narzędzie
zachowywało się minutę temu.
mcp:
allow / audit
audit loguje wywołanie; allow pozostaje cicho.sanitize
deny
firewall deny: …), więc agent
może się dostosować, zamiast się wysypać.pending_approval
2. Kwarantanna pasma ryzyka skilla
Druga połowa obrony przed rug-pull pokrywa łańcuch dostaw: skille, wtyczki i serwery MCP typu bring-your-own, które agent instaluje. Każdy jest rejestrowany jako rekord w zakresie przestrzeni roboczej, skanowany przez deterministyczny silnik ryzyka i otrzymuje pasmo ryzyka (low / medium / high / critical) plus tryb egzekwowania:
| Tryb | Efekt w czasie wykonania |
|---|---|
allow | Decydują werdykty reguł; skill nic nie dodaje. |
quarantine | Cokolwiek krótszego niż deny jest eskalowane do pending_approval — narzędzia uruchamiają się dopiero po zatwierdzeniu przez człowieka. |
block | Narzędzia skilla są wprost odmawiane. |
auto_detected i kwarantannowana do recenzji — nawet jeśli przeszła
skan czysto, nie uruchamia się na własną odpowiedzialność. A tryb skilla
zawsze zaostrza się tylko ściślej przy ponownym skanie: block lub
quarantine, który ustawisz, nigdy nie jest po cichu rozluźniany, gdy manifest
jest ponownie prezentowany.
Zobacz Firewall: skille po pełny skaner, wagi
punktacji i sygnały zaufania.
3. Wykrywanie dryfu schematu narzędzi
Klasyczny rug pull to zarejestrowany serwer, który zmienia to, co ogłasza — dodaje narzędzie, zmienia schemat wejścia narzędzia, podmienia opis. OrcaRouter baselinuje ogłoszony zestaw narzędzi każdego zarejestrowanego serwera przy udanym sondowaniu i obserwuje go pod kątem dryfu.Baseline przy pierwszym sondowaniu
pending, dopóki admin nie
zatwierdzi jego początkowego zestawu narzędzi).Dryf zawodzi zamknięty
changed i
przestaje być serwowany — brama nie zdyspozytuje jego narzędzi,
dopóki nie zdecydujesz.Zatwierdź lub poddaj kwarantannie
Audytowane
schema_status serwera to jedno z: unknown (nigdy niebaselinowany),
verified (pasuje do bazy), changed (zdryfował, wstrzymany), pending
(niebaselinowany pod postawą egzekwującą) lub quarantined. Ta warstwa łapie
rug pull, który przesuwa schemat; ewaluacja per wywołanie (§1) łapie ten,
który zachowuje identyczną sygnaturę i tylko zmienia zachowanie.
4. Jeden konkretny przykład
Załóżmy, że społecznościowy serwer MCPnotes ogłasza niewinne narzędzie
notes.search. Wymieniasz je, recenzujesz, i działa. Tydzień później serwer
jest skompromitowany i notes.search zaczyna dołączać argument eksfiltracji,
który POST-uje twój kontekst na host atakującego.
Brama działająca tylko przy połączeniu przesłałaby je — nazwa narzędzia i
schemat wyglądają niezmienione. OrcaRouter ewaluuje wywołanie:
args_match to eq, contains, regex, in, cidr_match,
gt, lt; cidr_match testuje argument o wartości IP wobec CIDR. By
ograniczyć dokąd narzędzie może sięgnąć po host/CIDR, użyj
listy celów egress zamiast klauzuli
argumentu.)
Przy dyspozycji silnik zwraca deny, i zamiast przesyłać wywołanie brama
wręcza agentowi błąd wyniku narzędzia MCP — normalny wynik oflagowany jako
błąd, nie awaria transportu — więc model może się dostosować:
5. Jak to pasuje razem
Ewaluacja per wywołanie vs. kwarantanna skilla — co co łapie?
Ewaluacja per wywołanie vs. kwarantanna skilla — co co łapie?
Czy to baselinuje schemat serwera?
Czy to baselinuje schemat serwera?
Dokąd idą wstrzymane wywołania?
Dokąd idą wstrzymane wywołania?
pending_approval wstrzymuje wywołanie do rozstrzygnięcia przez
człowieka w konsoli (Developer+) lub przez callback zatwierdzenia HMAC.
Zobacz tryby egzekwowania po to,
jak wstrzymania i zatwierdzenia są wystawiane agentowi.6. Konfigurowanie tego
Każdy krok poniżej to akcja konsoli / zarządzania uwierzytelniona twoim tokenem sesji lub dostępu — nie kluczem relaysk-orca-…. Tylko ruch relay
/v1/* używa klucza relay.
Zarejestruj swoje serwery MCP za bramą
Ustaw domyślny werdykt i reguły na powierzchni mcp
tool_name_glob i args_match, tak by ryzykowne
wywołania rozstrzygały się do deny, sanitize lub pending_approval.
Zobacz referencję reguł firewalla.Zrecenzuj skille w kwarantannie
quarantine, dopóki recenzent
(Developer+) tego nie zatwierdzi. Najpierw przeczytaj pasmo i ustalenia.Wytocz w shadow, potem egzekwuj
