Sandbox ve Araç İlkesi ve Elevated
OpenClaw’da birbiriyle ilişkili (ama farklı) üç denetim vardır:- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*), araçların nerede çalışacağını belirler (Docker’a karşı ana makine). - Araç ilkesi (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*), hangi araçların kullanılabilir/izinli olduğunu belirler. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*), sandbox içinde olduğunuzda sandbox dışında çalıştırmak için yalnızca exec’e özel bir kaçış kapısıdır (varsayılan olarakgateway, veya exec hedefinodeolarak yapılandırıldığındanode).
Hızlı hata ayıklama
OpenClaw’ın gerçekte ne yaptığını görmek için inspector’ı kullanın:- etkin sandbox mode/scope/workspace access
- oturumun şu anda sandbox içinde olup olmadığı (ana ve ana olmayan)
- etkin sandbox araç allow/deny durumu (ve bunun agent/global/default içinden gelip gelmediği)
- elevated geçitleri ve düzeltme için anahtar yolları
Sandbox: araçların nerede çalıştığı
Sandboxing,agents.defaults.sandbox.mode ile denetlenir:
"off": her şey ana makinede çalışır."non-main": yalnızca ana olmayan oturumlar sandbox içindedir (gruplar/kanallar için yaygın “şaşkınlık” durumu)."all": her şey sandbox içindedir.
Bind mount’lar (güvenlik hızlı denetimi)
docker.binds, sandbox dosya sistemini deler: mount ettiğiniz her şey ayarladığınız modla (:roveya:rw) kapsayıcı içinde görünür olur.- Modu atlarsanız varsayılan okuma-yazmadır; kaynaklar/gizli veriler için
:rotercih edin. scope: "shared", agent başına bind’ları yok sayar (yalnızca genel bind’lar uygulanır).- OpenClaw, bind kaynaklarını iki kez doğrular: önce normalize edilmiş kaynak yolda, sonra da var olan en derin üst öğe üzerinden çözümlendikten sonra. Sembolik bağlantı üst öğesi üzerinden kaçışlar, engellenen yol veya izinli kök denetimlerini aşamaz.
- Var olmayan yaprak yollar yine de güvenli şekilde denetlenir.
/workspace/alias-out/new-file, sembolik bağlantılı bir üst öğe üzerinden engellenen bir yola veya yapılandırılmış izinli köklerin dışına çözümlenirse bind reddedilir. /var/run/docker.sockbağlamak fiilen ana makine denetimini sandbox’a verir; bunu yalnızca kasıtlı olarak yapın.- Workspace access (
workspaceAccess: "ro"/"rw"), bind modlarından bağımsızdır.
Araç ilkesi: hangi araçların var olduğu/çağrılabildiği
İki katman önemlidir:- Araç profili:
tools.profileveagents.list[].tools.profile(temel allowlist) - Sağlayıcı araç profili:
tools.byProvider[provider].profileveagents.list[].tools.byProvider[provider].profile - Genel/agent başına araç ilkesi:
tools.allow/tools.denyveagents.list[].tools.allow/agents.list[].tools.deny - Sağlayıcı araç ilkesi:
tools.byProvider[provider].allow/denyveagents.list[].tools.byProvider[provider].allow/deny - Sandbox araç ilkesi (yalnızca sandbox içindeyken uygulanır):
tools.sandbox.tools.allow/tools.sandbox.tools.denyveagents.list[].tools.sandbox.tools.*
denyher zaman kazanır.allowboş değilse diğer her şey engellenmiş kabul edilir.- Araç ilkesi kesin durdurmadır:
/exec, reddedilmiş birexecaracını geçersiz kılamaz. /exec, yalnızca yetkili göndericiler için oturum varsayılanlarını değiştirir; araç erişimi vermez. Sağlayıcı araç anahtarları yaprovider(ör.google-antigravity) ya daprovider/model(ör.openai/gpt-5.4) kabul eder.
Araç grupları (kısayollar)
Araç ilkeleri (genel, agent, sandbox), birden çok araca genişleyengroup:* girdilerini destekler:
group:runtime:exec,process,code_execution(bash,execiçin bir takma ad olarak kabul edilir)group:fs:read,write,edit,apply_patchgroup: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:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_listgroup:media:image,image_generate,ttsgroup:openclaw: tüm yerleşik OpenClaw araçları (sağlayıcı plugin’leri hariç)
Elevated: yalnızca exec için “ana makinede çalıştır”
Elevated ek araçlar vermez; yalnızcaexec aracını etkiler.
- Sandbox içindeyseniz
/elevated on(veyaelevated: trueileexec), sandbox dışında çalıştırır (onaylar yine de uygulanabilir). - Oturum için exec onaylarını atlamak üzere
/elevated fullkullanın. - Zaten doğrudan çalışıyorsanız elevated fiilen etkisizdir (yine de geçitlidir).
- Elevated skill kapsamlı değildir ve araç allow/deny ayarlarını geçersiz kılmaz.
- Elevated,
host=autoüzerinden keyfi çapraz ana makine geçersiz kılmaları vermez; normal exec hedef kurallarını izler ve yalnızca yapılandırılmış/oturum hedefi zatennodeisenodedeğerini korur. /exec, elevated’dan ayrıdır. Yalnızca yetkili göndericiler için oturum başına exec varsayılanlarını ayarlar.
- Etkinleştirme:
tools.elevated.enabled(ve isteğe bağlı olarakagents.list[].tools.elevated.enabled) - Gönderici allowlist’leri:
tools.elevated.allowFrom.<provider>(ve isteğe bağlı olarakagents.list[].tools.elevated.allowFrom.<provider>)
Yaygın “sandbox hapishanesi” düzeltmeleri
”Tool X blocked by sandbox tool policy”
Düzeltme anahtarları (birini seçin):- Sandbox’ı devre dışı bırakın:
agents.defaults.sandbox.mode=off(veya agent başınaagents.list[].sandbox.mode=off) - Araca sandbox içinde izin verin:
- onu
tools.sandbox.tools.denyiçinden kaldırın (veya agent başınaagents.list[].tools.sandbox.tools.deny) - veya
tools.sandbox.tools.allowiçine ekleyin (veya agent başına allow)
- onu
“Bunun ana olduğunu sanıyordum, neden sandbox içinde?”
"non-main" modunda grup/kanal anahtarları ana değildir. Ana oturum anahtarını kullanın (sandbox explain bunu gösterir) veya modu "off" olarak değiştirin.
Ayrıca bkz.
- Sandboxing — tam sandbox başvurusu (modlar, kapsamlar, arka uçlar, imajlar)
- Multi-Agent Sandbox & Tools — agent başına geçersiz kılmalar ve öncelik
- Elevated Mode