Sandbox vs Tool Policy vs Elevated¶
OpenClaw میں تین باہم متعلق (لیکن مختلف) کنٹرولز ہیں:
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) یہ طے کرتا ہے کہ ٹولز کہاں چلتے ہیں (Docker بمقابلہ ہوسٹ)۔ - Tool policy (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) یہ طے کرتی ہے کہ کون سے ٹولز دستیاب/اجازت یافتہ ہیں۔ - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) ایک صرف-exec فرار راستہ ہے تاکہ سینڈباکس میں ہونے کے باوجود ہوسٹ پر چلایا جا سکے۔
فوری ڈیبگ¶
یہ دیکھنے کے لیے انسپیکٹر استعمال کریں کہ OpenClaw حقیقت میں کیا کر رہا ہے:
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
یہ پرنٹ کرتا ہے:
- مؤثر سینڈباکس موڈ/اسکوپ/ورک اسپیس رسائی
- آیا سیشن اس وقت سینڈباکس میں ہے یا نہیں (مین بمقابلہ نان-مین)
- مؤثر سینڈباکس ٹول اجازت/ممانعت (اور یہ کہ آیا یہ ایجنٹ/گلوبل/ڈیفالٹ سے آیا ہے)
- ایلیویٹڈ گیٹس اور فکس-اِٹ کلید کے راستے
Sandbox: ٹولز کہاں چلتے ہیں¶
Sandboxing کو agents.defaults.sandbox.mode کے ذریعے کنٹرول کیا جاتا ہے:
"off": ہر چیز ہوسٹ پر چلتی ہے۔"non-main": صرف نان-مین سیشنز سینڈباکس ہوتے ہیں (گروپس/چینلز میں عام “حیرت”)۔"all": ہر چیز سینڈباکس میں ہوتی ہے۔
مکمل میٹرکس (اسکوپ، ورک اسپیس ماؤنٹس، امیجز) کے لیے Sandboxing دیکھیں۔
Bind mounts (سکیورٹی فوری جانچ)¶
docker.bindsسینڈباکس فائل سسٹم کو چیر دیتا ہے: جو کچھ آپ ماؤنٹ کرتے ہیں وہ کنٹینر کے اندر آپ کے مقرر کردہ موڈ (:roیا:rw) کے ساتھ نظر آتا ہے۔- اگر آپ موڈ چھوڑ دیں تو ڈیفالٹ read-write ہوتا ہے؛ سورس/سیcrets کے لیے
:roکو ترجیح دیں۔ scope: "shared"فی-ایجنٹ بائنڈز کو نظر انداز کرتا ہے (صرف گلوبل بائنڈز لاگو ہوتے ہیں)۔/var/run/docker.sockکو بائنڈ کرنا عملی طور پر سینڈباکس کو ہوسٹ کنٹرول دے دیتا ہے؛ یہ صرف جان بوجھ کر کریں۔- ورک اسپیس رسائی (
workspaceAccess: "ro"/"rw") بائنڈ موڈز سے آزاد ہے۔
Tool policy: کون سے ٹولز موجود/قابلِ کال ہیں¶
دو سطحیں اہم ہیں:
- Tool profile:
tools.profileاورagents.list[].tools.profile(بنیادی اجازت فہرست) - Provider tool profile:
tools.byProvider[provider].profileاورagents.list[].tools.byProvider[provider].profile - Global/per-agent tool policy:
tools.allow/tools.denyاورagents.list[].tools.allow/agents.list[].tools.deny - Provider tool policy:
tools.byProvider[provider].allow/denyاورagents.list[].tools.byProvider[provider].allow/deny - Sandbox tool policy (صرف اس وقت لاگو ہوتی ہے جب سینڈباکس میں ہوں):
tools.sandbox.tools.allow/tools.sandbox.tools.denyاورagents.list[].tools.sandbox.tools.*
رولز آف تھمب:
denyہمیشہ غالب رہتا ہے۔- اگر
allowخالی نہ ہو تو باقی سب کو بلاک سمجھا جاتا ہے۔ - ٹول پالیسی حتمی رکاوٹ ہے:
/execکسی ممنوعہexecٹول کو اووررائیڈ نہیں کر سکتا۔ -
/execصرف مجاز بھیجنے والوں کے لیے سیشن ڈیفالٹس تبدیل کرتا ہے؛ یہ ٹول تک رسائی فراہم نہیں کرتا۔- Provider ٹول کیز یا تو
provider(مثلاًgoogle-antigravity) یاprovider/model(مثلاًopenai/gpt-5.2) قبول کرتی ہیں۔
Tool groups (مختصر نام)¶
ٹول پالیسیز (گلوبل، ایجنٹ، سینڈباکس) group:* اندراجات کی حمایت کرتی ہیں جو متعدد ٹولز میں پھیل جاتے ہیں:
{
tools: {
sandbox: {
tools: {
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
},
},
},
}
دستیاب گروپس:
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: تمام بلٹ اِن OpenClaw ٹولز (provider پلگ اِنز شامل نہیں)
Elevated: صرف exec کے لیے “ہوسٹ پر چلائیں”¶
Elevated اضافی ٹولز فراہم نہیں کرتا؛ یہ صرف exec کو متاثر کرتا ہے۔
- اگر آپ سینڈباکس میں ہیں تو
/elevated on(یاexecکے ساتھelevated: true) ہوسٹ پر چلتا ہے (منظوریاں پھر بھی لاگو ہو سکتی ہیں)۔ - سیشن کے لیے exec منظوریوں کو چھوڑنے کے لیے
/elevated fullاستعمال کریں۔ - اگر آپ پہلے ہی براہِ راست چل رہے ہیں تو Elevated عملی طور پر no-op ہے (پھر بھی گیٹڈ)۔
- Elevated Skill-اسکوپڈ نہیں ہے اور ٹول اجازت/ممانعت کو اووررائیڈ نہیں کرتا۔
-
/execelevated سے الگ ہے۔ 44. یہ صرف مجاز بھیجنے والوں کے لیے فی-سیشن exec ڈیفالٹس ایڈجسٹ کرتا ہے۔
گیٹس:
- فعال کرنا:
tools.elevated.enabled(اور اختیاری طور پرagents.list[].tools.elevated.enabled) -
- Sender allowlists:
tools.elevated.allowFrom.<provider>46.(اور اختیاری طور پرagents.list[].tools.elevated.allowFrom.<provider>47.)
- Sender allowlists:
دیکھیں Elevated Mode۔
عام “sandbox jail” کے حل¶
“Tool X sandbox tool policy کے ذریعے بلاک ہے”¶
فکس-اِٹ کیز (ایک منتخب کریں):
- سینڈباکس غیر فعال کریں:
agents.defaults.sandbox.mode=off(یا فی-ایجنٹagents.list[].sandbox.mode=off) - سینڈباکس کے اندر ٹول کی اجازت دیں:
- اسے
tools.sandbox.tools.denyسے ہٹا دیں (یا فی-ایجنٹagents.list[].tools.sandbox.tools.deny) - یا اسے
tools.sandbox.tools.allowمیں شامل کریں (یا فی-ایجنٹ allow)
“مجھے لگا یہ مین ہے، یہ سینڈباکس کیوں ہے؟”¶
"non-main"موڈ میں، group/channel کیز main نہیں ہوتیں۔ 49. مین سیشن کی استعمال کریں (جوsandbox explainکے ذریعے دکھائی جاتی ہے) یا موڈ کو"off"پر سوئچ کریں۔