Agent 安全:从权限提示到沙箱隔离
Agent 安全:从权限提示到沙箱隔离
原文:Beyond permission prompts: Claude Code sandboxing | Anthropic Engineering Blog | 2025.10.20
导语
Claude Code 需要访问你的代码库和文件来辅助编码,但这带来了安全风险——尤其是提示词注入。
传统方案是"权限提示":每个操作都弹窗让用户批准。但 Anthropic 发现,频繁的批准请求导致了审批疲劳,用户不再仔细检查,安全性反而降低了。
Anthropic 的解决方案是沙箱——通过定义明确的边界,让 Agent 在边界内自由工作。沙箱技术安全地减少了 84% 的权限提示。
一、为什么权限提示不够
审批疲劳
用户每天要点击数百次"批准"按钮,逐渐变成机械性的点击,不再审查具体操作内容。
安全假象
表面上"每个操作都经过批准",实际上用户根本没有仔细检查。
二、沙箱的两个关键边界

文件系统隔离
确保 Agent 只能访问或修改特定目录,防止提示词注入导致修改敏感系统文件。
网络隔离
确保 Agent 只能连接到批准的服务器,防止泄露敏感信息或下载恶意软件。
重要: 单独使用任一隔离都不足以保证安全。必须两者结合——如果只有文件系统隔离,Agent 可以通过网络泄露数据;如果只有网络隔离,Agent 可以修改系统文件。
三、沙箱化 Bash 工具
技术实现
基于操作系统原语构建:
- Linux:bubblewrap
- macOS:seatbelt
工作机制
- 文件隔离:允许对当前工作目录读写,阻止修改外部文件
- 网络隔离:仅允许通过 Unix 域套接字连接到外部代理服务器,代理强制执行域限制
使用方式
在 Claude Code 中运行 /sandbox 命令。
四、Claude Code 网页版

在云端隔离的沙箱中运行 Claude Code,确保敏感凭据(如 git 凭据或签名密钥)永远不会与 Agent 一起存放在沙箱内。
Git 集成安全
使用自定义代理服务处理所有 git 交互: 1. 沙箱内的 git 客户端通过受限凭据向代理服务认证 2. 代理验证凭据和交互内容(如确保仅推送到配置的分支) 3. 代理在向 GitHub 发送请求之前附加正确的身份验证令牌
五、安全设计思考
安全 vs 自主性
沙箱解决了一个根本性矛盾:我们希望 Agent 更自主(减少人工批准),但又需要确保安全。
答案是:不限制 Agent 的能力,而是限制 Agent 的作用范围。在边界内,Agent 完全自由;超出边界,系统自动阻止。
开源
沙箱功能已开源,帮助其他团队构建更安全的 Agent。
读后感
这篇文章传递的理念很重要:安全不应该是通过"更多审批"来实现的,而是通过"更好的隔离"。
在人类世界中,我们也不是靠审批流程来保证安全的——我们靠的是物理隔离(门禁)、网络隔离(防火墙)和最小权限原则。Agent 的安全设计也应如此。
本文是 Anthropic AI Agent 系列 第 13 篇,共 15 篇。下一篇:Coding Agent 最佳实践
关注公众号 coft 获取系列更新。

浙公网安备 33010602011771号