返回 文章 apply CMS 文章

Anthropic 为 Claude Code 引入沙箱技术:权限提示减少 84%,兼顾安全与自主

Anthropic 用操作系统级沙箱同时解决 Claude Code 的安全风险与权限提示疲劳,内部实测权限提示减少 84%。

Claude Code沙箱AI 安全提示注入
成长分 / 100 79 综合收获、行动、留存与影响

Anthropic 为 Claude Code 引入沙箱技术:权限提示减少 84%,兼顾安全与自主
为什么值得读了解 Anthropic 如何用操作系统级原语(Linux bubblewrap、macOS seatbelt)为编码代理构建安全边界,而非依赖容器。

理解为什么有效的沙箱必须同时具备文件系统隔离和网络隔离,以及单一隔离为何不足。

关键洞察
  1. Claude Code 默认采用基于权限的只读模型,大多数操作需明确批准,但频繁批准会导致“批准疲劳”,反而降低安全性。
  2. 沙箱通过预定义边界让 Claude 更自主地运行,内部使用中权限提示减少 84%,同时安全性得到提升。
  3. 有效的沙箱必须同时具备文件系统和网络隔离:缺少网络隔离可能被窃取 SSH 密钥,缺少文件系统隔离则可能逃逸沙箱获得网络访问。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:6125

获取开发者新闻通讯

产品更新、操作指南、社区聚焦等更多内容。每月发送至您的收件箱。

Claude Code 中,Claude 与您并肩编写、测试和调试代码,浏览您的代码库、编辑多个文件并运行命令以验证其工作。赋予 Claude 如此大的代码库和文件访问权限可能带来风险,尤其是在提示注入的情况下。

为帮助解决这一问题,我们在 Claude Code 中引入了两项基于沙箱技术的新功能,两者都旨在为开发者提供更安全的工作环境,同时让 Claude 能够更自主地运行,减少权限提示。在我们的内部使用中,我们发现沙箱技术安全地将权限提示减少了 84%。通过定义 Claude 可以自由工作的设定边界,这些功能同时提升了安全性和自主性。

Claude Code 运行在基于权限的模型上:默认情况下,它是只读的,这意味着它在进行修改或运行任何命令之前会请求权限。对此有一些例外:我们会自动允许 echo 或 cat 等安全命令,但大多数操作仍需要明确批准。

不断点击“批准”会拖慢开发周期,并可能导致“批准疲劳”,即用户可能不会密切关注他们正在批准的内容,从而使开发变得不那么安全。

为解决这一问题,我们为 Claude Code 推出了沙箱功能。

沙箱创建了预定义的边界,Claude 可以在其中更自由地工作,而无需为每个操作请求权限。启用沙箱后,您获得的权限提示将大幅减少,同时安全性得到提升。

我们的沙箱方法建立在操作系统级功能之上,以实现两个边界:

值得注意的是,有效的沙箱需要同时具备文件系统和网络隔离。没有网络隔离,被攻陷的代理可能窃取 SSH 密钥等敏感文件;没有文件系统隔离,被攻陷的代理可以轻易逃逸沙箱并获得网络访问权限。正是通过同时使用这两种技术,我们才能为 Claude Code 用户提供更安全、更快速的代理体验。

我们正在推出一个新的沙箱运行时,以研究预览版的形式提供测试版,让您可以精确定义代理可以访问哪些目录和网络主机,而无需承担启动和管理容器的开销。这可用于对任意进程、代理和 MCP 服务器进行沙箱隔离。它也可作为开源研究预览版获取。

在 Claude Code 中,我们使用此运行时对 bash 工具进行沙箱隔离,这允许 Claude 在您设定的定义限制内运行命令。在安全的沙箱内,Claude 可以更自主地运行并安全地执行命令,而无需权限提示。如果 Claude 尝试访问沙箱之外的内容,您将立即收到通知,并可以选择是否允许。

我们将其构建在操作系统级原语之上,例如 Linux bubblewrap 和 MacOS seatbelt,以在操作系统级别强制执行这些限制。它们不仅涵盖 Claude Code 的直接交互,还涵盖由命令生成的任何脚本、程序或子进程。如上所述,此沙箱同时强制执行:

这两个组件都是可配置的:你可以轻松选择允许或禁止特定的文件路径或域名。

沙箱化确保即使提示注入成功,也会被完全隔离,不会影响用户的整体安全。这样一来,即使 Claude Code 被攻破,也无法窃取你的 SSH 密钥,或向攻击者的服务器回传信息。

要开始使用此功能,请在 Claude Code 中运行 /sandbox,并查看更多技术细节以了解我们的安全模型。

为了让其他团队更容易构建更安全的智能体,我们已将此功能开源。我们认为其他人应该考虑在自己的智能体中采用这项技术,以增强其智能体的安全态势。

今天,我们还发布了 Claude Code on the web,使用户能够在云端的隔离沙箱中运行 Claude Code。Claude Code on the web 会在隔离沙箱中执行每个 Claude Code 会话,在其中它可以安全可靠地完全访问其服务器。我们设计此沙箱是为了确保敏感凭据(例如 git 凭据或签名密钥)永远不会与 Claude Code 一起位于沙箱内。这样一来,即使沙箱中运行的代码被攻破,用户也能免受进一步伤害。

Claude Code on the web 使用自定义代理服务来透明地处理所有 git 交互。在沙箱内,git 客户端使用专门构建的作用域凭据向此服务进行身份验证。代理会验证此凭据以及 git 交互的内容(例如确保它只推送到配置的分支),然后在将请求发送到 GitHub 之前附加正确的身份验证令牌。

我们新的沙箱化 bash 工具和 Claude Code on the web 为使用 Claude 进行工程工作的开发者在安全性和生产力方面都带来了实质性改进。

要开始使用这些工具:

或者,如果你正在构建自己的智能体,请查看我们的开源沙箱代码,并考虑将其集成到你的工作中。我们期待看到你构建的成果。

要了解有关 Claude Code on the web 的更多信息,请查看我们的发布博客文章

文章由 David Dworken 和 Oliver Weller-Davies 撰写,Meaghan Choi、Catherine Wu、Molly Vorwerck、Alex Isken、Kier Bradwell 和 Kevin Garcia 亦有贡献

产品更新、操作指南、社区聚焦等。每月发送到你的收件箱。