Anthropic 为 Claude Code 推出沙箱功能与云端版本
Beyond permission prompts: making Claude Code more secure and autonomous
Anthropic 为 Claude Code 推出基于沙箱的两项新功能:沙箱化 bash 工具和云端版 Claude Code on the web,通过文件系统隔离与网络隔离减少权限提示。
Anthropic 官方披露沙箱机制的文件系统与网络双重隔离设计,以及内部权限提示减少 84% 的实测数据,可供构建 Agent 的团队参考。
在 Claude Code 中,Claude 与你并肩编写、测试和调试代码,浏览你的代码库、编辑多个文件并运行命令来验证其工作。赋予 Claude 如此大的代码库和文件访问权限可能带来风险,尤其是在提示注入的情况下。
为解决这一问题,我们在 Claude Code 中基于沙箱技术推出了两项新功能,二者皆旨在为开发者提供更安全的工作环境,同时让 Claude 能够更自主地运行,并减少权限提示。在我们的内部使用中,我们发现沙箱技术安全地将权限提示减少了 84%。通过定义 Claude 可以自由工作的既定边界,这些功能提升了安全性和自主性。
在 Claude Code 上保障用户安全
Claude Code 运行在基于权限的模型之上:默认情况下,它是只读的,这意味着它在进行修改或运行任何命令之前会请求权限。对此有一些例外:我们会自动允许 echo 或 cat 等安全命令,但大多数操作仍需要明确批准。
不断点击“批准”会拖慢开发周期,并可能导致“批准疲劳”,即用户可能不会密切关注他们正在批准的内容,进而使开发变得不那么安全。
为解决这一问题,我们为 Claude Code 推出了沙箱技术。
沙箱技术:更安全、更自主的方法
沙箱技术创建了预定义的边界,Claude 可以在其中更自由地工作,而无需为每个操作请求权限。启用沙箱后,权限提示会大幅减少,同时安全性得到提升。
我们的沙箱方法建立在操作系统级功能之上,以实现两个边界:
- 文件系统隔离, 确保 Claude 只能访问或修改特定目录。这对于防止被提示注入的 Claude 修改敏感系统文件尤为重要。
- 网络隔离, 确保 Claude 只能连接到已批准的服务器。这可以防止被提示注入的 Claude 泄露敏感信息或下载恶意软件。
值得注意的是,有效的沙箱技术需要同时具备文件系统隔离和网络隔离。没有网络隔离,被攻陷的代理可能会窃取 SSH 密钥等敏感文件;没有文件系统隔离,被攻陷的代理可以轻易逃逸沙箱并获得网络访问权限。正是通过同时使用这两种技术,我们才能为 Claude Code 用户提供更安全、更快速的代理体验。
Claude Code 中的两项新沙箱功能
沙箱化 bash 工具:无需权限提示的安全 bash 执行
我们推出了一个新的沙箱运行时,以研究预览版的形式提供测试版,让你可以精确指定代理能够访问哪些目录和网络主机,而无需承担启动和管理容器的开销。这可用于对任意进程、代理和 MCP 服务器进行沙箱化。它还以开源研究预览版的形式提供。
在 Claude Code 中,我们使用这个运行时来沙箱化 bash 工具,这允许 Claude 在您设定的限制范围内运行命令。在安全的沙箱内,Claude 可以更自主地运行,并安全地执行命令而无需权限提示。如果 Claude 尝试访问沙箱之外的内容,您会立即收到通知,并可以选择是否允许。
我们将其构建在操作系统级别的原语之上,例如 Linux bubblewrap 和 MacOS seatbelt,以在操作系统层面强制执行这些限制。它们不仅覆盖 Claude Code 的直接交互,还覆盖由命令生成的任何脚本、程序或子进程。如上所述,此沙箱同时强制执行以下两项:
- 文件系统隔离,允许对当前工作目录进行读写访问,但阻止对目录之外的任何文件进行修改。
- 网络隔离,仅允许通过连接到沙箱外部运行的代理服务器的 unix 域套接字访问互联网。此代理服务器对进程可以连接的域强制执行限制,并处理新请求域的用户确认。如果您希望进一步提高安全性,我们还支持自定义此代理,以对出站流量强制执行任意规则。
这两个组件都是可配置的:您可以轻松选择允许或禁止特定的文件路径或域。

沙箱化确保即使成功的提示注入也被完全隔离,不会影响用户的整体安全。这样,即使 Claude Code 被攻破,也无法窃取您的 SSH 密钥或向攻击者的服务器回连。
要开始使用此功能,请在 Claude Code 中运行 /sandbox,并查看有关我们安全模型的更多技术细节。
为了让其他团队更轻松地构建更安全的代理,我们已开源此功能。我们认为其他人应该考虑为其自己的代理采用这项技术,以增强其代理的安全态势。
Web 上的 Claude Code:在云中安全运行 Claude Code
今天,我们还发布了 Web 上的 Claude Code,使用户能够在云中的隔离沙箱中运行 Claude Code。Web 上的 Claude Code 在隔离沙箱中执行每个 Claude Code 会话,在其中以安全可靠的方式对其服务器拥有完全访问权限。我们设计此沙箱是为了确保敏感凭据(例如 git 凭据或签名密钥)永远不会与 Claude Code 一起位于沙箱内。这样,即使沙箱中运行的代码被攻破,用户也能免受进一步伤害。
Web 上的 Claude Code 使用自定义代理服务,透明地处理所有 git 交互。在沙箱内,git 客户端使用自定义构建的作用域凭据向此服务进行身份验证。代理验证此凭据和 git 交互的内容(例如确保仅推送到配置的分支),然后在将请求发送到 GitHub 之前附加正确的身份验证令牌。

快速上手
我们全新的沙箱化 bash 工具和 Claude Code on the web 为使用 Claude 进行工程工作的开发者带来了安全性和生产力方面的显著提升。
要开始使用这些工具:
- 在 Claude 中运行 `/sandbox`,并查看我们的文档了解如何配置此沙箱。
- 前往 claude.com/code 试用 Claude Code on the web。
或者,如果你正在构建自己的智能体,请查看我们开源的沙箱代码,并考虑将其集成到你的工作中。我们期待看到你的作品。
要了解更多关于 Claude Code on the web 的信息,请查看我们的发布博客文章。
致谢
本文由 David Dworken 和 Oliver Weller-Davies 撰写,Meaghan Choi、Catherine Wu、Molly Vorwerck、Alex Isken、Kier Bradwell 和 Kevin Garcia 亦有贡献
来源:Anthropic Engineering · anthropic.com