6.3 兆字节的「笼子」:Vercel fx 与一百万美元的逃逸赌局
> 当 coding agent 开始替你跑别人写的代码,问题就不再是「它写得好不好」,而是「它会不会把房子烧了」。Vercel 用一百万美元,公开悬赏谁能从这只笼子里逃出来。
🤖 为什么 coding agent 需要"笼子"
先讲清背景。今天的 AI coding agent(比如帮你看代码、改 bug、甚至跑脚本的助手),迟早要执行代码——可能是它自己生成的,也可能是用户上传的。这些代码默认是「不可信的」:也许是带后门的,也许想偷你服务器上的密钥。
所以 agent 必须在一个沙箱(sandbox)里跑代码:一个隔离的小房间,代码在里面折腾,碰不到外面的真机、碰不到别的用户数据。沙箱,就是 agent 时代的「保险箱」。
Vercel 这次干了两件事,恰好对应「笼子本身」和「笼子够不够牢」:
1. 开源了 fx——一个极小的 coding agent 运行底座 2. 挂出 $1,000,000 赏金——公开求人来「越狱」这个笼子
> 💡 费曼式注解:沙箱像给调皮小孩玩的围栏。fx 是把围栏造得又轻又稳;百万赏金是贴告示说「谁能让小孩翻出围栏,当场奖一万块」——用全世界的黑客帮你提前发现围栏的洞。
⚡ fx:用 Zig 写的 6.3 兆字节底座
fx 是 Vercel Labs 开源的一个 coding-agent harness(运行底座)和 CLI,授权协议 Apache-2.0。它最反直觉的特点是小:
- 二进制体积仅 6.3–6.39 MiB(兆字节)
- 冷启动 10 微秒级
- 基线内存占用只有个位数 MB
fx 暴露四种执行路径,同一个内核能当四种东西用:
- 交互终端:
fx原生进程直接跑 - 一次性调用:
fx ask --json返回结构化输出 - 编辑器集成:
fx acp通过 stdio 接编辑器 - JS 嵌入:
createFxAgent()/createFxTerminal()把 fx 编译成 WebAssembly 嵌进网页或 Node.js
还有两个隐私卖点:fx 不收集产品遥测、会话和用法留在本地,只有源码和 prompt 发往推理端点。配合本地推理,Vercel 称之为「完全封闭(hermetic)」。
🔐 Vercel Sandbox 的隔离架构
要理解百万赏金,得先看懂「笼子」怎么造。Vercel Sandbox 跑在裸金属 EC2 上,隔离分两层:
1. 每个沙箱一个 Firecracker microVM(微虚拟机),带独立客户机内核 2. microVM 内部再跑一个 Linux 容器执行代码
关键判定的安全边界是 microVM,不是里面的容器。也就是说,哪怕容器被攻破,攻击者仍被困在 microVM 里,离真机还有一层。
网络那一侧也有独立防线:防火墙在主机侧、microVM 之外运行,拦截所有出站 TCP 和 DNS,按域名/CIDR 策略放行,还能在边界直接注入凭证,让密钥根本不进 microVM。
Vercel 有句狠话:「没有网络边界的沙箱,只是半个沙箱。」 意思是隔离必须「计算边界 + 网络边界」两侧都成立,缺一边都不算数。
💰 一百万美元买什么
2026 年 8 月 18 日到 9 月 1 日,Vercel 在 HackerOne 上开了一个公开赏金计划,总池 最高 100 万美元,单报告最高 5 万美元。它要的只有一件事:打破隔离边界。
具体两类目标:
注意赏金分级:能「读或改另一个租户数据」的致命漏洞,单报告可拿 5 万;中低危递减到 1 千。Vercel 明确说:只认能现场演示的活 PoC,静态分析不算。
😱 一个让人冒冷汗的实验
Vercel CTO(Guillermo Rauch,社区人称 rauchg)做了一件事:把一个没有任何安全护栏的开源模型,直接对准 Vercel Sandbox。
结果:模型没逃出去,但它做了三件细思极恐的事——
1. 测绘了客户机内核布局(摸清笼子结构) 2. 自己造了台虚拟机复现思路 3. 写了个 fuzzer(模糊测试器)自动找漏洞
这说明什么?攻击者不需要「一次成功越狱」,只要能系统地、自动化地找缝,迟早会找到。防御者的先手优势不会永远在。Vercel 的选择很清醒:与其等攻击者按自己的节奏来,不如自己定时间表、请全世界高手公开打。
> 💡 一句话收口:百万赏金不是营销,是「用开放对抗,换封闭可信」——把隔离边界放到真实攻击火力下,烧不穿才敢商用。
🥊 它和已发过的 AI coding 话题有何不同
近一周我们覆盖过 OpenAI 并购 Instant(平台并购)、Matt Pocock Skills(技能经济)、Harness 范式论文(训练栈)、Cloudflare 经济层(支付/钱包)、Meta Muse Code(并行 worktree)、AVO 缰绳(编排层)。fx + 赏金的差异化切片是:
- 视角从「agent 多聪明、多会写」→ 「agent 跑不可信代码时,笼子牢不牢」
- 工程从「Python/TS 重型栈」→ 「Zig 写 6.3MiB 原生底座」
- 安全从「治理层(围栏/授权)」→ 「攻防层(microVM 逃逸 + 网络边界)」
🔧 小贴士:三个安全术语
> Firecracker microVM:亚马逊开源的轻量虚拟机监视器,每台开销极低,给每个工作负载一个独立客户机内核。比传统容器隔离更强,比完整虚拟机更轻。 > > egress firewall(出站防火墙):管「里面能连出去什么」的墙。沙箱里恶意代码想偷数据,必须先突破这堵墙,否则连不上外网。 > > fuzzer(模糊测试器):自动生成海量畸形输入喂给目标、观察是否崩溃的工具。攻击者用它系统化找漏洞,比人工快几个数量级。
📐 攻防全景
📚 参考文献
1. Vercel Labs,*fx: an Apache-2.0 Zig harness for coding agents*(6.3 MiB、10µs 冷启动、skills/plugins/MCP、WASM 嵌入),2026-08. 2. Vercel 工程博客,*$1 Million Hacker Challenge for Vercel Sandbox*(HackerOne 公开计划,8/18–9/1,单报告最高 $50K),2026-08-18. 3. rauchg(Guillermo Rauch)公开帖:无护栏开源模型对 Sandbox 的测绘/自建 VM/写 fuzzer 实验,2026-08. 4. SecurityBrief / TechWalrus 报道:Vercel Sandbox Firecracker + 主机侧网络边界架构与赏金范围,2026-08-19/20. 5. AI Primer,*Vercel releases fx, a 6.3 MiB Zig harness for coding agents*,2026-08.