Przejdź do głównej treści
Współczesne agenty instalują zdolności w locie: skill z rejestru, społecznościowy serwer MCP, plugin z URL-a. Każda z nich dostarcza manifest, zestaw narzędzi i zestaw żądanych uprawnień — i każda jest ryzykiem łańcucha dostaw w chwili, gdy agent ją ładuje. Skill, który po cichu prosi o shell.exec i zewnętrzny zakres sieciowy, to dokładnie ten rodzaj rzeczy, który powinien zostać zrecenzowany zanim się uruchomi, a nie odkryty w incydencie. Zarządzanie Skillami Firewalla to ta recenzja. Każda instalowalna zdolność jest rejestrowana jako rekord w zakresie przestrzeni roboczej, skanowana przez deterministyczny silnik ryzyka, przypisana do pasma ryzyka i trybu egzekwowania — a w czasie wykonania ten tryb jedzie na wierzchu werdyktów reguł firewalla.

1. Czym jest tutaj „skill”

Rekord skilla to jedna instalowalna zdolność agenta. Pojedynczy model uogólnia trzy rodzaje, więc jedna płaszczyzna skanowania, oceniania i zatwierdzania zarządza wszystkim, co agent sam instaluje:
RodzajCzym jest
skillSpakowana zdolność — manifest plus zestaw narzędzi i fragment promptu systemowego.
mcp_serverSerwer MCP typu bring-your-own zarejestrowany jako zarządzany artefakt.
pluginRozszerzenie w stylu pluginu.
Każdy rekord ma też źródłobuiltin, registry, private, byo_mcp lub auto_detected — które zasila ocenę zaufania.

2. Skaner

Przy rejestracji (i na żądanie) skaner uruchamia zestaw deterministycznych, wolnych od zależności przejść po manifeście i zadeklarowanych zakresach. Każde przejście emituje findings z ważnością info, warn lub error:
PrzejścieFlagujeWażność
prompt_injectionTekst manifestu, który próbuje nadpisać instrukcje (ignore previous instructions, you are now, wiodące system:…).warn
tool_creepNazwy narzędzi, których manifest używa, ale nie zadeklarował w allowed_tools.error
network_egressHosty HTTP(S) w manifeście, które nie są zatwierdzone w zakresach sieciowych skilla.warn
fs_write_unsafeZakres systemu plików w trybie zapisu na ścieżce poza /tmp (odporny na traversal).error
data_scopeWrażliwe zakresy danych (pii, financial, customer).info
unsignedSkill registry bez podpisu.warn
Findings zwijają się w werdykt skanu: dowolny errorblocked; w przeciwnym razie dowolny warnflagged; w przeciwnym razie clean.

3. Wynik ryzyka i pasma

Te same findings zasilają deterministyczny wynik ryzyka (0–100, addytywny z limitami per kategoria). Najcięższymi kontrybutorami są niebezpieczne zdolności:
ZdolnośćWaga
Wykonanie shell+30
Dowolna ewaluacja kodu+30
Zapis systemu plików poza /tmp+25
Odczyt sekretów+25
Zewnętrzny egress sieciowy+20
Findings tool-creep, prompt-injection, egress i data-scope dodają na wierzch (każdy ograniczony), niepodpisany skill registry dodaje +15, a mitygacje odejmują — podpisany skill to −10, manifest bez findings typu error −5. Wynik mapuje się na pasmo:
PasmoWynik
low0–25
medium26–50
high51–75
critical76–100
Te wagi są przypięte testem drift-guard — nie ruszają się bez celowej zmiany specyfikacji, więc pasmo oznacza to samo w każdej przestrzeni roboczej.

4. Tryb egzekwowania

Pasmo i werdykt razem wyprowadzają tryb egzekwowania — to, co firewall faktycznie robi, gdy wywoływane jest narzędzie będące własnością tego skilla:
TrybEfekt w czasie wykonania
allowSkill niczego od siebie nie narzuca; decydują werdykty reguł.
quarantineEskaluj wszystko poniżej deny do pending_approval — narzędzia skilla uruchamiają się dopiero po zatwierdzeniu przez człowieka.
blockWymuś deny na narzędziach skilla.
Wyprowadzenie bierze surowszy z dwóch sygnałów: pasmo (low/medium → allow, high → quarantine, critical → block) oraz werdykt skanu (blocked → block, flagged → quarantine). Pojedynczy finding error, który czyni werdykt blocked, podda kwarantannie lub zablokuje nawet wtedy, gdy numeryczne pasmo jest low — kierunek ostrożny. Operator może ustawić tryb jawnie; przy ponownym skanie tryb zaciska się tylko ciaśniej, nigdy nie rozluźniając bloku ani kwarantanny, które ustawiłeś.

5. Sygnały zaufania

Dwa sygnały poza statycznym skanem informują o tym, jak traktowany jest skill:
  • Podpisani wydawcy. Skill niosący podpis od zaufanego wydawcy jest traktowany jako bardziej godny zaufania (mitygacja podpisu obniża jego wynik ryzyka); niepodpisany skill registry jest penalizowany. Zarządzasz tym, którym wydawcom twoja przestrzeń robocza ufa.
  • Reputacja zasobu. Pozycja skilla może być korygowana przez jego zachowanie na żywo w czasie — odmowy i anomalie podnoszą jego ryzyko, czyste serie je obniżają — więc artefakt, który źle się zachowuje na produkcji, dryfuje ku kwarantannie, nawet jeśli jego manifest zeskanował się czysto.

6. Auto-wykrywane zdolności

Skaner nie uruchamia się tylko wtedy, gdy rejestrujesz coś ręcznie. Gdy agent sam instaluje zdolność, a jej narzędzia po raz pierwszy przekraczają bramę, Firewall auto-wykrywa ją (poza gorącą ścieżką, asynchronicznie), syntetyzuje manifest z tego, co zaobserwował, i uruchamia ten sam skan, ocenę i wyprowadzenie trybu — z source = auto_detected.
Auto-wykryte zdolności są poddane kwarantannie aż do recenzji. Wszystko auto-wykryte, co w przeciwnym razie rozwiązałoby się do allow, jest sprowadzane do quarantine (a critical pozostaje block), dopóki człowiek tego nie zrecenzuje. Zdolność, której nikt nie zatwierdził, nie dostaje darmowej przepustki tylko dlatego, że zeskanowała się nieszkodliwie — uruchamia się dopiero po tym, jak na nią spojrzysz.

7. Runtime enforcement

Gdy wywołanie narzędzia dociera do silnika firewalla, jest przypisywane do skilla będącego właścicielem, a potem tryb skilla jest stosowany na wierzchu werdyktu reguły:
  1. Przypisanie. Wywołanie jest dopasowywane do skilla po jego zadeklarowanych allowed_tools, potem po przedrostku przestrzeni nazw mcp_server, a potem po obejmującym całą przestrzeń roboczą najbardziej restrykcyjnym egzekwującym fallbacku.
  2. Werdykt reguły. Reguły polityki biegną jak zwykle — a skill_name_glob reguły pozwala zawęzić regułę do konkretnych skilli.
  3. Nadpisanie trybem. Skill block wymusza deny; skill quarantine eskaluje wszystko poniżej deny do pending_approval; allow zostawia werdykt nietknięty.
Przypisanie skilla fail closed. Jeśli narzędzia nie da się przypisać (błąd DB bez cache lub niezadeklarowane narzędzie pod kuratorowanym źródłem), wywołanie jest wstrzymane do recenzji, zamiast dopuszczone. A tryb skilla jest niezależny od trybu cienia — skill poddany kwarantannie lub zablokowany jest wciąż egzekwowany, nawet gdy polityka jest w wdrożeniu cieniowym.

8. Cykl życia

  • RejestracjaPOST /skills waliduje i skanuje synchronicznie, zwracając skill plus jego findings i werdykt. Tryb jest wyprowadzany (lub honorowany jest twój jawny tryb).
  • Aktualizacja — ponownie skanuje nowy manifest; tryb zaciska się ciaśniej przy pogorszonym skanie, ale nigdy nie rozluźnia twojego przechowywanego block/quarantine.
  • Ponowny skanPOST /skills/:id/rescan ponownie uruchamia skan; jeśli werdykt na nowo degraduje się do flagged lub blocked, emituje zdarzenie firewalla, więc dryf pojawia się w twoim strumieniu.
  • Usunięcie — miękko usuwa i zwalnia slot nazwy do ponownej rejestracji.

API reference

W zakresie przestrzeni roboczej; odczyty list są otwarte dla każdego członka (i redagują pola niosące sekrety), wszystko inne wymaga Developer+.
Metoda i ścieżkaRolaCel
GET /api/workspace/firewall/skillsMemberLista skilli (zredagowana; filtruj po ?kind= i ?source=).
GET /api/workspace/firewall/skills/:idDeveloper+Pełny rekord skilla.
POST /api/workspace/firewall/skillsDeveloper+Zarejestruj + zeskanuj (409 przy zduplikowanej nazwie).
PUT /api/workspace/firewall/skills/:idDeveloper+Zaktualizuj + ponownie zeskanuj.
POST /api/workspace/firewall/skills/:id/rescanDeveloper+Ponowny skan; emituje zdarzenie przy degradacji.
DELETE /api/workspace/firewall/skills/:idDeveloper+Miękkie usunięcie.
Rejestracja/aktualizacja/ponowny skan zwraca:
{
  "skill": { "id": 7, "name": "creepy", "risk_band": "high", "mode": "quarantine", "...": "..." },
  "findings": [
    { "kind": "tool_creep", "target": "shell.exec", "severity": "error" }
  ],
  "scan_verdict": "blocked"
}
Nazwy są unikalne per przestrzeń robocza w poprzek rodzajówskill o nazwie github i mcp_server o nazwie github kolidują w tej samej przestrzeni roboczej. Wybierz odrębne nazwy per artefakt.

FAQ

Reguły bramkują wywołania narzędzi po nazwie i argumentach. Skille bramkują zdolności, które agent ładuje — pakiet, jego manifest i jego żądane uprawnienia — zanim którekolwiek z jego narzędzi się uruchomi. Tryb skilla jedzie potem na wierzchu tego, co zdecydują reguły, więc oba się komponują: reguła może allow http.fetch ogólnie, podczas gdy skill poddany kwarantannie, który go posiada, wciąż zostaje wstrzymany.
Kilka rzeczy. Wykrywanie tool-creep flaguje narzędzia użyte, ale nie zadeklarowane; auto-wykrywanie ponownie skanuje z tego, co faktycznie przekroczyło bramę, a nie tylko z deklarowanego manifestu; tryb zaciska się ciaśniej (nie luźniej) przy ponownym skanie; reputacja zasobu dryfuje źle zachowujący się artefakt ku kwarantannie w czasie; a przypisanie fail closed, gdy narzędzia nie da się powiązać z zadeklarowanym skillem.
Nie. Zarejestruj te, które chcesz wstępnie zatwierdzić; reszta jest auto-wykrywana przy pierwszym użyciu i poddawana kwarantannie, dopóki ich nie zrecenzujesz. Włącz tryb obserwacji, aby wydobyć wszystko, co agent instaluje, bez blokowania, a potem zaciskaj z prawdziwych danych.

Zobacz także

Chcesz głębiej wejść w bezpieczeństwo agentów? Przewodniki Secure Your Agents (Zero Trust) osadzają tę funkcję w przepływie pracy zero-trust.

Baza Secure Agents

Zastosuj postawę zero-trust do każdej zdolności agenta jednym przełącznikiem.

Guardrails dla agentów

Guardrails zbudowane dla autonomicznych agentów używających narzędzi.