Sandbox vs Tool Policy vs Elevated
OpenClaw’da birbiriyle ilişkili (ancak farklı) üç denetim vardır:- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) araçların nerede çalıştığını belirler (Docker vs host). - Tool policy (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) hangi araçların mevcut/izinli olduğunu belirler. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) sandbox içindeyken host üzerinde çalıştırmak için yalnızca exec’e özel bir kaçış kapısıdır.
Hızlı hata ayıklama
OpenClaw’ın gerçekte ne yaptığını görmek için inspector’ı kullanın:- etkin sandbox modu/kapsamı/çalışma alanı erişimi
- oturumun şu anda sandbox’ta olup olmadığı (main vs non-main)
- etkin sandbox araç izin/verme durumu (ve bunun agent/global/default kaynaklı olup olmadığı)
- elevated kapıları ve düzeltme anahtar yolları
Sandbox: araçların nerede çalıştığı
Sandboxing,agents.defaults.sandbox.mode ile kontrol edilir:
"off": her şey host üzerinde çalışır."non-main": yalnızca non-main oturumlar sandbox’tadır (gruplar/kanallar için yaygın “sürpriz”)."all": her şey sandbox’tadır.
Bind mount’lar (güvenlik hızlı kontrolü)
docker.bindssandbox dosya sistemini deler: bağladığınız her şey, ayarladığınız kip ile konteyner içinde görünür (:roveya:rw).- Kipi belirtmezseniz varsayılan okuma-yazmadır; kaynaklar/gizli bilgiler için
:rotercih edin. scope: "shared"agent başına bağlamaları yok sayar (yalnızca global bağlamalar geçerlidir)./var/run/docker.sockbağlamak, fiilen host denetimini sandbox’a vermek demektir; bunu yalnızca bilinçli olarak yapın.- Çalışma alanı erişimi (
workspaceAccess: "ro"/"rw") bağlama kiplerinden bağımsızdır.
Tool policy: hangi araçların var olduğu/çağrılabildiği
İki katman önemlidir:- Tool profile:
tools.profileveagents.list[].tools.profile(temel izin listesi) - Provider tool profile:
tools.byProvider[provider].profileveagents.list[].tools.byProvider[provider].profile - Global/agent başına tool policy:
tools.allow/tools.denyveagents.list[].tools.allow/agents.list[].tools.deny - Provider tool policy:
tools.byProvider[provider].allow/denyveagents.list[].tools.byProvider[provider].allow/deny - Sandbox tool policy (yalnızca sandbox’tayken geçerlidir):
tools.sandbox.tools.allow/tools.sandbox.tools.denyveagents.list[].tools.sandbox.tools.*
denyher zaman kazanır.allowboş değilse, diğer her şey engellenmiş sayılır.- Tool policy kesin engeldir:
/exec, reddedilmiş birexecaracını geçersiz kılamaz. /execyalnızca yetkili gönderenler için oturum varsayılanlarını değiştirir; araç erişimi vermez. Provider tool anahtarlarıprovider(örn.google-antigravity) veyaprovider/model(örn.openai/gpt-5.2) kabul eder.
Tool grupları (kısayollar)
Tool policy’ler (global, agent, sandbox) birden çok araca genişleyengroup:* girdilerini destekler:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: tüm yerleşik OpenClaw araçları (provider eklentileri hariç)
Elevated: exec-only “host üzerinde çalıştır”
Elevated ek araçlar vermez; yalnızcaexec’ü etkiler.
- Sandbox’taysanız,
/elevated on(veyaexecileelevated: true) host üzerinde çalışı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 kapılıdır).
- Elevated skill kapsamlı değildir ve tool izin/verme kurallarını geçersiz kılmaz.
/exec, elevated’dan ayrıdır. Yalnızca yetkili gönderenler için oturum başına exec varsayılanlarını ayarlar.
- Etkinleştirme:
tools.elevated.enabled(ve isteğe bağlıagents.list[].tools.elevated.enabled) - Gönderen izin listeleri:
tools.elevated.allowFrom.<provider>(ve isteğe bağlıagents.list[].tools.elevated.allowFrom.<provider>)
Yaygın “sandbox jail” çözümleri
“Tool X sandbox tool policy tarafından engellendi”
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) - Aracı sandbox içinde izinli yapın:
tools.sandbox.tools.deny’ten kaldırın (veya agent başınaagents.list[].tools.sandbox.tools.deny)- veya
tools.sandbox.tools.allow’e ekleyin (ya da agent başına izin verin)
“Bunun main olduğunu sanıyordum, neden sandbox’ta?”
"non-main" modunda, grup/kanal anahtarları main değildir. Ana oturum anahtarını ( sandbox explain tarafından gösterilir) kullanın veya modu "off" olarak değiştirin.