Agent 安全:从权限提示到沙箱隔离

原文:Beyond permission prompts: Claude Code sandboxing | Anthropic Engineering Blog | 2025.10.20

导语

Claude Code 需要访问你的代码库和文件来辅助编码,但这带来了安全风险------尤其是提示词注入

传统方案是"权限提示":每个操作都弹窗让用户批准。但 Anthropic 发现,频繁的批准请求导致了审批疲劳,用户不再仔细检查,安全性反而降低了。

Anthropic 的解决方案是沙箱 ------通过定义明确的边界,让 Agent 在边界内自由工作。沙箱技术安全地减少了 84% 的权限提示。


一、为什么权限提示不够

审批疲劳

用户每天要点击数百次"批准"按钮,逐渐变成机械性的点击,不再审查具体操作内容。

安全假象

表面上"每个操作都经过批准",实际上用户根本没有仔细检查。


二、沙箱的两个关键边界

文件系统隔离

确保 Agent 只能访问或修改特定目录,防止提示词注入导致修改敏感系统文件。

网络隔离

确保 Agent 只能连接到批准的服务器,防止泄露敏感信息或下载恶意软件。

重要: 单独使用任一隔离都不足以保证安全。必须两者结合------如果只有文件系统隔离,Agent 可以通过网络泄露数据;如果只有网络隔离,Agent 可以修改系统文件。


三、沙箱化 Bash 工具

技术实现

基于操作系统原语构建: - Linuxbubblewrap - macOSseatbelt

工作机制

  • 文件隔离:允许对当前工作目录读写,阻止修改外部文件
  • 网络隔离:仅允许通过 Unix 域套接字连接到外部代理服务器,代理强制执行域限制

使用方式

在 Claude Code 中运行 /sandbox 命令。


四、Claude Code 网页版

在云端隔离的沙箱中运行 Claude Code,确保敏感凭据(如 git 凭据或签名密钥)永远不会与 Agent 一起存放在沙箱内。

Git 集成安全

使用自定义代理服务处理所有 git 交互: 1. 沙箱内的 git 客户端通过受限凭据向代理服务认证 2. 代理验证凭据和交互内容(如确保仅推送到配置的分支) 3. 代理在向 GitHub 发送请求之前附加正确的身份验证令牌


五、安全设计思考

安全 vs 自主性

沙箱解决了一个根本性矛盾:我们希望 Agent 更自主(减少人工批准),但又需要确保安全

答案是:不限制 Agent 的能力,而是限制 Agent 的作用范围。在边界内,Agent 完全自由;超出边界,系统自动阻止。

开源

沙箱功能已开源,帮助其他团队构建更安全的 Agent。


读后感

这篇文章传递的理念很重要:安全不应该是通过"更多审批"来实现的,而是通过"更好的隔离"

在人类世界中,我们也不是靠审批流程来保证安全的------我们靠的是物理隔离(门禁)、网络隔离(防火墙)和最小权限原则。Agent 的安全设计也应如此。

相关推荐
唐某人丶5 小时前
模型越来越强,我们还需要 Agent 工程吗?—— 从价值重估到 Harness 实践
前端·agent·ai编程
biter down5 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威6 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks6 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴7 小时前
线程的生命周期之线程“插队“
java·开发语言·python
ANnianStriver7 小时前
PetLumina-02-后端开发与前后端联调
java·ai·sa-token
xsc6996758 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
陈鋆9 小时前
Spring AI Framework(二:模块分析)
spring·ai
无风听海9 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者10 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链