सैंडबॉक्सिंग
बैकएंड और मोड — पूरा सैंडबॉक्स संदर्भ।
सैंडबॉक्स बनाम टूल नीति बनाम उन्नत
डिबग करें कि “यह क्यों ब्लॉक है?”
उन्नत मोड
विश्वसनीय प्रेषकों के लिए उन्नत exec।
कॉन्फ़िगरेशन उदाहरण
उदाहरण 1: व्यक्तिगत + प्रतिबंधित पारिवारिक एजेंट
उदाहरण 1: व्यक्तिगत + प्रतिबंधित पारिवारिक एजेंट
mainएजेंट: होस्ट पर चलता है, पूरा टूल एक्सेस।familyएजेंट: Docker में चलता है (प्रति एजेंट एक container), केवलreadऔर मौजूदा-बातचीत वाले संदेश भेजना।
उदाहरण 2: साझा सैंडबॉक्स वाला कार्य एजेंट
उदाहरण 2: साझा सैंडबॉक्स वाला कार्य एजेंट
उदाहरण 2b: वैश्विक coding profile + केवल-संदेश एजेंट
उदाहरण 2b: वैश्विक coding profile + केवल-संदेश एजेंट
- डिफ़ॉल्ट एजेंटों को coding tools मिलते हैं।
supportएजेंट केवल-संदेश है (+ Slack tool)।
उदाहरण 3: प्रति एजेंट अलग-अलग सैंडबॉक्स मोड
उदाहरण 3: प्रति एजेंट अलग-अलग सैंडबॉक्स मोड
कॉन्फ़िगरेशन प्राथमिकता
जब वैश्विक (agents.defaults.*) और एजेंट-विशिष्ट (agents.list[].*) दोनों configs मौजूद हों:
सैंडबॉक्स config
एजेंट-विशिष्ट सेटिंग्स वैश्विक को ओवरराइड करती हैं:agents.list[].sandbox.{docker,browser,prune}.* उस एजेंट के लिए agents.defaults.sandbox.{docker,browser,prune}.* को ओवरराइड करता है (जब सैंडबॉक्स scope "shared" पर resolve होता है, तो इसे अनदेखा किया जाता है)।टूल प्रतिबंध
फ़िल्टरिंग क्रम यह है:प्रदाता टूल profile
tools.byProvider[provider].profile या agents.list[].tools.byProvider[provider].profile।प्राथमिकता नियम
प्राथमिकता नियम
- हर स्तर टूल्स को और प्रतिबंधित कर सकता है, लेकिन पहले के स्तरों से deny किए गए टूल्स को वापस grant नहीं कर सकता।
- यदि
agents.list[].tools.sandbox.toolsसेट है, तो यह उस एजेंट के लिएtools.sandbox.toolsको बदल देता है। - यदि
agents.list[].tools.profileसेट है, तो यह उस एजेंट के लिएtools.profileको ओवरराइड करता है। - प्रदाता टूल keys या तो
provider(जैसेgoogle-antigravity) याprovider/model(जैसेopenai/gpt-5.4) स्वीकार करती हैं।
खाली अनुमति-सूची व्यवहार
खाली अनुमति-सूची व्यवहार
यदि उस chain में कोई भी स्पष्ट अनुमति-सूची run को बिना callable tools के छोड़ देती है, तो OpenClaw prompt को model पर सबमिट करने से पहले रुक जाता है। यह जानबूझकर है:
agents.list[].tools.allow: ["query_db"] जैसे missing tool के साथ configure किया गया एजेंट तब तक स्पष्ट रूप से fail होना चाहिए जब तक query_db register करने वाला Plugin enabled न हो, न कि text-only एजेंट के रूप में जारी रहे।group:* shorthands का समर्थन करती हैं, जो कई टूल्स में expand होते हैं। पूरी सूची के लिए टूल groups देखें।
प्रति-एजेंट उन्नत overrides (agents.list[].tools.elevated) specific agents के लिए उन्नत exec को और प्रतिबंधित कर सकते हैं। विवरण के लिए उन्नत मोड देखें।
एकल एजेंट से माइग्रेशन
- Before (single agent)
- After (multi-agent)
पुराने
agent.* कॉन्फ़िगरेशन openclaw doctor द्वारा माइग्रेट किए जाते हैं; आगे के लिए agents.defaults + agents.list को प्राथमिकता दें।टूल प्रतिबंध उदाहरण
- Read-only agent
- Shell execution with filesystem tools disabled
- Communication-only
सामान्य गलती: “non-main”
परीक्षण
बहु-एजेंट sandbox और टूल कॉन्फ़िगर करने के बाद:Test tool restrictions
- ऐसा संदेश भेजें जिसके लिए प्रतिबंधित टूल चाहिए।
- सत्यापित करें कि एजेंट अस्वीकृत टूल का उपयोग नहीं कर सकता।
समस्या निवारण
Agent not sandboxed despite `mode: 'all'`
Agent not sandboxed despite `mode: 'all'`
- जाँचें कि कहीं कोई वैश्विक
agents.defaults.sandbox.modeतो नहीं है जो इसे ओवरराइड कर रहा है। - एजेंट-विशिष्ट कॉन्फ़िगरेशन को प्राथमिकता मिलती है, इसलिए
agents.list[].sandbox.mode: "all"सेट करें।
Tools still available despite deny list
Tools still available despite deny list
- टूल फ़िल्टरिंग क्रम जाँचें: वैश्विक → एजेंट → sandbox → उप-एजेंट।
- प्रत्येक स्तर केवल और प्रतिबंधित कर सकता है, अनुमति वापस नहीं दे सकता।
- लॉग से सत्यापित करें:
[tools] filtering tools for agent:${agentId}।
Container not isolated per agent
Container not isolated per agent
- एजेंट-विशिष्ट sandbox कॉन्फ़िगरेशन में
scope: "agent"सेट करें। - डिफ़ॉल्ट
"session"है, जो प्रति सत्र एक कंटेनर बनाता है।
संबंधित
- Elevated मोड
- Multi-agent रूटिंग
- Sandbox कॉन्फ़िगरेशन
- Sandbox बनाम टूल नीति बनाम elevated — डिबगिंग: “यह अवरुद्ध क्यों है?”
- Sandboxing — पूरा sandbox संदर्भ (मोड, स्कोप, बैकएंड, इमेज)
- सेशन प्रबंधन