Sandbox ve Araç İlkesi ve Elevated
OpenClaw’un birbiriyle ilişkili olan (ama farklı) üç denetimi vardır:- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*), araçların nerede çalıştığına karar verir (Docker veya host). - Araç ilkesi (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*), hangi araçların kullanılabilir/izinli olduğuna karar verir. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*), sandbox içindeyken (gatewayvarsayılan olarak veya exec hedefinodeolarak yapılandırılmışsanode) sandbox dışında çalıştırmak için yalnızca exec’e özel bir kaçış kapağıdır.
Hızlı hata ayıklama
OpenClaw’un gerçekte ne yaptığını görmek için denetleyiciyi kullanın:- etkin sandbox modu/kapsamı/çalışma alanı erişimi
- oturumun şu anda sandbox içinde olup olmadığı (main ve non-main)
- etkin sandbox araç izin/engellemesi (ve bunun agent/global/default kaynağından gelip gelmediği)
- elevated kapıları ve düzeltme için anahtar yolları
Sandbox: araçların nerede çalıştığı
Sandboxing,agents.defaults.sandbox.mode ile denetlenir:
"off": her şey host üzerinde çalışır."non-main": yalnızca non-main oturumlar sandbox içindedir (gruplar/kanallar için yaygın “sürpriz”)."all": her şey sandbox içindedir.
Bind mount’lar (hızlı güvenlik kontrolü)
docker.binds, sandbox dosya sistemini deler: mount ettiğiniz her şey, belirlediğiniz kipte (:roveya:rw) kapsayıcı içinde görünür olur.- Kipi belirtmezseniz varsayılan okuma-yazmadır; kaynak kod/gizli veriler için
:rotercih edin. scope: "shared", agent başına bind’ları yok sayar (yalnızca global bind’lar uygulanır).- OpenClaw bind kaynaklarını iki kez doğrular: önce normalize edilmiş kaynak yolunda, sonra da en derin mevcut üst öğe üzerinden çözümledikten sonra yeniden. Symlink üst öğesi üzerinden kaçışlar, engellenmiş-yol veya izinli-kök denetimlerini atlatamaz.
- Var olmayan yaprak yollar yine de güvenli şekilde denetlenir.
/workspace/alias-out/new-file, symlink’lenmiş bir üst öğe üzerinden engellenmiş bir yola veya yapılandırılmış izinli köklerin dışına çözülüyorsa bind reddedilir. /var/run/docker.sockbağlamak, fiilen host denetimini sandbox’a verir; bunu yalnızca bilinçli olarak yapın.- Çalışma alanı erişimi (
workspaceAccess: "ro"/"rw"), bind kiplerinden bağımsızdır.
Araç ilkesi: hangi araçlar vardır/çağrılabilir
İki katman önemlidir:- Araç profili:
tools.profileveagents.list[].tools.profile(temel izin listesi) - Sağlayıcı araç profili:
tools.byProvider[provider].profileveagents.list[].tools.byProvider[provider].profile - Global/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ıprovider(ör.google-antigravity) veyaprovider/model(ör.openai/gpt-5.4) kabul eder.
Araç grupları (kısa yollar)
Araç ilkeleri (global, agent, sandbox), birden fazla araca açılangroup:* 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,video_generate,ttsgroup:openclaw: tüm yerleşik OpenClaw araçları (sağlayıcı plugin’leri hariç)
Elevated: yalnızca exec için “host üzerinde çalıştır”
Elevated, ek araçlar vermez; yalnızcaexec üzerinde etkisi vardır.
- Sandbox içindeyseniz,
/elevated on(veyaelevated: trueileexec) sandbox dışında çalıştırır (onaylar yine de geçerli olabilir). - Oturum için exec onaylarını atlamak üzere
/elevated fullkullanın. - Zaten doğrudan çalışıyorsanız elevated fiilen etkisizdir (yine de kapılar uygulanır).
- Elevated, skill kapsamlı değildir ve araç izin/engellemesini geçersiz kılmaz.
- Elevated,
host=autoiçinden keyfi çapraz-host geçersiz kılmaları vermez; normal exec hedef kurallarını izler ve yalnızca yapılandırılmış/oturum hedefi zatennodeisenode’u 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 izin listeleri:
tools.elevated.allowFrom.<provider>(ve isteğe bağlı olarakagents.list[].tools.elevated.allowFrom.<provider>)
Yaygın “sandbox jail” 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:
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)
“Bunun main olduğunu sanıyordum, neden sandbox içinde?”
"non-main" kipinde grup/kanal anahtarları main değildir. Main oturum anahtarını kullanın (sandbox explain tarafından gösterilir) veya kipi "off" olarak değiştirin.
Ayrıca bkz.
- Sandboxing — tam sandbox başvurusu (kipler, kapsamlar, arka uçlar, görseller)
- Multi-Agent Sandbox & Tools — agent başına geçersiz kılmalar ve öncelik
- Elevated Mode