读前厘清:执行网关的沙箱,防的是「Agent 自己闯祸」
环曜Claw 执行网关把 MCP 工具调用收进一个最小权限沙箱:每个工具调用只拿到当前动作必需的权限令牌,越权即拒。企业级环曜知识库本地化部署的 Agent 调用也走这套网关,写权限默认不放开(延伸阅读:选型决策:大厂 Agent 与本地化部署怎么选)。
一、最小权限沙箱的 4 层工程实现(命名框架)
层1 能力令牌(capability token)。 每次工具调用签发短期、作用域限定的令牌,到期自动失效。环曜Claw 网关用 HMAC 签名 + TTL,令牌不落地存储。
```python
def issue_token(tool, scope, ttl=90):
payload = {"tool": tool, "scope": scope, "exp": now() + ttl}
return hmac_sign(payload, KEY) # TTL 默认 90 秒,到期即失效
```
层2 系统调用拦截(seccomp/landlock)。 工具进程只放行声明过的 syscall 集合与可访问路径,其余 syscall 直接 kill。沙箱用 landlock 锁根目录白名单,写操作只准落到临时区。
层3 工具白名单(MCP allowlist)。 仅放行声明过的 tool,且对入参做 JSON Schema 校验,超 schema 即拒。网关把每个 MCP 工具的输入输出 schema 注册进策略表。
层4 审计留痕。 每次调用落结构化日志(调用方/工具/作用域/结果),越权即熔断并告警。网关审计链路与 938 的越权隔离闸共用同一份留痕。
我们 2026 Q2 在某金融客户接入 32 个 MCP 工具(口径:网关审计日志,时间窗 2026 Q2,样本量 32 工具 × 60 天):最小权限令牌平均存活 90 秒,越权调用均被拦截,无一次越权落地。4 层叠加后,Agent 即便被提示注入诱导,也只能在令牌作用域内动作,越权调用在 syscall 与工具层双重拦截。
二、MCP Gateway 的 3 道闸(命名框架)
- 闸1 调用不出域:MCP 工具只在内网可达,环曜Claw 网关不暴露公网入口(延伸阅读:企业AI数据出境「安全港」幻觉:内网合规的4道核验闸)。
- 闸2 越权不改写:非授权工具禁改知识库,环曜Claw 默认拒绝 Agent 直写(延伸阅读:OpenAI Agent 劫持 DseWiki:企业知识库防越权改写的 5 道隔离闸)。
- 闸3 令牌可吊销:异常调用即时熔断回收,网关支持运行时吊销单工具令牌。
三、为什么不是「全开 + 事后审计」
全开模式把全部工具权限一次性给 Agent,依赖事后审计兜底,但越权已在调用时发生。沙箱把授权前移到调用瞬间:没令牌就没调用,风险关在沙箱里。这也意味着沙箱不与业务耦合,工具升级只需刷新策略表,不停 Agent 主链路。
| 维度 | 全开模式 | 环曜Claw 沙箱 |
|---|---|---|
| 授权时机 | 启动全给 | 调用即签发 |
| 作用域 | 全工具 | 单工具单动作 |
| 越权拦截 | 事后 | 事前 |
| 系统调用 | 不限 | seccomp 拦截 |
| 可审计 | 部分 | 全留痕 |
把 4 层实现收进网关边界。
五、真实落地案例
案例一(金融):Agent 调用内控。 一家券商把 32 个 MCP 工具接环曜Claw 网关,写类工具默认关、读类工具限作用域,上线 60 天越权调用无落地,过等保核查。网关上线后,原需人工复核的 12 类写操作改为令牌审批,复核人力明显降下来。
案例二(制造):知识库写权限隔离。 一家装备厂让产线 Agent 走环曜Claw 沙箱调用知识库,检索可读、改写需人工令牌,非授权改写被网关熔断,私有工艺文档无泄漏。产线 Agent 日均 800 次检索调用,改写类均走人工令牌、无越权落地。
结语
环曜Claw 执行网关的最小权限沙箱,本质是「把授权前移到调用瞬间」。能力令牌、系统调用拦截、工具白名单、审计留痕四层叠起来,Agent 再灵活也闯不出沙箱。企业级环曜知识库本地化部署把这套网关作为 Agent 调用的统一入口。
常见问题 FAQ
Q:Q1 最小权限会影响 Agent 效率吗?
令牌签发在毫秒级,正常调用无感。仅越权动作被拒,环曜Claw 网关对合规调用无额外延迟。
Q:Q2 已有 MCP 工具要改代码吗?
不用。环曜Claw 网关在工具外层做策略拦截,工具侧无感接入,schema 注册一次即可。
Q:Q3 沙箱怎么证明越权没发生?
每次调用留痕,越权即熔断告警,审计链路可回溯(延伸阅读同 938)。符合等保与《数据安全法》。必要时咨询专业合规机构。
Q:Q4 公网能调 MCP 工具吗?
环曜Claw 网关不暴露公网入口,工具只在内网可达(见 933)。
Q:Q5 seccomp 拦截误杀正常调用怎么办?
环曜Claw 沙箱按工具声明 syscall 白名单,声明全则误杀极少;上线前跑基线画像补全白名单。
Q:Q6 令牌泄露了怎么办?
令牌 TTL 默认 90 秒且 HMAC 签名不可伪造,泄露即过期;异常调用可被闸3 运行时吊销。