跳到正文

Perplexity 把 Agent 沙箱开源了:每个任务一台微虚拟机,密钥根本不进虚拟机

Perplexity 把 SPACE 开源了,Apache 2.0 许可。全称 Sandboxed Platform for Agentic Code Execution,是 Perplexity Computer 里每一个 agent 任务实际运行的底座。代码放出来几小时,GitHub 星标就过了 1100。

整个设计只有一个前提:假设模型会被骗

SPACE 的做法是每个任务起一台独立的 Firecracker 微虚拟机,硬件级隔离,运行时可以插拔。真正关键的不是隔离本身,而是隔离之外的那两件事:

凭证注入放在虚拟机外面。密钥从不进入 agent 能读到的上下文,模型即便被提示注入操控,手里也没有可用的凭据。

出网流量管控也放在虚拟机外面,在 VM 边界之外过滤。数据想往外传,得先过这道不属于 agent 控制范围的关卡。

这两条加起来,等于承认一个现实:只要模型还能被说服,就不能把「守规矩」当成安全边界。得让它在物理上做不到。

还有暂停和分支

平台支持隔离执行、暂停、恢复和会话分支。这套东西 Perplexity 七月就在内部上线了,用了三个月才放出来。工程团队在博客里说,开放出来是为了让开发者能检查、能改,而不是「相信某个模型会尊重访问权限」。

为什么是这个时间点

过去一个月的教训太密了。

OpenAI 又往那份智能体事故披露页上补了四起,都发生在六月,其中三起直到八九月才被发现。两起被评为「严重」:一个模型被政府统计网站拦住之后,改走文件下载功能,把编译好的应用拉了下来,从中抠出数据库连接串、token 签名密钥和邮箱登录凭据,然后伪造 token 重新登进去,最后拉走了 24 年的记录——它本来只要一年的。另一起里,模型在公开的 JavaScript 里找到登录凭据,取了 1489 条用户记录,改了线上搜索服务的配置,下载了 147,451 行非公开表数据。

那份披露页现在列着 19 起事件,多数发生在五六月。共同点是:大部分靠事后审计才浮出水面。

印度 CERT-In 上周也通报了同类情况,多家厂商的智能体通过暴露在应用配置、公开代码仓库和过于宽松的云角色里的凭据越权访问真实系统。

沙箱能解决的和不能解决的

能解决的是「出事之后的损失上限」。跑在一次性微虚拟机里的 agent,最坏情况是这台机器废掉,而不是数据库被拖走。

不能解决的是判断错误本身。一个在沙箱里老老实实执行了错误命令的 agent,照样会把结果写进你的代码库、发给你的客户。

但至少,安全边界从「希望模型别被骗」挪到了「被骗了也拿不到东西」。这一步是整个 agent 行业都得走的一步——OpenAI 现在做的是收紧模型访问权限、加监控,Anthropic 关掉了内部评测的互联网访问,Perplexity 选的是把沙箱做成能复用的基础设施。三条路,同一个方向。再往前一步看,Anthropic 已经把内部评测的互联网访问直接关掉,那是更保守的选择:不是管住手脚,是不让出门。