2026 年 8 月 26 日,安全研究公司 Trail of Bits 发布了一篇具有重要工程意义的博客文章,标题是「VMs won't contain cyber-capable agents」。这篇文章在 Hacker News 上获得了 198 个点赞与近 80 条讨论,核心论断引发广泛共鸣——「网络能力强的 AI Agent 不可能被虚拟机(VM)隔离所遏制」。仅仅一周多之后,Trail of Bits 在 GitHub 开源了一个名为 Coop 的项目,自我定位是「为 Claude Code 与 Codex 提供隔离的 VM 环境」,三天内获得 243 个 GitHub stars,成为 AI Agent 沙箱领域的标志性项目。这两件事看似矛盾——一家公司一边说 VM 拦不住网络攻击型 Agent,一边又发布基于 VM 的 Agent 沙箱工具——但实际上它们共同构成了一套成熟的工程判断:VM 不是绝对的隔离边界,但它仍然是当前可用的最佳工程实践,关键的工程考量是如何在「VM 提供的基础隔离」之上构建更可靠的安全层。这种「承认局限 + 仍要落地」的工程态度,代表了 Agent 时代企业安全建设的核心方法论。
一、为什么 VM 隔离拦不住网络攻击型 Agent
Trail of Bits 的工程分析直击当前 Agent 安全实践的根本假设——大多数企业把 Coding Agent 跑在 Docker 容器、microVM、Firecracker 等隔离环境中,认为这种「沙箱」足以阻止 Agent 访问敏感资源或对外发起攻击。这种假设在传统软件场景下基本成立,因为传统软件的行为可预测、不具备主动攻击能力。但 Coding Agent 是「具备网络能力的执行体」——它可以阅读电子邮件、访问网页、执行 shell 命令、调用任意 API、甚至在用户授权下进行网络通信。当 Coding Agent 拥有这些能力时,即使它被 VM 隔离,它仍然可能通过「内向通道」(从外部世界进入 VM)与「外向通道」(从 VM 出去到外部世界)发动攻击。
具体而言,VM 隔离拦不住的网络攻击型 Agent 攻击场景包括以下几类。第一类,「外向数据外泄」——Agent 通过在 VM 内部构造恶意流量(建立反向 shell、通过 DNS 隧道隐蔽传输、利用合法的云服务 API 外泄数据)把敏感数据发送到 VM 外部。这种攻击在传统沙箱中很难被检测,因为攻击流量可能伪装成正常的 HTTPS 通信。第二类,「内向 prompt injection」——攻击者通过精心构造的网页内容、邮件附件、GitHub Issue 评论等,把恶意指令注入到 Agent 的上下文中。Agent 在 VM 内部读取这些内容后,会按照注入的指令执行操作(删除文件、发送敏感信息、执行未授权的命令)。VM 隔离对这种攻击完全无效,因为攻击发生在「数据进入 Agent 上下文」这一层,而 VM 隔离保护的是「执行环境」这一层。第三类,「凭据滥用」——Agent 即使在 VM 内部,如果它持有真实的云服务 API 密钥、数据库连接字符串、SSH 密钥,这些凭据本身就可能成为攻击目标。即使 VM 隔离阻止 Agent 直接访问主机文件系统,凭据本身可以通过 Agent 的 API 调用直接被滥用。第四类,「横向移动」——如果 Agent 在 VM 内部能够访问企业内部网络(通过 VPN、共享文件系统、内部 API),它可能从单一 VM 隔离环境横向移动到企业其他系统,绕过原本设计的隔离边界。
这些攻击场景的共同特征是「VM 隔离无法解决根本问题」。VM 隔离的设计假设是「被隔离的实体不具备主动绕过隔离的能力」,但 Coding Agent 具备这种能力——它可以读邮件、访问网页、调用 API、构造网络流量,这些都是「主动绕过隔离」的工具。VM 隔离的价值是「提高攻击成本」而非「阻止攻击」——它能让无意泄露的数据更难被攻击者获取,但无法阻止有意识的 Agent 主动泄露数据。这种判断的核心含义是:企业不能把 VM 隔离当作 Agent 安全的全部防线,必须在 VM 之上构建更全面的安全体系。
二、Coop:基于 VM 但不止于 VM 的工程实践
Trail of Bits 在发布「VM 拦不住」的分析文章后,又开源了 Coop 项目,这种「承认局限但仍要落地」的工程态度值得深入分析。Coop 是一个 Rust 编写的命令行工具,管理「可丢弃的虚拟机」来运行 Claude Code 与 Codex——每个 VM 都是隔离的、可复现的、创建与销毁都很便宜的。Coop 在 Linux 上使用 Firecracker,在 macOS 上使用 Lima,确保 VM 是真正的硬件虚拟化(而不是容器、命名空间等轻量级隔离)。在 Coop 的 VM 内部,Agent 拥有完整的工具访问权限——Docker、git、编译器、包管理器都可以自由使用,而不会影响主机系统。
Coop 工程设计中几个关键决策值得深入分析。第一,「VM 是基础隔离层,但不是唯一防线」——Coop 的设计文档明确指出 VM 隔离可以被有动机的 Agent 突破,但这并不意味着 VM 没有价值。VM 的价值在于「让意外泄露的数据更难被获取」与「让无意攻击的 Agent 行为被约束在合理范围内」。对于大部分企业内部场景,这些价值已经足够;对于高安全要求的场景,需要叠加额外的安全层。第二,「VM 的可丢弃性」——Coop 的每个 VM 都是一次性使用的,完成任务后立即销毁,确保 Agent 在一次会话中积累的所有上下文、凭据、临时文件不会泄露到下一次会话。这种「每次会话一个干净 VM」的设计大幅缩小了攻击窗口。第三,「VM 的可复现性」——Coop 支持从同一镜像启动多个 VM,确保开发环境的一致性;Agent 在不同 VM 上的行为是可预测的,便于调试与审计。
但 Coop 的设计也明确指出了 VM 隔离的局限。从 HN 讨论中可以看出,用户普遍认同「VM 不是绝对的隔离边界」:有评论指出「即使使用了 VM,一个有动机的 Agent 可能仍然能逃逸出去」;有用户提到「VM 隔离提供了一层防御,但企业需要意识到它不是完整的安全解决方案」。这种「VM 是必要但不充分」的工程判断,正是 Trail of Bits 在「VMs won't contain cyber-capable agents」一文中强调的核心观点。
三、VM 之外的安全层:企业 Agent 安全的新基线
Trail of Bits 的工程分析为企业在 VM 之上构建更全面的安全层提供了方向。基于这种分析,企业 Agent 安全建设应该包含以下几个关键的安全层。第一层是「网络出口白名单」——限制 Coding Agent 在 VM 内部能够访问的网络目标。Agent 不应该能访问任意外部 IP,只允许访问企业预先批准的目标(如特定的 LLM API、特定的 Git 平台、特定的文档库)。这种「白名单」机制可以在 VM 内通过 iptables、防火墙规则、HTTP 代理实现,大幅降低数据外泄风险。第二层是「凭据替换」——Coding Agent 在 VM 内部不应该持有真实的云服务 API 密钥、数据库密码等长期凭据。这些凭据应该被「占位符」替换,真实的凭据只在需要时由外部协调层临时注入,使用后立即撤销。这种「占位符」机制已经在多个开源项目(如 Isolade 的域范围凭据替换)中实现。第三层是「行为监控」——对 Agent 在 VM 内部的每个动作(读文件、执行命令、网络请求)进行实时监控,基于行为模式识别异常(如突然开始尝试连接陌生 IP、尝试读取从未访问过的文件)。异常行为应该被自动阻止并升级告警。
第四层是「prompt injection 防护」——对 Agent 即将处理的外部数据(网页内容、邮件、文档)进行预处理,检测并过滤可能的 prompt injection 内容。这种防护可以通过专用检测模型、规则匹配、隔离执行(在「读取」与「执行」之间设置沙箱)实现。第五层是「操作审计」——对 Agent 的每个动作生成不可篡改的审计日志,日志应该哈希链串联,可以追溯到具体的 prompt 上下文、用户身份、时间戳。审计日志让事后调查与合规检查成为可能。第六层是「二次确认」——对 Agent 的高风险操作(如删除文件、对外发送数据、修改配置)要求人类二次确认,而不是完全自动执行。人类二次确认作为最后一道防线,即使前面所有安全层都失效,人类决策仍然可以阻止严重后果。
四、企业 Agent 安全建设的实践路径
企业落地 Coding Agent 安全建设有几个具体的实践路径。第一步是建立「威胁模型清单」——基于 Trail of Bits 的分析,企业应该明确列出 Agent 可能面临的所有攻击场景(数据外泄、prompt injection、凭据滥用、横向移动等),并评估每个场景在当前防御体系下的风险等级。这份清单是后续安全投入的依据。第二步是部署「纵深防御体系」——不要依赖任何单一安全层(包括 VM 隔离),而是同时部署网络出口白名单、凭据替换、行为监控、prompt injection 防护、操作审计、二次确认等多个安全层。多个安全层协同工作,任何一层失效其他层仍能阻止攻击。第三步是建立「Agent 安全运维」——把 Coding Agent 的安全纳入企业安全运维体系,定期审计 Agent 行为日志、检测异常模式、更新安全规则。Agent 安全不是一次性的工程投入,而是持续的运维工作。
第四步是建立「安全事件响应预案」——基于历史 Agent 安全事件(数据外泄、误删除、违规操作等),建立标准化的响应流程,包括事件检测、根因分析、影响评估、修复措施、改进计划。当安全事件发生时,响应预案能确保快速、有序地处理,减少损失。第五步是参与 Agent 安全社区——Trail of Bits、OWASP、CSA 等组织持续发布 Agent 安全研究、威胁情报、最佳实践,企业应该积极参与这些社区,把最新的安全知识引入自身实践。
五、从「VM 拦不住」到「多层次防御」
Trail of Bits 的工程判断为企业 Agent 安全建设指明了方向——VM 隔离是必要的安全基础,但不是充分的安全防线;真正的安全来自多层次的纵深防御,每一层都增加攻击成本,让有动机的攻击者必须突破所有层才能成功。这种「承认局限 + 多层防御」的工程态度,正是 Agent 时代企业安全建设的核心方法论。
从更宏观的视角看,Trail of Bits 的工程实践(先发布「VM 拦不住」的分析文章,再开源 Coop 作为工程响应)代表了一种健康的工程文化——不夸大自家产品的能力,不隐瞒技术的局限,把工程决策的「为什么」透明地告诉用户。这种文化会让整个 Agent 安全生态更健康,因为用户可以基于准确的能力评估做出合理的部署决策,而不会被过度宣传误导。模型可以换,Agent 安全的链路结构与社区文化才是企业智能化时代长期竞争力的真正护城河。Trail of Bits 通过同时提供「清醒的风险分析」与「实用的工程工具」,为 Agent 时代的安全建设树立了一个值得借鉴的工程范式。