capabilities.json 中显式声明。
对于需要强隔离的自定义集成,这是 IronClaw 推荐方案。
工作流程
沙箱机制
Fuel 计量
每条 WASM 指令都会消耗 fuel,耗尽即终止,防止死循环。内存限制
模块使用固定线性内存,超限会 trap 并终止。速率限制
每个工具可配置独立限流:capabilities.json
每个 WASM 工具都需与.wasm 放在同目录,并包含 capabilities.json:
网络白名单
network.allowed_hosts 决定允许访问的域名。未命中白名单的请求会在建立连接前被拒绝。
文件系统访问
默认无主机文件系统权限,filesystem.read/filesystem.write 声明的路径才会挂载进沙箱。
凭据注入
凭据不会进入 WASM 内存。模块发出请求后,由代理在转发时注入 Header。宿主函数
工具发现与安装
启动时从以下目录发现工具:~/.ironclaw/tools/<workspace>/tools/
<toolname>.wasmcapabilities.json
安全说明
凭据注入是单向的
凭据注入是单向的
凭据仅由代理注入到出站请求,模块无法直接读取密钥存储。
无法派生系统进程
无法派生系统进程
模块不能执行 shell、fork 子进程或加载动态库。
Fuel 防止拒绝服务
Fuel 防止拒绝服务
无限循环会在 fuel 用尽时被强制终止。