跳到正文
原文
Anthropic:Engineering·· 2025-10-20精选AI 评分65

Beyond permission prompts: making Claude Code more secure and autonomous

Beyond permission prompts: making Claude Code more secure and autonomousOct 20, 2025

文章要点
  • 1Anthropic 在 Claude Code 推出沙箱 bash 工具和网页版两项新功能
  • 2官方称内部使用中沙箱化将权限弹窗减少 84%(官方口径,暂无独立验证)
  • 3沙箱依赖文件系统与网络双重隔离,缺网络隔离时被攻破的智能体可外传 SSH 密钥等敏感文件
  • 4沙箱运行时已开源为研究预览,可用于隔离任意进程、智能体和 MCP 服务器
决策要点

Claude Code 把安全模型从逐条审批转向系统级沙箱边界,用隔离换更少弹窗和更高的智能体自主度。

  • 影响:使用编码智能体的开发团队审批打断会减少,开发节奏与安全可同时改善;沙箱运行时开源后,自建智能体的企业可直接复用这套隔离方案;接入前需重新梳理允许访问的目录与网络域名清单。
  • 参考:可考虑在 Claude Code 中运行 /sandbox 试点一个低风险仓库并记录弹窗变化;自建智能体的团队值得评估其开源沙箱代码能否复用;网页版可先在不含敏感凭证的项目上试用。
  • 依据:84% 弹窗降幅来自 Anthropic 内部使用数据,属官方口径暂无独立验证;沙箱基于 Linux bubblewrap 和 MacOS seatbelt 等系统级机制实现,代码已开源可自行审查。
正文 · AI 翻译

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

为了帮助解决这一问题,我们在 Claude Code 中推出了两项基于沙盒机制构建的新功能,二者均旨在为开发者提供更安全的工作环境,同时让 Claude 能够更加自主地运行,并减少权限提示。在我们的内部使用中,我们发现沙盒机制安全地将权限提示减少了 84%。通过定义 Claude 可以在其中自由工作的固定边界,它们提升了安全性和自主性。

保障 Claude Code 用户的安全

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

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

为解决这一问题,我们为 Claude Code 推出了沙盒机制。

沙盒机制:一种更安全、更自主的方式

沙盒机制创建了预先定义的边界,Claude 可以在其中更自由地工作,而无需为每个操作请求权限。启用沙盒机制后,权限提示会大幅减少,安全性也随之提高。

我们的沙盒机制方案建立在操作系统级特性之上,以实现两种边界:

  1. 文件系统隔离, 确保 Claude 只能访问或修改特定目录。这对于防止被提示注入的 Claude 修改敏感系统文件尤为重要。
  2. 网络隔离, 确保 Claude 只能连接到经过批准的服务器。这可以防止被提示注入的 Claude 泄露敏感信息或下载恶意软件。

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

Claude Code 中的两项新沙盒功能

沙盒化 bash 工具:无需权限提示的安全 bash 执行

我们推出了一个新的沙盒运行时,目前以研究预览版的形式开放测试,它让你能够精确定义你的代理可以访问哪些目录和网络主机,而无需承担启动和管理容器的开销。它可以用于沙盒化任意进程、代理和 MCP 服务器。它还以开源研究预览版的形式提供。

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

我们基于 Linux bubblewrap 和 MacOS seatbelt 等操作系统层面的原语构建了这一功能,以在操作系统级别强制执行这些限制。它们不仅涵盖 Claude Code 的直接交互,还涵盖由命令派生的任何脚本、程序或子进程。如上所述,此沙箱强制执行以下两项:

  1. 文件系统隔离,允许对当前工作目录进行读写访问,但阻止修改其之外的任何文件。
  2. 网络隔离,仅允许通过连接到沙箱外运行的代理服务器的 unix 域套接字进行互联网访问。该代理服务器对进程可连接的域名实施限制,并处理对新请求域名的用户确认。如果你希望获得更高的安全性,我们还支持自定义此代理,以对流出的流量实施任意规则。

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

This image illustrations how sandboxing in Claude Code works.
Claude Code 的沙箱架构通过文件系统和网络控制来隔离代码执行,自动允许安全操作、阻止恶意操作,并仅在需要时请求权限。

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

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

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

Claude Code on the web:在云端安全地运行 Claude Code

今天,我们还发布了 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 之前附加正确的身份验证令牌。

This illustration depicts how Claude Code on the web uses a custom proxy to handle all git interactions.
Claude Code 的 Git 集成通过一个安全代理来路由命令,该代理会验证身份验证令牌、分支名称和仓库目标——在支持安全的版本控制工作流的同时,防止未经授权的推送。

开始使用

我们全新的沙箱化 bash 工具和网页版 Claude Code,为使用 Claude 开展工程工作的开发者带来了安全性和生产力两方面的显著提升。

要开始使用这些工具:

  1. 在 Claude 中运行 `/sandbox`,并查看我们的文档了解如何配置此沙箱。
  2. 前往 claude.com/code 试用网页版 Claude Code。

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

要进一步了解网页版 Claude Code,请查看我们的发布博客文章。

致谢

本文由 David Dworken 和 Oliver Weller-Davies 撰写,Meaghan Choi、Catherine Wu、Molly Vorwerck、Alex Isken、Kier Bradwell 和 Kevin Garcia 参与贡献。

来源:Anthropic:Engineering · anthropic.com