被绕过的那一问
Agent 不再只回答问题。它会写代码、调工具、加载插件。真正棘手的部分不是让这些动作启动,而是代码跑起来之后还能做什么。权限系统回答的是「能不能跑」,却很少回答「跑起来之后能走多远」。
一个名为 Ephemora Cell 的开源项目就是冲着后面这个问题去的。按项目作者在开发者社区的发布说明,它是一个运行不可信负载的执行层,把 Agent 工具调用、MCP 工具、插件与代码解释器放进一个能力受限的 WASI 运行时里:访客只拿到被显式授予的能力,其余一律默认关闭。项目采用 Apache-2.0 许可,可从包仓库安装。
需要先说明一个命名细节:作者在开发者社区的发布与代码仓库写作 Ephemora Cell,部分聚合报道写作 Ephemera Cell,两者指同一项目。
它坐在栈下面,而不是替换栈
作者把 Cell 定位为执行原语,而不是 Agent 框架。它预设的调用流程是:Agent 选中一个工具,工具的代码作为 WebAssembly 模块在 Cell 内执行,返回一个有界结果。任何能编译到 WASI 或 WASM 的语言都可以充当访客,仓库的持续集成流程里跑了多套工具链。
这个定位决定了它的使用方式。它不接管规划、记忆或工具选择,只在「代码已经要被执行」这一层提供约束。对已经在用某种 Agent 框架的团队来说,这意味着它可以作为底层替换,而不要求重构上层。
八个攻击向量,两种边界
为了让安全主张可检验,作者把八个已记录的攻击原语分别跑在两种环境里:一个是常见的 python:3.12-slim 容器,另一个是 Ephemora Cell。这些原语覆盖 shell 执行、进程派生、套接字创建、宿主文件系统访问、符号链接式逃逸,以及 /proc、/sys、/dev 等特殊路径访问。
对比结果是:容器 0 个被阻断,Cell 8 个全部被阻断。按公开说明,默认情况下有十四个危险目录通过预打开拒绝规则被关闭。攻击脚本随仓库提供,任何人都可以复现。
但这里必须把两条限制写清楚。其一,这组数字是项目作者自测,虽然脚本公开可复现,仍属单方结论,尚无第三方复核。其二,作者本人明确表示,这是针对那几类向量的实测对比,不是通用安全保证:模块仍然可能在拿到的预算范围内做出不当行为,Cell 也不判断访客代码本身是否良性。
把「可计量」当成隔离的前提
性能主张的关键词是粒度。为每次工具调用冷启动一个容器成本很高,于是系统往往退回到粗粒度、偶发式的沙箱化。Cell 的做法是保持运行时温热、对每次调用做隔离。
按项目公布的基准:池化引擎在可信路径下的墙钟时间中位数为 0.46 毫秒,访客侧中位数 0.16 毫秒;默认的预算路径中位数为 0.92 毫秒,访客侧 0.60 毫秒;作为对照,Docker 的 python:3.12-slim 冷启动为 171 毫秒。作者据此给出了约 427 倍的冷启动差距,并强调这些数字与工作负载和机器相关,原始基准结果随代码一并发布。
有一个容易被忽略的细节:预算路径为了给每次运行单独施加限制,会强制使用单次运行的引擎,因此比池化路径慢约一倍。这恰好说明「可计量的隔离」不是免费的——想给每次调用记一份可核对的账,就要接受相应的开销。
预算本身通过配置对象设定,默认包括 2.0 秒的宿主侧 I/O 中介 CPU 时间,以及 64 兆字节的 I/O 预算;可信场景可以显式取消限制。
把执行元数据附在结果上
项目还附带一个无外部依赖的 MCP 标准输入输出服务,工具本身就是运行在同一边界内的 WebAssembly 模块。调用返回时可以携带执行元数据:消耗的燃料、耗时毫秒数、所适用的策略以及执行结果。也就是说,「它返回了什么」与「它在什么限制下返回的」被放在同一处。
每次运行都会生成一份执行记录,按 JCS 规范做规范化后用 ES256 签名。规范化的意义是让相同输入始终产出相同字节,从而让签名可复现;签名则让这份记录适合用于审计与合规场景。MCP 路径下的工具调用还带有确定性、燃料计量与 10 KB 输出上限。
为什么这条路值得看,又为什么还不能急着下结论
Agent 框架越来越多地执行模型写出来的代码,而隔离常常是最薄的一环:容器可能重到无法按次启动,普通解释器又往往带着远超任务所需的权限。基于能力的 WASM 执行提供的是一条中间路径——窄、可度量、便宜到可以每次调用都施加,而不是偶尔施加一次。把成本与策略数据附在每个结果上,也让执行变得可审计,这在工具调用链把信任决策层层叠加时尤其重要。
不过,这份说明的范围界定得相当克制:项目不声称解决提示注入,也不声称让模型变安全,只声称约束它们的代码能触达什么。对一个想被放到生产 Agent 底下的安全原语来说,真正的门槛在于验证。基准与攻击套件的结论目前来自作者一方,而作者邀请外部去跑脚本、尝试攻破沙箱,正是这类原语在被信任之前需要经历的检验。
该项目的第三方安全评估、在真实生产 Agent 栈中的集成案例、长期维护投入与版本路线,目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。