为了帮助解决这个问题,我们在 Claude Code 中引入了两个基于沙箱构建的新功能,这两个功能都旨在为开发人员提供更安全的工作场所,同时还允许 Claude 更加自主地运行并减少权限提示。在我们的内部使用中,我们发现沙箱可以安全地将权限提示减少 84%。通过定义克劳德可以自由工作的界限,他们增加了安全性和代理性。
Claude Code 在基于权限的模型上运行:默认情况下,它是只读的,这意味着它在进行修改或运行任何命令之前会请求许可。有一些例外:我们自动允许安全命令,如 echo 或 cat,但大多数操作仍然需要明确批准。
不断点击“批准”会减慢开发周期,并可能导致“批准疲劳”,用户可能不会密切关注他们正在批准的内容,进而降低开发的安全性。
为了解决这个问题,我们为 Claude Code 启动了沙箱。
沙箱创建了预定义的边界,克劳德可以在其中更自由地工作,而不是为每个操作请求许可。启用沙箱后,您获得的权限提示会大大减少,安全性也会提高。
我们的沙箱方法建立在操作系统级功能之上,以实现两个边界:
值得注意的是,有效的沙箱需要文件系统和网络隔离。如果没有网络隔离,受感染的代理可能会泄露 SSH 密钥等敏感文件;如果没有文件系统隔离,受感染的代理可以轻松逃离沙箱并获得网络访问权限。通过使用这两种技术,我们可以为 Claude Code 用户提供更安全、更快速的代理体验。
我们正在引入一个新的沙箱运行时,它在测试版中作为研究预览提供,它可以让您准确定义代理可以访问的目录和网络主机,而无需启动和管理容器的开销。这可用于沙箱任意进程、代理和 MCP 服务器。它还可以作为开源研究预览 提供。
在 Claude Code 中,我们使用此运行时来沙箱 bash 工具,这允许 Claude 在您设置的定义限制内运行命令。在安全沙箱内,克劳德可以更加自主地运行,安全地执行命令,无需权限提示。如果克劳德尝试访问沙箱_外部_的某些内容,您将立即收到通知,并可以选择是否允许。
我们将其构建在操作系统级别的原语之上,例如 Linux bubblewrap 和 MacOS 安全带,以在操作系统级别强制实施这些限制。它们不仅涵盖 Claude Code 的直接交互,还涵盖由命令生成的任何脚本、程序或子进程。如上所述,此沙箱强制执行以下两项:
这两个组件都是可配置的:您可以轻松选择允许或禁止特定的文件路径或域。
Claude Code 的沙箱架构将代码执行与文件系统和网络控制隔离,自动允许安全操作,阻止恶意操作,并仅在需要时请求许可。
沙箱确保即使成功的提示注入也是完全隔离的,并且不会影响整体用户安全。这样,受损的 Claude 代码就无法窃取您的 SSH 密钥,也无法通过电话连接到攻击者的服务器。
要开始使用此功能,请在 Claude Code 中运行 /sandbox 并查看有关我们的安全模型的更多技术细节。
为了让其他团队更容易构建更安全的代理,我们开源此功能。我们认为其他人应该考虑为自己的代理采用这项技术,以增强其代理的安全状况。
今天,我们还发布了 Claude Code 网页版,使用户能够在云中的隔离沙箱中运行 Claude Code。网络上的 Claude Code 在隔离的沙箱中执行每个 Claude Code 会话,在沙箱中它可以以安全可靠的方式完全访问其服务器。我们设计这个沙箱是为了确保敏感凭证(例如 git 凭证或签名密钥)永远不会出现在 Claude Code 的沙箱内。这样,即使沙箱中运行的代码受到损害,用户也可以免受进一步的伤害。
网络上的 Claude Code 使用自定义代理服务,透明地处理所有 git 交互。在沙箱内,git 客户端使用自定义的范围凭据对此服务进行身份验证。代理验证此凭证和 git 交互的内容(例如,确保它仅推送到配置的分支),然后在将请求发送到 GitHub 之前附加正确的身份验证令牌。
Claude Code 的 Git 集成通过安全代理路由命令,该代理验证身份验证令牌、分支名称和存储库目标,从而实现安全的版本控制工作流程,同时防止未经授权的推送。
我们新的沙盒 bash 工具和网络上的 Claude Code 为使用 Claude 进行工程工作的开发人员提供了安全性和生产力方面的重大改进。
要开始使用这些工具:
/sandbox 并查看 我们的文档 了解如何配置此沙箱。或者,如果您正在构建自己的代理,请查看我们的开源沙箱代码,并考虑将其集成到您的工作中。我们期待看到您构建的内容。
要了解有关网络上 Claude Code 的更多信息,请查看我们的发布博客文章。
文章由 David Dworken 和 Oliver Weller-Davies 撰写,Meaghan Choi、Catherine Wu、Molly Vorwerck、Alex Isken、Kier Bradwell 和 Kevin Garcia 撰稿