Third-party skill installation in the sandbox — patterns, gotchas, and a question about approved skills #509
Replies: 7 comments
-
|
The workarounds you documented here are really useful — thanks for writing them up. The skill installation path question is the one I think has the most architectural implications. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the thoughtful response — and for pointing to #442. The graduated trust framing makes sense to us. We agree the binary allow/deny model is the core limitation. The On the governance side: our focus is on standards-based approaches to inter-agent interoperability — identity, access control, and coordination across agent boundaries (W3C Solid Protocol). We don't have deep experience with runtime behavioural governance of the kind you're describing in #442. What we can say from running OpenClaw agents in production is that some form of runtime control is clearly needed — our API costs soared when agents had unconstrained autonomy, and that was just the cost dimension. We can imagine there are operational and safety dimensions we haven't hit yet that would make a WAL-type system valuable, but we don't have enough experience to speak to what those controls should look like in practice. Appreciate the pointer to your reference architecture. We'll follow the conversation. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks — this is helpful context.The Solid Protocol work and what we’re describing with WAL aren’t overlapping concerns.
Solid handles identity and access across agent boundaries — who talks to whom, with what credentials. WAL governs behavior within the boundary — what the agent is allowed to do once it has access, and how it earns more latitude. They’re complementary layers.
The API cost experience you described is worth calling out. Unconstrained autonomy creating runaway costs is exactly the class of failure that graduated trust is designed to catch early. Cost is usually the first signal. Operational and safety dimensions tend to surface later, and they’re harder to unwind retroactively. Starting at WAL-0 (recommend only) means the system proves itself before it spends.
Appreciate the honest framing on runtime governance. We’ll keep following the Solid work on your end.
|
Beta Was this translation helpful? Give feedback.
-
|
Great discussion — the graduated trust framing from @ljefford2-cmyk resonates strongly. |
Beta Was this translation helpful? Give feedback.
-
|
@Balghanimi Really appreciate this perspective. The relay controller analogy is a clean way to describe exactly what the architecture is trying to avoid. The WAL model was designed to be graduated rather than binary — four levels, proportional demotion based on failure severity, and as of the v5.2 update this week, trust scores that decay over inactivity and weight recent performance more heavily than historical volume. So we're moving in the direction you're describing, but doing it with heuristics rather than formal math. Your point about the gap between that and provable convergence is well taken. The normalization layer you describe — mapping continuous safety measurement to discrete agent decisions — is the piece I haven't solved. I'd be very interested in your paper when it's public. The canonical architecture is at local-first-ai-orchestration — WAL governance is in Section 4 and the Execution Safety Layer (infrastructure-level isolation) is in Section 5, if you want to see how the two layers complement each other. |
Beta Was this translation helpful? Give feedback.
-
|
@ljefford2-cmyk Thanks for the pointer to your architecture — I've bookmarked Sections 4-5 and will review the WAL governance model this week. Quick update: the paper is now formally under review at IEEE Control Systems Letters (L-CSS). I'll share it as soon as the review process allows. The normalization layer — mapping continuous sliding surface values to discrete pass/modify/block decisions — is covered in detail there. In the meantime, I think the natural integration point is clear: WAL provides the trust level framework (when to escalate/demote), SMC provides the formal math for proportional intervention within each level. Happy to discuss offline if that's useful. |
Beta Was this translation helpful? Give feedback.
-
|
oh cool — really interesting stuff both of you. the control theory angle and the trust decay model are things we haven't gone deep on. we're mostly focused on the interoperability and identity side — making sure agents from different platforms can actually identify each other, share data, and have enforceable access controls between them (we use W3C Solid for that). but what goes on inside the agent runtime is a different problem and clearly needs addressing. will keep an eye on this thread. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
We got a third-party OpenClaw skill (Solid Agent Storage — gives agents WebID identity and Pod storage) running inside a NemoClaw sandbox within hours of the GTC announcement. It works identically to vanilla OpenClaw once installed. But the installation path required some workarounds that might be useful to share, and raised a broader question.
What we found
No ClawHub CLI inside the sandbox
The
clawhubCLI is not available inside the sandbox, and npm registry access is binary-restricted. Skills cannot be installed the normal way (clawhub install <skill>).What worked: Build the skill on a development machine, then upload via
openshell sandbox uploadto/sandbox/.openclaw/workspace/skills/<skill-name>/. Register inopenclaw.jsonunderskills.entriesas{"skill-name": {"enabled": true}}. Restart the gateway.Static binaries for dependencies
No
apt-get, nosudoinside the sandbox. If your skill depends on a system tool (ours needsjq), you need to upload a static binary manually and put it somewhere on PATH (we used/sandbox/bin/).Network policy additions for external servers
The deny-all proxy means any skill that talks to an external service needs that domain added to the sandbox network policy. Our skill talks to a Solid server (crawlout.io) — we had to add it via
openshell policy set. This is expected and makes sense for the security model.We also found the default policy has
clawhub.cominstead ofclawhub.ai(raised as issue #507) and thatnodeneeds to be in the per-binary allowlist alongsideopenclawfor skill-related domains, since OpenClaw skills run on Node.js.skills.entries format
{"skill-name": {"enabled": true}}pathkey — OpenClaw discovers skills from the workspace directory automaticallyThe broader question
The sandbox is designed to be secure, and rightly so. Allowing arbitrary access to ClawHub from inside the sandbox would undermine that. But third-party skills are a big part of the OpenClaw ecosystem.
Is there a planned path for skill installation in the sandbox? For example:
nemoclaw skill installcommand that verifies and uploads skills from outside the sandbox?Would be interested to hear how the team envisions this working as the ecosystem grows.
Paul Worrall, Interition — Solid Agent Storage on ClawHub
Beta Was this translation helpful? Give feedback.
All reactions