Gateway
محیط ایزوله در برابر خطمشی ابزار در برابر دسترسی ارتقایافته
OpenClaw سه کنترل مرتبط اما متفاوت دارد:
- سندباکس (
agents.defaults.sandbox.*/agents.list[].sandbox.*) تعیین میکند ابزارها کجا اجرا شوند (بکاند سندباکس یا میزبان). - سیاست ابزار (
tools.*،tools.sandbox.tools.*،agents.list[].tools.*) تعیین میکند کدام ابزارها در دسترس/مجاز باشند. - حالت ارتقایافته (
tools.elevated.*،agents.list[].tools.elevated.*) یک راه گریز مختصexecبرای اجرای خارج از سندباکس در هنگام اجرای سندباکسی است (بهطور پیشفرضgateway، یا هنگامی که مقصد اجرایexecرویnodeتنظیم شده باشد،node).
اشکالزدایی سریع
برای دیدن اینکه OpenClaw در عمل چه میکند، از بازرس استفاده کنید:
openclaw sandbox explainopenclaw sandbox explain --session agent:main:mainopenclaw sandbox explain --agent workopenclaw sandbox explain --jsonاین فرمان موارد زیر را نمایش میدهد:
- حالت/دامنه/دسترسی مؤثر سندباکس به فضای کاری
- اینکه نشست در حال حاضر سندباکسی است یا نه (اصلی در برابر غیراصلی)
- مجوز/رد مؤثر ابزارهای سندباکس (و اینکه از عامل، تنظیم سراسری یا پیشفرض آمده است)
- دروازههای حالت ارتقایافته و مسیر کلیدهای اصلاح
سندباکس: ابزارها کجا اجرا میشوند
سندباکسسازی با agents.defaults.sandbox.mode کنترل میشود:
"off": همهچیز روی میزبان اجرا میشود."non-main": فقط نشستهای غیراصلی سندباکسی میشوند (غافلگیری رایج در گروهها/کانالها)."all": همهچیز سندباکسی میشود.
agents.defaults.sandbox.workspaceAccess تعیین میکند سندباکس چه چیزهایی را میتواند ببیند: "none"، "ro" یا "rw".
برای ماتریس کامل (دامنه، اتصالهای فضای کاری، تصویرها) به سندباکسسازی مراجعه کنید.
اتصالهای bind (بررسی سریع امنیتی)
docker.bindsاز سامانه فایل سندباکس عبور میکند: هرچه متصل کنید، با حالت تعیینشده (:roیا:rw) داخل کانتینر قابل مشاهده است.- اگر حالت را حذف کنید، پیشفرض خواندنونوشتن است؛ برای کد منبع/اسرار،
:roرا ترجیح دهید. scope: "shared"اتصالهای مختص هر عامل را نادیده میگیرد (فقط اتصالهای سراسری اعمال میشوند).- OpenClaw منابع اتصال را دو بار اعتبارسنجی میکند: نخست روی مسیر منبع نرمالشده و سپس دوباره پس از رفع مسیر از طریق عمیقترین جد موجود. گریز از طریق والد پیوند نمادین نمیتواند بررسی مسیرهای مسدود یا ریشههای مجاز را دور بزند.
- مسیرهای برگ ناموجود نیز بهطور ایمن بررسی میشوند. اگر
/workspace/alias-out/new-fileاز طریق یک والد دارای پیوند نمادین به مسیری مسدود یا خارج از ریشههای مجاز پیکربندیشده رفع شود، اتصال رد میشود. - اتصال
/var/run/docker.sockعملاً کنترل میزبان را به سندباکس واگذار میکند؛ این کار را فقط آگاهانه انجام دهید. - دسترسی به فضای کاری (
workspaceAccess) مستقل از حالتهای اتصال است.
سیاست ابزار: کدام ابزارها وجود دارند/قابل فراخوانی هستند
دو لایه اهمیت دارند:
- پروفایل ابزار:
tools.profileوagents.list[].tools.profile(فهرست مجاز پایه) - پروفایل ابزار ارائهدهنده:
tools.byProvider[provider].profileوagents.list[].tools.byProvider[provider].profile - سیاست ابزار سراسری/مختص عامل:
tools.allow/tools.denyوagents.list[].tools.allow/agents.list[].tools.deny - سیاست ابزار ارائهدهنده:
tools.byProvider[provider].allow/denyوagents.list[].tools.byProvider[provider].allow/deny - سیاست ابزار سندباکس (فقط هنگام اجرای سندباکسی اعمال میشود):
tools.sandbox.tools.allow/tools.sandbox.tools.denyوagents.list[].tools.sandbox.tools.*
قواعد کلی:
denyهمیشه اولویت دارد.- اگر
allowخالی نباشد، هر چیز دیگری مسدود تلقی میشود. - سیاست ابزار مانع قطعی است:
/execنمیتواند ممنوعیت ابزارexecرا نادیده بگیرد. - سیاست ابزار، دسترسپذیری ابزارها را بر اساس نام پالایش میکند؛ اثرات جانبی داخل
execرا بررسی نمیکند. اگرexecمجاز باشد، ممنوعکردنwrite،editیاapply_patchفرمانهای پوسته را فقطخواندنی نمیکند. /execفقط پیشفرضهای نشست را برای فرستندگان مجاز تغییر میدهد؛ دسترسی به ابزار اعطا نمیکند.- کلیدهای ابزار ارائهدهنده، هم
provider(برای مثالgoogle-antigravity) و همprovider/model(برای مثالopenai/gpt-5.4) را میپذیرند. - وقتی یکی از مراحل سیاست ابزار، ابزارهایی را حذف کند یا سیاست ابزار سندباکس فراخوانیای را مسدود کند، گزارشهای Gateway شامل ورودیهای ممیزی
agents/tool-policyمیشوند. برای دیدن برچسب قاعده، کلید پیکربندی و نام ابزارهای تحتتأثیر، ازopenclaw logsاستفاده کنید.
گروههای ابزار (میانبرها)
سیاستهای ابزار (سراسری، عامل، سندباکس) از ورودیهای group:* پشتیبانی میکنند که به چند ابزار گسترش مییابند:
{ tools: { sandbox: { tools: { allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"], }, }, },}گروههای موجود:
| گروه | ابزارها |
|---|---|
group:runtime |
exec، process، code_execution (bash بهعنوان نام مستعار exec پذیرفته میشود) |
group:fs |
read، write، edit، apply_patch |
group:sessions |
sessions_list، sessions_history، sessions_send، sessions_spawn، sessions_yield، subagents، session_status |
group:memory |
memory_search، memory_get |
group:web |
web_search، x_search، web_fetch |
group:ui |
browser، canvas |
group:automation |
heartbeat_respond، cron، gateway |
group:messaging |
message |
group:nodes |
nodes، computer |
group:agents |
agents_list، get_goal، create_goal، update_goal، update_plan، skill_workshop |
group:media |
image، image_generate، music_generate، video_generate، tts |
group:openclaw |
بیشتر ابزارهای داخلی OpenClaw (بهجز ابزارهای ابتدایی سامانه فایل و زمان اجرا یعنی read/write/edit/apply_patch/exec/process، همچنین canvas و Pluginهای ارائهدهنده) |
group:plugins |
همه ابزارهای متعلق به Pluginهای بارگذاریشده، از جمله سرورهای MCP پیکربندیشده که از طریق bundle-mcp ارائه میشوند |
برای عاملهای فقطخواندنی، علاوه بر ابزارهای تغییردهنده سامانه فایل، group:runtime را نیز ممنوع کنید؛ مگر اینکه سیاست سامانه فایل سندباکس یا مرز میزبان جداگانهای محدودیت فقطخواندنی را اعمال کند.
برای سرورهای MCP سندباکسی، سیاست ابزار سندباکس یک دروازه مجوز دوم است. اگر mcp.servers پیکربندی شده است اما نوبتهای سندباکسی فقط ابزارهای داخلی را نشان میدهند، bundle-mcp، group:plugins یا نام/الگوی سراسری ابزار MCP با پیشوند سرور، مانند outlook__send_mail یا outlook__* را به tools.sandbox.tools.alsoAllow اضافه کنید؛ سپس Gateway را راهاندازی مجدد/بازبارگذاری کنید و فهرست ابزارها را دوباره ثبت کنید. الگوهای سراسری سرور از پیشوند سرور MCP ایمن برای ارائهدهنده استفاده میکنند: نویسههای غیر از [A-Za-z0-9_-] به - تبدیل میشوند، نامهایی که با حرف شروع نمیشوند پیشوند mcp- میگیرند و پیشوندهای طولانی یا تکراری ممکن است کوتاه شوند یا پسوند بگیرند.
openclaw doctor در حال حاضر این ساختار را برای سرورهای مدیریتشده توسط OpenClaw در mcp.servers بررسی میکند. سرورهای MCP بارگذاریشده از مانیفستهای Plugin همراه یا فایل .mcp.json مربوط به Claude از همان دروازه سندباکس استفاده میکنند، اما این ابزار تشخیصی هنوز آن منابع را فهرست نمیکند؛ اگر ابزارهایشان در نوبتهای سندباکسی ناپدید شدند، از همان ورودیهای فهرست مجاز استفاده کنید.
حالت ارتقایافته: «اجرا روی میزبان» مختص exec
حالت ارتقایافته ابزارهای بیشتری اعطا نمیکند؛ فقط بر exec اثر میگذارد.
- اگر در سندباکس هستید،
/elevated on(یاexecباelevated: true) خارج از سندباکس اجرا میشود (ممکن است همچنان تأیید لازم باشد). - برای ردکردن تأییدهای
execدر نشست، از/elevated fullاستفاده کنید. - اگر از قبل بهطور مستقیم اجرا میکنید، حالت ارتقایافته عملاً بیاثر است (اما همچنان مشمول دروازههاست).
- حالت ارتقایافته به Skills محدود نیست و مجوز/رد ابزار را نادیده نمیگیرد.
- حالت ارتقایافته از
host=autoامکان نادیدهگرفتن دلخواه میزبانهای دیگر را نمیدهد؛ از قواعد عادی مقصد اجرایexecپیروی میکند و فقط زمانیnodeرا حفظ میکند که مقصد پیکربندیشده/نشست از قبلnodeباشد. /execاز حالت ارتقایافته جداست. این فرمان فقط پیشفرضهایexecهر نشست را برای فرستندگان مجاز تنظیم میکند.
دروازهها:
- فعالسازی:
tools.elevated.enabled(و در صورت نیازagents.list[].tools.elevated.enabled) - فهرستهای مجاز فرستندگان:
tools.elevated.allowFrom.<provider>(و در صورت نیازagents.list[].tools.elevated.allowFrom.<provider>)
به حالت ارتقایافته مراجعه کنید.
رفع مشکلات رایج «حبس سندباکس»
«ابزار X توسط سیاست ابزار سندباکس مسدود شده است»
کلیدهای اصلاح (یکی را انتخاب کنید):
- سندباکس را غیرفعال کنید:
agents.defaults.sandbox.mode=off(یا برای هر عاملagents.list[].sandbox.mode=off) - ابزار را داخل سندباکس مجاز کنید:
- آن را از
tools.sandbox.tools.denyحذف کنید (یا برای هر عامل ازagents.list[].tools.sandbox.tools.deny) - یا آن را به
tools.sandbox.tools.allowاضافه کنید (یا فهرست مجاز مختص عامل)
- آن را از
- در
openclaw logsورودیagents/tool-policyرا بررسی کنید. این ورودی حالت سندباکس و اینکه قاعده مجوز یا رد ابزار را مسدود کرده است ثبت میکند.
«فکر میکردم این نشست اصلی است؛ چرا سندباکسی شده است؟»
در حالت "non-main"، کلیدهای گروه/کانال، اصلی نیستند. از کلید نشست اصلی (نمایشدادهشده توسط sandbox explain) استفاده کنید یا حالت را به "off" تغییر دهید.
مرتبط
- سندباکسسازی -- مرجع کامل سندباکس (حالتها، دامنهها، بکاندها، تصویرها)
- سندباکس و ابزارهای چندعاملی -- بازنویسیهای مختص عامل و اولویت
- حالت ارتقایافته