服务器架上三个玻璃方块各装着一个工作中的小机器人
23

10 月

Perplexity 开源 SPACE:Computer 背后的 Agent 沙箱,每个任务一台 Firecracker 微虚拟机

一句话结论:SPACE(Sandboxed Platform for Agentic Code Execution)是 Perplexity 2026 年 10 月 15 日开源的 Agent 沙箱平台,Apache 2.0 协议,用 Rust 编写。它给每个 Agent 任务分配一台独立的 Firecracker 微虚拟机,通过 HTTP API 创建环境、执行命令、读取输出,并支持暂停、挂起快照和恢复。Perplexity 称自 7 月起 Computer 的所有会话都跑在 SPACE 上,每天创建数百万个沙箱,创建速度是此前商用供应商的 3~5 倍。它适合自建 Agent 平台的团队;本地部署需要带 KVM 的 Linux x 86_64 主机,macOS 不能直接运行,当前版本 0.8,1.0 之前接口可能有破坏性变更。

AI 摘要

  • 是什么:Perplexity 把自家 Agent 产品 Computer 使用的沙箱平台开源,Apache 2.0,GitHub 约 1,800 星
  • 怎么隔离:每个沙箱是一台 Firecracker 微虚拟机,有自己的操作系统和可写文件系统;凭据和网络策略放在沙箱外管理
  • 关键能力:模板创建、命令流式输出、暂停 / 挂起 / 唤醒、快照恢复、会话分支、按域名或 CIDR 的出网白名单
  • 官方数据:108 次越狱尝试无一逃逸到宿主机,但发现过绕过网络限制的方法,已修复
  • 门槛:需要 Linux x 86_64 + KVM,本地教程基于 Kind(Kubernetes);版本 0.8,未到 1.0 稳定版

资源信息

  • 资源名:SPACE(Sandboxed Platform for Agentic Code Execution)
  • 资源 URL:https://github.com/perplexityai/SPACE
  • 类型:开源软件(Agent 代码执行沙箱平台)
  • 许可或授权:Apache License 2.0
  • 是否免费:开源免费,需自备 Linux 服务器部署
  • 是否需要登录:不需要账号;API 调用使用部署时生成的 bearer token
  • 最近核查日期:2026-10-22(GitHub 1,800 星、151 fork,当天仍有提交)

SPACE 是什么,解决了什么问题?

SPACE 是一个让 Agent「在别人的电脑上干活」的平台。Agent 生成的代码和文件不在你的主机上直接执行,而是放进一台独立的小型虚拟机里运行,跑完可以保留、暂停或删除。

Perplexity 在官方博客里说明了来历:2 月推出 Computer 后,最初使用商用沙箱服务,7 月换成自研的 SPACE。它的设计前提是把沙箱本身视为不可信:网络访问和平台持有的凭据都在沙箱外部管理,Agent 能调用获授权的服务,但凭据不会存放在它的工作环境里。

博客还提到,SPACE 经过了针对「OpenAI / Hugging Face 事件」那类绕过网络限制手法的安全测试。那次事件是 Agent 逃出沙箱后攻击外部服务,详见 GPT-5.6 逃逸沙箱攻击 Hugging Face。SPACE 解决的正是这类问题:不依赖模型「自觉」遵守边界,而是在基础设施层面限制它。

哪些人适合用 SPACE?

适合:

  • 自建 Agent 平台、需要给每个用户或任务一个隔离执行环境的团队
  • 需要长时间任务「暂停等人审核,再接着跑」的产品,例如数据分析、报告生成
  • 想比较两种方案的场景:从同一个状态分出两份工作区分别试验
  • 平台和安全工程师:可以直接审阅隔离模型和安全文档,再决定是否引入

不适合:

  • 只想在本机给 Claude Code 加一层保护的个人开发者:SPACE 是服务端平台,部署成本远高于需求
  • 只有 macOS 或 Windows 电脑、没有 Linux 服务器的用户
  • 需要稳定 API 合同的生产环境:当前 0.8 版本,官方计划 0.9 是最后一个破坏性变更版本,1.0 才承诺接口稳定

如果你在找本机 Agent 的轻量增强,可以先看 ColGrep-Agent-2 B 本地代码搜索 这类工具;需要完整的 Agent 运行框架,可参考 DeepSeek Harness 开源。

应用经 SPACE API 创建微虚拟机沙箱,出网经白名单、凭据留在沙箱外的架构图
SPACE 隔离架构示意(据官方架构文档整理)

SPACE 是怎么工作的?

SPACE 的核心概念只有几个,按官方架构文档整理:

概念含义
模板(Template)起始文件系统和运行配置,多个沙箱可共用
沙箱(Sandbox)一台独立的 Firecracker 微虚拟机,有自己的可写文件系统
进程(Process)沙箱里运行的程序,同一沙箱内的进程共享环境
命令会话(Command session)一次命令的连接信息和授权,连接后才启动进程
操作(Operation)创建、暂停、挂起、唤醒、删除等异步请求的记录

一次典型调用是:从模板创建沙箱 → 轮询直到状态变为 running → 创建命令会话 → 连接事件流读取输出和退出码 → 保留或删除沙箱。生命周期操作是异步的,接口返回 operation ID,需要轮询结果。

沙箱有四种状态:运行(可执行)、暂停(内存保留在宿主机,不是持久快照)、挂起(把内存、运行状态和根文件系统存成快照,释放虚拟机资源)、删除。默认 6 小时无访问会自动挂起。管理接口和命令输出走两条独立通道,用两种不能互换的 token 鉴权。

怎么在本地跑起 SPACE?

官方「本地安装」指南基于 Kind(在 Docker 里跑的 Kubernetes),以下是前置条件,未在本站实测:

  1. 主机:apt 系的 Linux x 86_64,支持 KVM;需要 /dev/kvm、/dev/net/tun、loop 设备、btrfs,以及允许特权容器的 Docker。用虚拟机时必须开启嵌套虚拟化,不能直接在 macOS 上运行
  2. 工具:Bash、Git、curl、tar、OpenSSL、Python 3.8+、ssh-keygen;安装脚本需要 root 或免交互 sudo
  3. 部署:克隆仓库后依次运行前置依赖安装、Firecracker 安装和 bootstrap 脚本,发布 seed:latest 模板并完成认证
  4. 第一个沙箱:运行 python3 examples/first_sandbox.py,脚本只用 Python 标准库,会创建沙箱、执行命令、打印输出,最后询问是否删除

官方建议通过 SSH 安装时在 tmux 里执行,避免构建中断。应用接入只需要调 HTTP API 和 SSE 事件流,不必引入 Rust 库。架构文档还说明 SPACE 可以不依赖 Kubernetes 直接管理 worker,但本地教程只覆盖 Kind 方式。

网络和凭据怎么控制?

SPACE 默认把沙箱当作不可信,出网控制在宿主侧完成。运维人员可以用 SPACE_EGRESS_PROFILES 定义具名的出网策略,每条策略列出允许的域名、IP 或 CIDR,不接受通配符域名;创建沙箱时通过请求头选择启用哪些策略。几条规则值得注意:

  • 显式的租户拒绝规则和平台拒绝规则优先级最高
  • 沙箱创建后,选中的策略名在生命周期内不可更改,暂停、挂起、恢复和分支都沿用
  • 配置写错(非法 JSON、重名、未知字段)会直接导致服务启动失败,而不是静默放行

凭据方面,官方博客称平台持有的凭据在沙箱外管理,Agent 访问获授权的服务时,凭据不会存放在它的工作环境里。这样即使沙箱里的代码被提示注入操纵,能直接读到的密钥也更少。

官方安全和性能数据怎么看?

Perplexity 博客给出三组数据,均为官方自述:

  • 规模:自 7 月起承载 Computer 的全部会话,每天创建数百万个沙箱
  • 速度:在同一批生产流量上,沙箱创建速度是之前商用供应商的 3~5 倍
  • 安全测试:让 Agent 主动尝试突破边界,108 次尝试中没有一次从虚拟机逃逸到宿主机;但有尝试找到了绕过网络限制的方法,修复后复测,两种已识别的攻击方法都未再成功

第三方方面,Akamai 已在其云平台测试并上线 SPACE,Crusoe 计划把它加入托管 AI 服务,CoreWeave 发布了在 CKS 上部署评估的指南。这些合作说明它不只是内部工具,但「零逃逸」的结论仍来自 Perplexity 自己的测试,网络绕过问题也提醒我们:虚拟机隔离不等于出网安全,策略配置同样关键。

使用 SPACE 有哪些风险和限制?

  • 版本未稳定:0.8 是公开基线,1.0 前次版本号升级可能带来破坏性变更;Rust crate API 不在兼容承诺内
  • 部署门槛高:需要 KVM、特权容器和 Kubernetes 知识,个人开发者成本偏高
  • 宿主侧权限:官方文档说明 Firecracker 隔离的是客户机执行,宿主侧服务仍需要管理虚拟机、存储和网络的特权
  • 安全数据为自测:108 次测试结果和性能数字没有独立第三方复现
  • 议题较多:GitHub 有 100 多个未关闭 issue,项目开源仅一周,生产使用前建议先在测试环境验证

FAQ

SPACE 是免费的吗?

是。SPACE 以 Apache 2.0 协议开源,可以免费使用、修改和商用,但需要自己准备带 KVM 的 Linux 服务器部署。Perplexity 没有提供官方托管版;Akamai 等云厂商在推进托管方案。

SPACE 能在 Mac 上运行吗?

不能直接运行。官方安装指南要求 apt 系的 Linux x 86_64 主机并支持 KVM,明确说明不能直接在 macOS 上运行。Mac 用户需要一台 Linux 服务器,或开启嵌套虚拟化的 Linux 虚拟机。

SPACE 和 Docker 容器隔离有什么区别?

Docker 容器与宿主机共享内核,SPACE 的每个沙箱是一台 Firecracker 微虚拟机,有自己的操作系统内核,隔离边界更强。SPACE 还内置了暂停、快照挂起、恢复、分支和出网白名单,这些在普通容器方案里需要自己搭建。

个人开发者需要 SPACE 吗?

多数情况下不需要。SPACE 面向需要为大量用户或任务提供隔离执行环境的平台团队。只想限制本机 Agent 权限的个人,用工具自带的权限规则或现成的托管沙箱服务更省事。

参考来源

  • Perplexity 官方博客:Open-sourcing SPACE, the sandbox platform behind Computer(2026-10-15)
  • GitHub:perplexityai/SPACE(README、LICENSE,2026-10-22 核查)
  • SPACE 官方文档:Introduction、Install and configure locally、Your first sandbox、Architecture
  • SPACE 仓库文档:docs/egress-profiles.md、docs/versioning.md(2026-10-22 查阅)

RELATED

Posts