WebAssembly 能解决 AI 智能体最危险的安全漏洞

深度The New Stack2026年3月24日3 分钟阅读
WebAssembly 能解决 AI 智能体最危险的安全漏洞
AI 智能体生成的代码可能产生未受检查的危险指令,WebAssembly 通过无共享内核和轻量级内存模型提供了强大的隔离和沙箱能力。系统工程师 Dan Phillips 在 Wasm I/O 会议上指出,这比容器和微虚拟机更高效安全。

AI 智能体生成的代码潜藏着一个常被忽视的威胁:智能体可能产生未受检查、甚至致命的指令。这就像《2001太空漫游》里 Hal 9000 接管任务的情景——虽然是科幻,但离现实不远。源自大语言模型输出的代码可能让 AI 智能体访问敏感数据和应用程序,对环境造成严重破坏。

系统工程师、WebAssembly Chicago 创始人 Dan Phillips 在本月巴塞罗那的 Wasm I/O 会议上探讨了这一场景。

智能体运行代码需要隔离

Phillips 解释了为什么 WebAssembly 能为不受信任的 AI 生成代码提供出色的隔离和沙箱。随着智能体演变为代表用户执行操作的执行者,它们需要一个执行环境。

“这是因为它们不只是思考——它们运行源自大语言模型输出的代码并产生产物,”Phillips 说,“代码是确定性的,所以添加隔离为智能体提供了核心原语。”

目前有几种技术用于沙箱化代码,但它们通常依赖共享内核。容器、gVisor 安全层或像 Firecracker 这样的微虚拟机提供了一些隔离,但可能效率低下。这些方法依赖共享内核,有沉重的运行时层,并增加了涉及 nomads、命名空间和控制平面的编排复杂性。

“与其从内核或容器开始,你从无开始,然后逐步添加。这通过构造使某些攻击无法实现。”

“这在金钱、时间和理解上都很昂贵。可能难以推理且启动缓慢,”Phillips 说,“这些都依赖共享内核,对吧?这些有相对沉重的运行时层,而且它们之上还会有编排复杂性。”

Wasm 从无开始

然而,WebAssembly 为 AI 智能体提供了急需的隔离层。这是因为它没有共享内核并使用不同的内存模型。“与其从内核或容器开始,你从无开始,然后逐步添加,”Phillips 说,“这通过构造使某些攻击无法实现。”

通过 WebAssembly 模块运行的应用程序和代码也可以小几个数量级,这是 Wasm 的突出特点之一。其众所周知的优势包括超快速启动时间和 Phillips 所称的 Wasm 实现的同构计算,即相同代码在浏览器、手机、云或家庭服务器上运行。

Boxer 消除开发者摩擦

尽管 Wasm 为 AI 智能体沙箱提供了优势,但开发者如果不理解好处,通常不想为新技术重写代码。开发者期望一个平台和完整的系统访问权限,即使有限制。Phillips 描述了开源 Boxer 如何允许用户获取 Dockerfile 并将其分发为普遍可运行的 Wasm 分发。

“对于大多数可以用 Docker 做的事情,你也可以用 Wasm 做。”

“该项目的目标是允许运行未经修改的代码,无需重写和妥协,”Phillips 说,“这有助于消除摩擦,使 Wasm 更易访问。这基本上意味着对于大多数可以用 Docker 做的事情,你也可以用 Wasm 做。”

尽管有技术优势,WebAssembly 面临“心智模型差距”,Phillips 说。开发者通常期望一个具有系统访问权限的完整平台,并且不愿重写现有代码。“人们在部署时不想重写代码,”Phillips 说,“所以,一项新技术,特别是环境减少的技术,如果他们不理解好处,他们真的不想做。”

沙箱的未来扩展到云端之外,到“同构计算”,其中相同的智能体代码可以在浏览器、移动设备和家庭服务器之间无缝移动。“不仅是云,还有同构计算,你可以在浏览器、手机、云、家庭服务器上运行相同代码,你可以在这些不同元素之间无缝移动这些事物,”Phillips 说。

是的,开发者、平台和工程团队不想摆弄潜在的不兼容性或添加“胶水”层来确保代码——由 AI 智能体或其他方式创建——保持沙箱化。但无论如何,WebAssembly 已经提供了至少非常坚实的隔离水平,这对于 AI 智能体代码分发的爆炸式增长非常必要。

对于倡导者来说,问题变得反问:你为什么不用 WebAssembly 模块沙箱化 AI 智能体?

本文编译自 WebAssembly could solve AI agents’ most dangerous security gap,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

Simon Willison 正在重构 LLM Python 库的抽象层,以支持服务器端工具执行等新功能。他利用 Claude Code 分析了四大 LLM 提供商的客户端库,生成了用于测试的 curl 命令和 JSON 输出。这些调研材料已开源,旨在帮助设计更通用的 API 抽象。

深度Simon Willison·4月5日·1 分钟

智能体技能——包含程序性知识和可执行资源的结构化包,供智能体在推理时动态加载——已成为增强 LLM 智能体的可靠机制。然而,推理时技能增强存在根本性限制:检索噪声引入无关指导,注入的技能内容带来大量 token 开销,而模型从未真正习得它所遵循的知识。我们提出一个问题:技能是否可以被内化到模型参数中,使其在无需任何运行时技能检索的情况下实现零样本自主行为?我们提出 Skill0,一个专为技能内化设计的上下文强化学习框架。Skill0 引入了一种训练时课程,从提供完整技能上下文开始,逐步撤除。技能按类别离线分组,并与交互历史一起渲染为紧凑的视觉上下文,教授模型工具调用和多轮任务完成。动态课程机制…

深度·4月5日·17 分钟

评论