OpenClaw ma trzy powiązane (ale różne) mechanizmy kontroli:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Piaskownica (
agents.defaults.sandbox.*/agents.list[].sandbox.*) decyduje, gdzie uruchamiane są narzędzia (backend piaskownicy albo host). - Zasady narzędzi (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) decydują, które narzędzia są dostępne/dozwolone. - Tryb podwyższony (
tools.elevated.*,agents.list[].tools.elevated.*) to wyłącznie dlaexecawaryjne wyjście umożliwiające uruchamianie poza piaskownicą, gdy pracujesz w piaskownicy (domyślniegateway, albonode, gdy celexecjest skonfigurowany jakonode).
Szybkie debugowanie
Użyj inspektora, aby zobaczyć, co OpenClaw faktycznie robi:- efektywny tryb/zakres piaskownicy i dostęp do obszaru roboczego
- czy sesja jest obecnie w piaskownicy (główna kontra niegłówna)
- efektywne zezwolenia/blokady narzędzi piaskownicy (oraz czy pochodzą z agenta, konfiguracji globalnej czy wartości domyślnych)
- bramki trybu podwyższonego i ścieżki kluczy naprawczych
Piaskownica: gdzie uruchamiane są narzędzia
Piaskownica jest kontrolowana przezagents.defaults.sandbox.mode:
"off": wszystko uruchamia się na hoście."non-main": tylko sesje niegłówne są uruchamiane w piaskownicy (częsta „niespodzianka” w grupach/kanałach)."all": wszystko jest uruchamiane w piaskownicy.
Montowania bind (szybka kontrola bezpieczeństwa)
docker.bindsprzebija system plików piaskownicy: wszystko, co zamontujesz, jest widoczne w kontenerze z ustawionym trybem (:roalbo:rw).- Domyślnie używany jest tryb odczyt-zapis, jeśli pominiesz tryb; dla źródeł/sekretów preferuj
:ro. scope: "shared"ignoruje montowania per agent (stosowane są tylko montowania globalne).- OpenClaw sprawdza źródła montowań bind dwukrotnie: najpierw na znormalizowanej ścieżce źródłowej, a potem ponownie po rozwiązaniu przez najgłębszego istniejącego przodka. Ucieczki przez dowiązania symboliczne w katalogach nadrzędnych nie omijają kontroli zablokowanych ścieżek ani dozwolonych katalogów głównych.
- Nieistniejące ścieżki końcowe nadal są bezpiecznie sprawdzane. Jeśli
/workspace/alias-out/new-filerozwiązuje się przez nadrzędne dowiązanie symboliczne do zablokowanej ścieżki albo poza skonfigurowane dozwolone katalogi główne, montowanie bind zostaje odrzucone. - Montowanie
/var/run/docker.sockw praktyce przekazuje piaskownicy kontrolę nad hostem; rób to tylko świadomie. - Dostęp do obszaru roboczego (
workspaceAccess: "ro"/"rw") jest niezależny od trybów montowania bind.
Zasady narzędzi: które narzędzia istnieją/są wywoływalne
Znaczenie mają dwie warstwy:- Profil narzędzi:
tools.profileiagents.list[].tools.profile(bazowa lista dozwolonych) - Profil narzędzi dostawcy:
tools.byProvider[provider].profileiagents.list[].tools.byProvider[provider].profile - Globalne/per agent zasady narzędzi:
tools.allow/tools.denyiagents.list[].tools.allow/agents.list[].tools.deny - Zasady narzędzi dostawcy:
tools.byProvider[provider].allow/denyiagents.list[].tools.byProvider[provider].allow/deny - Zasady narzędzi piaskownicy (obowiązują tylko w piaskownicy):
tools.sandbox.tools.allow/tools.sandbox.tools.denyiagents.list[].tools.sandbox.tools.*
denyzawsze wygrywa.- Jeśli
allownie jest puste, wszystko inne jest traktowane jako zablokowane. - Zasady narzędzi są twardą blokadą:
/execnie może nadpisać odmowy dla narzędziaexec. - Zasady narzędzi filtrują dostępność narzędzi według nazwy; nie sprawdzają skutków ubocznych wewnątrz
exec. Jeśliexecjest dozwolone, odmowa dlawrite,editalboapply_patchnie sprawia, że polecenia powłoki stają się tylko do odczytu. /execzmienia tylko domyślne ustawienia sesji dla autoryzowanych nadawców; nie przyznaje dostępu do narzędzi. Klucze narzędzi dostawcy akceptująprovider(np.google-antigravity) alboprovider/model(np.openai/gpt-5.4).
Grupy narzędzi (skróty)
Zasady narzędzi (globalne, agenta, piaskownicy) obsługują wpisygroup:*, które rozwijają się do wielu narzędzi:
group:runtime:exec,process,code_execution(bashjest akceptowane jako alias dlaexec)group:fs:read,write,edit,apply_patchW przypadku agentów tylko do odczytu odmawiajgroup:runtimeoraz narzędzi mutujących system plików, chyba że zasady systemu plików piaskownicy albo osobna granica hosta wymuszają ograniczenie tylko do odczytu.group:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,sessions_yield,subagents,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,x_search,web_fetchgroup:ui:browser,canvasgroup:automation:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: wszystkie wbudowane narzędzia OpenClaw (z wyłączeniem pluginów dostawców)
Tryb podwyższony: wyłącznie dla exec „uruchom na hoście”
Tryb podwyższony nie przyznaje dodatkowych narzędzi; wpływa tylko na exec.
- Jeśli jesteś w piaskownicy,
/elevated on(alboexeczelevated: true) uruchamia poza piaskownicą (zatwierdzenia nadal mogą obowiązywać). - Użyj
/elevated full, aby pominąć zatwierdzeniaexecdla sesji. - Jeśli już uruchamiasz bezpośrednio, tryb podwyższony jest w praktyce operacją bez efektu (nadal ograniczoną bramkami).
- Tryb podwyższony nie jest ograniczony do Skills i nie nadpisuje zezwoleń/odmów narzędzi.
- Tryb podwyższony nie przyznaje dowolnych nadpisań między hostami z
host=auto; stosuje normalne reguły celuexeci zachowujenodetylko wtedy, gdy skonfigurowany/sesyjny cel to jużnode. /execjest oddzielne od trybu podwyższonego. Dostosowuje tylko domyślne ustawieniaexecdla sesji dla autoryzowanych nadawców.
- Włączenie:
tools.elevated.enabled(i opcjonalnieagents.list[].tools.elevated.enabled) - Listy dozwolonych nadawców:
tools.elevated.allowFrom.<provider>(i opcjonalnieagents.list[].tools.elevated.allowFrom.<provider>)
Typowe poprawki „więzienia piaskownicy”
„Narzędzie X zablokowane przez zasady narzędzi piaskownicy”
Klucze naprawcze (wybierz jeden):- Wyłącz piaskownicę:
agents.defaults.sandbox.mode=off(albo per agentagents.list[].sandbox.mode=off) - Zezwól na narzędzie wewnątrz piaskownicy:
- usuń je z
tools.sandbox.tools.deny(albo per agentagents.list[].tools.sandbox.tools.deny) - albo dodaj je do
tools.sandbox.tools.allow(albo do zezwoleń per agent)
- usuń je z
„Myślałem, że to sesja główna, dlaczego jest w piaskownicy?”
W trybie"non-main" klucze grup/kanałów nie są główne. Użyj klucza sesji głównej (pokazanego przez sandbox explain) albo przełącz tryb na "off".
Powiązane
- Piaskownica — pełna dokumentacja piaskownicy (tryby, zakresy, backendy, obrazy)
- Piaskownica i narzędzia dla wielu agentów — nadpisania per agent i kolejność pierwszeństwa
- Tryb podwyższony