元信息
- 标题:Beyond permission prompts: making Claude Code more secure and autonomous
- 作者:David Dworken, Oliver Weller-Davies(Anthropic Engineering)
- 来源:https://www.anthropic.com/engineering/claude-code-sandboxing
- 发布日期:2025-10-20
- 存档日期:2026-11-04
- 标签:Claude Code、Agent 安全、沙箱、AI 编程工具、开源
这篇讲什么
Anthropic 工程团队宣布为 Claude Code 引入基于 OS 级沙箱的两大能力:一是沙箱化 bash 工具(本地,beta 研究预览),二是 Claude Code on the web(云端隔离沙箱)。核心机制是叠加在 macOS Seatbelt 与 Linux bubblewrap 之上的双重边界:文件系统隔离(只能读写指定目录)+ 网络隔离(只能连接经代理批准的域名,出网流量统一走沙箱外的 Unix socket 代理,新域名触发用户确认,还可自定义过滤规则)。沙箱运行时已开源(anthropic-experimental/sandbox-runtime),可用于任意进程、agent 和 MCP server,且不需要管理容器的开销。
核心观点
- 权限提示模型存在"审批疲劳"悖论:默认只读、逐条弹窗看似安全,实际上让人不细看就点 approve,反而更不安全。沙箱用"预定义边界内自由执行"替代"逐条批准",让安全与自主性同时提升。
- 有效沙箱必须文件系统与网络隔离同时成立:只做其一都可被绕过——这是全文最锋利的设计论证。
- 凭证与执行环境分离:Claude Code on the web 中 git 凭证、签名密钥永不进入沙箱,git 操作经专用代理校验 scoped 凭证与目标分支后再转发 GitHub。
最值得记住的金句与数据
- "sandboxing safely reduces permission prompts by 84%"——Anthropic 内部实测,沙箱使权限提示减少 84%。
- "Without network isolation, a compromised agent could exfiltrate sensitive files like SSH keys; without filesystem isolation, a compromised agent could easily escape the sandbox and gain network access."——两种隔离互为前提,缺一不可。
- "even if the code running in the sandbox is compromised, the user is kept safe from further harm"——安全目标不是防止入侵,而是把成功的入侵也隔离成无害事件。
对我的启发
(关注:AI 编程工具、Agent 系统)沙箱不是对 agent 自主性的限制,而是自主性的前提——"更安全"与"更少打断"不是取舍而是同一件事。自己搭 agent 工作流时,与其在提示词里恳求模型"不要乱删文件",不如在 OS 层画边界;sandbox-runtime 已开源,可以直接拿来给个人 agent 和 MCP server 加沙箱。这种"把逐条人审换成边界内放行 + 越界才弹窗"的权限设计,也适用于自动化脚本和知识库工具的权限模型设计。
适合谁读
正在构建或重度使用 coding agent 的工程师、关心 agent 安全与权限模型设计的人、想给自家 agent 产品加沙箱隔离的团队。有 macOS/Linux 实际使用经验会读得更顺。