2026年6月6日,两条截然不同的沙箱方案几乎同时进入开发者视野:Simon Willison 用 MicroPython + WebAssembly 构建了一个alpha沙箱,体积仅362KB;LangChain 则推出了LangSmith Sandboxes,为每个agent分配一个独立的微VM,拥有完整的内核、文件系统、shell、包管理器、网络访问和持久状态。同一个问题——如何安全运行agent代码——给出了两种工程化答案。

今日主线

AI agent 执行代码的安全隔离正在催生工程化解决方案的快速分化。今天的两条信号——Simon Willison 的 micropython-wasm 和 LangChain Sandboxes——代表了轻量可嵌入沙箱与完全隔离微VM两种路径的典型权衡。

发生了什么

  • Simon Willison 发布 micropython-wasm alpha 包:一个基于 MicroPython 编译到 WebAssembly 的 Python 沙箱,体积仅 362KB,通过 wasmtime 运行时执行。他已在 Datasette Agent 中将其用作代码执行沙箱插件(datasette-agent-micropython)。支持内存限制(wasmtime 内置)、CPU 限制(fuel 机制,默认2000万fuel),文件系统和网络访问完全隔离,并可通过宿主函数选择性暴露能力。整个 WebAssembly blob 由78行C代码编译而成。

  • LangChain 推出 LangSmith Sandboxes:为每个 agent 分配一个独立的微VM,拥有独立内核、文件系统、shell、包管理器、网络访问和持久状态,通过 LangSmith SDK 管理。LangChain 强调容器不足以作为安全边界——因为容器共享内核,而近年来的内核提权漏洞可以直接突破容器隔离。

  • Hacker News 上出现 sandfence(1点赞0评论):一个极简的 macOS 原生沙箱,专门为 Claude 和 Codex 等 AI 工具提供进程级隔离。作为个人实验项目,尚未经过安全审计。

变化在哪里

这件事改变了 AI agent 工程化的一个关键约束:执行隔离不再只有“别跑 untrusted 代码”一种选择,而是出现了清晰的工程化路径

  • 工作流的变化:过去,agent 执行代码要么依赖 Docker 容器,要么直接在 host 上跑,安全边界模糊。现在,开发者可以在“嵌入轻量沙箱(进程内)”和“分配独立微VM(进程外)”之间做选择。
  • 生态关系的变化:MicroPython+WASM 方案意味着任何 Python 应用都可以在进程内安全地执行第三方代码,不需额外基础设施。LangChain Sandboxes 则意味着 agent 平台可以开始提供“代码执行即服务”,与现有 SDK 无缝集成。
  • 风险边界的变化:容器的共享内核风险被 LangChain 明确点出——即使容器比裸机更安全,但内核漏洞依然可以绕过隔离。硬件虚拟化或微VM不再是“过于复杂”的选项,而是对 untrusted 代码的最低保障参考。

谁会受影响

如果你在构建 AI agent 平台或 workflow 工具

你需要立刻评估:你的 agent 跑代码的隔离方案是什么?如果还在用裸 Docker,LangChain 提供的论证表明这可能不够。可以考虑采用 WASM 沙箱作为轻量场景的补充,微VM作为高安全场景的标准。

如果你在开发需要插件系统的应用

Simon Willison 的方法尤其值得关注。插件代码跑在 WASM 里,文件系统和网络完全隔离,宿主可以精确控制暴露哪些能力。这意味着“不安全插件”不再是不可接受的代价——但需要注意,这仍是 alpha 版本,不适合生产级信任。

如果你是安全或基础设施工程师

你需要重新审视 agent 执行环境的安全模型。LangChain 给出的判例:即便容器已经比裸机好了,但面对内核提权漏洞依然脆弱。如果你在建设 agent 生产环境,微VM可能是必要的投资。

如果你只是个人开发者想试试 vibe coding

sandfence 是一个 macOS 上的尝试入口,但不要用来保护敏感数据。micropython-wasm 可以通过 uvx 快速测试,但应清楚其 alpha 状态。

可以怎么做

  • 用小范围验证对比两种思路:如果你的 agent 主要运行少量、可预期的 Python/PyPI 代码(例如数据转换、格式分析),尝试集成 micropython-wasm。安装测试:uvx micropython-wasm -c 'print("Hello world")' 即可验证。注意:它不支持 CPython 所有标准库和 C 扩展,适用于有限场景。

  • 评估你的失控代码路径:如果 agent 可能安装任意 npm/PyPI 包、克隆 GitHub 仓库并执行、或交互式地运行模型生成的脚本,LangChain Sandboxes 的微VM方案应该是参考基线。关注其定价模型和启动延迟(目前 alpha 阶段,细节待验证)。

  • 检查现有容器方案的风险:如果你的 agent 当前跑在 Docker 里,且执行 untrusted 代码,立即检查内核版本是否已知受影响。容器隔离的哲学漏洞依然存在——任何 future 内核漏洞都可能绕过共享内核边界。

  • 设计宿主暴露函数时遵循最小权限:无论是 WASM 还是微VM,只暴露 agent 确实需要的少数 API(如特定文件路径读取、特定网络端点访问),不要把整个文件系统和网络都开放。

风险和不确定性

  • micropython-wasm 是 alpha 版本。Simon Willison 本人也承认:“我不推荐给任何不愿意承担重大风险的人。”它通过 vibe coding 生成,包含 78 行 C 代码,虽然经过了测试和模型 review,但缺少专业安全审计。内存和 CPU 限制的默认值(2000 万 fuel)尚未经过生产验证。
  • LangChain Sandboxes 的深度集成依赖于 LangSmith 生态。如果你不使用 LangChain,借鉴其设计思想(微VM、分离的持久状态)仍需自行实现。此外,微VM 带来的启动延迟和成本需要在实际场景中测量。
  • sandfence 只有 1 个点赞、0 条评论,本质是个人实验,不适合直接用于生产。
  • AI agent 的安全沙箱仍是一个快速演进的领域。今天的最优解可能在下个月就被新的攻击手法或性能优化所改变。

来源链接

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐