超越权限弹窗:让 Claude Code 更安全、更自主¶
原文发布于 2025 年 10 月 20 日,作者 David Dworken 和 Oliver Weller-Davies
引言¶
沙盒隔离让 Claude Code 在减少 84% 权限弹窗的同时,大幅提升了安全性。 Claude Code 能够在开发者身旁编写、测试和调试代码——浏览代码库、编辑文件、运行命令。但这也引入了风险,尤其是来自 prompt 注入的威胁。
本文介绍了两个基于沙盒技术的新功能,它们让 Claude 在更安全的环境中拥有更高的自主权。内部测试表明,沙盒机制安全地减少了 84% 的权限弹窗。
当前的权限模型¶
频繁的权限确认不仅拖慢开发节奏,还会导致"审批疲劳"。 Claude Code 默认以只读模式运行:执行修改操作或运行命令前都会请求用户许可。像 echo 或 cat 这样的安全命令会自动放行,但大多数操作仍需显式批准。
这带来了一个核心矛盾:
| 问题 | 后果 |
|---|---|
| 频繁弹出权限确认 | 打断开发流程,降低效率 |
| 用户产生"审批疲劳" | 不再仔细审查确认内容,反而降低了安全性 |
沙盒:一种更安全、更自主的范式¶
沙盒的核心思路是划定边界而非逐个审批——让 Claude 在预定义的安全区域内自由行动。 这一方案利用操作系统级别的能力建立两道防线:
双重隔离机制¶
| 隔离维度 | 作用 | 防御场景 |
|---|---|---|
| 文件系统隔离 | 限制 Claude 只能访问/修改特定目录 | 防止被注入的 Claude 篡改系统敏感文件 |
| 网络隔离 | 限制 Claude 只能连接已批准的服务器 | 防止被注入的 Claude 泄露敏感信息或下载恶意软件 |
为什么两者缺一不可?
- 没有网络隔离 → 被控制的 Agent 可以将 SSH 密钥等敏感文件外传
- 没有文件系统隔离 → 被控制的 Agent 可以逃逸沙盒并获得网络访问权限
功能一:沙盒 Bash 工具¶
无需管理容器,即可在本地实现文件系统和网络的双重沙盒隔离。 这是一个新的沙盒运行时(beta/研究预览版),用户可以定义 Agent 能访问哪些目录和网络主机。它支持沙盒化任意进程、Agent 和 MCP 服务器,同时作为开源研究预览版发布。
在 Claude Code 中,该运行时对 bash 工具实施沙盒化——Claude 可以在定义的范围内不受限制地执行命令。一旦 Claude 尝试访问沙盒外的资源,用户会立即收到通知。
底层技术¶
基于操作系统级原语构建:
| 平台 | 底层机制 |
|---|---|
| Linux | bubblewrap |
| macOS | seatbelt |
这些限制覆盖 Claude Code 的直接操作以及它启动的所有脚本、程序和子进程。
文件系统隔离细节¶
- 允许对当前工作目录进行读写
- 阻止修改工作目录之外的文件
网络隔离细节¶
- 互联网访问仅通过一个 Unix 域套接字实现,该套接字连接到沙盒外部的代理服务器
- 代理服务器强制执行域名限制
- 对于新请求的域名,代理会向用户确认
- 支持自定义代理,可以对出站流量设置任意规则
两个组件均可配置——用户可以按需允许或禁止特定文件路径和域名。
架构图¶

Claude Code 的沙盒架构通过文件系统和网络控制隔离代码执行:自动允许安全操作,阻断恶意操作,仅在必要时请求用户许可。
核心安全保证¶
即使 prompt 注入成功,攻击也被完全隔离。被攻破的 Claude Code 无法窃取你的 SSH 密钥,也无法向攻击者的服务器回传数据。
快速上手¶
在 Claude Code 中运行 /sandbox 命令即可启用。详见技术文档。
开源地址:github.com/anthropic-experimental/sandbox-runtime
功能二:Web 版 Claude Code¶
每个会话运行在独立的云端沙盒中,敏感凭证永远不会进入沙盒。 Web 版 Claude Code 让每个会话在隔离的云端沙盒中运行,Claude 可以在其中安全地拥有完整的服务器访问权限。Git 凭证、签名密钥等敏感信息始终保持在沙盒之外。
Git 代理架构¶
Web 版 Claude Code 使用自定义代理服务处理所有 git 交互:
- 沙盒内的 git 客户端使用作用域受限的凭证向代理服务认证
- 代理验证凭证和 git 操作内容(例如确保推送只能到配置的分支)
- 验证通过后,代理附加正确的认证令牌并转发到 GitHub

Claude Code 的 Git 集成通过安全代理路由命令,验证认证令牌、分支名称和目标仓库——在允许安全版本控制的同时防止未授权推送。
快速上手¶
| 方式 | 说明 |
|---|---|
| 本地沙盒 | 在 Claude Code 中运行 /sandbox,文档 |
| Web 版 | 访问 claude.ai/code |
| Agent 开发者 | 使用开源沙盒运行时为自己的 Agent 添加沙盒能力 |