
Anthropic 为Claude Code发布了沙箱(sandboxing)功能,并推出了一个在隔离的云环境中运行的基于Web的工具版本。公司引入这些功能是为了解决当 Claude Code 在广泛的开发者代码库和文件中编写、测试和调试代码时出现的安全风险。根据 Anthropic 的说法,“给 Claude 这么大的访问权限可能会引入风险,特别是在提示词注入的情况下。”新的沙箱方法创建了预定义的边界,Claude 可以在这些边界内操作,减少了开发者会接收到的权限提示数量,同时公司声称这增强了安全保护。
Anthropic 在操作系统级别的功能上构建了沙箱方式,这建立了两个安全边界。第一个边界提供文件系统隔离,公司声明“确保 Claude 只能访问或修改特定的目录。”Anthropic 将此定位为一种保护措施,防止提示词注入版本的 Claude 修改敏感系统文件。第二个边界实现了网络隔离,公司表示“确保 Claude 只能连接到经过批准的服务器。”这旨在防止被破坏的 Claude 实例泄露敏感信息或下载恶意软件。
图片来源:Claude Code 的沙箱架构
Anthropic 强调,两种隔离技术必须协同工作才能实现有效保护。公司指出,没有网络隔离,被破坏的 Agent 可能会泄露敏感文件,如 SSH 密钥;而如果没有文件系统隔离,被破坏的 Agent 可能会逃离沙箱并获得网络访问权限。
基于 Web 的 Claude Code 版本使用自定义代理服务来处理 git交互。在沙箱内,git 客户端使用 Anthropic 描述的自定义构建的限定范围凭证向此服务进行身份验证。代理验证此凭证和 git 交互的内容,例如确保它只推送到配置的分支,然后附加适当的身份验证令牌并将请求发送到 GitHub。
当开发者在Web上的Claude Code开始任务时,系统会将他们的仓库克隆到 Anthropic 管理的虚拟机上。然后 Claude 调用一个安全的云环境,使用用户的代码,并根据用户设置配置互联网访问权限。在任务执行期间,Claude 分析代码、进行更改、运行测试,并检查其工作。完成后,用户会收到任务完成的通知,并可以创建一个拉取请求,将更改推送到一个分支,准备进行审查。
Anthropic 将沙箱定位为解决传统基于权限的安全系统的限制的解决方案,这些系统需要用户不断批准 bash 命令。公司识别了基于权限的方法的多个问题,包括它所说的批准疲劳,即反复点击批准可能导致用户对他们正在批准的内容关注度降低。传统模型还可能由于不断的中断造成生产力下降,并限制 Claude Code 的效率,因为它必须等待批准。
沙箱模型通过不同的方法解决了这些问题。根据 Anthropic 的说法,系统通过定义清晰的边界来开展工作,指定 Claude Code 可以访问哪些目录和网络主机。这减少了权限提示的数量,因为沙箱内的安全命令不需要批准。公司声明,尝试访问沙箱外的资源会触发即时通知,而 Claude Code 可以在预定义的限制内更独立地运行。
Django 的共同创建者Simon Willison描述了他对系统预览访问的经验。他将其描述为:
实际上,就是在 Anthropic 的容器中运行的'claude --dangerously-skip-permissions'的沙箱实例。
这种比较强调了沙箱方法如何通过建立预先的边界而不是请求每个单独操作的批准来改变权限模型。
every.to的联合创始人兼首席执行官 Dan Shipper注意到了部署架构和 Web 版本的可访问性。他解释说,该系统
允许你在 Web 或移动设备上启动任务,就像 Codex 一样
并且
一切都在云中的虚拟机上运行。
aitmpl.com的联合创始人兼首席技术官Daniel San提供了有关安全架构的技术背景。他区分了容器级和应用级保护,表示
Docker 提供系统级隔离,而 Claude Code 的沙箱增加了细粒度的安全控制,限制了 Agent 在执行期间可以访问的文件和网络资源。
对技术实现感兴趣的开发者可以在 GitHub 上查看沙箱运行时的源代码,Anthropic 已经发布了实验性的仓库。Claude Code的主仓库也在 GitHub 上,供想要检查工具代码库的人查看。Anthropic 还在 Skilljar 上发布了一个课程,展示了Claude Code的实际用法,供那些想要在亲自测试之前查看工具能力的开发者参考。
查看英文原文: Anthropic Adds Sandboxing and Web Access to Claude Code for Safer AI-Powered Coding








评论