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 的安全设计也应如此。

相关推荐
幸福的猪在江湖2 小时前
5 万 Star!OpenSpec 规范驱动开发完全指南:让 AI 按你的规矩写代码
aigc·ai编程·领域驱动设计
常威正在打来福2 小时前
不想让你的网页长得像「AI 做的」?试试这个
人工智能·aigc·ai编程
ServBay2 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
来一斤小鲜肉2 小时前
如何在 Claude Code 中使用 MCP
ai编程
ZengLiangYi2 小时前
知识图谱:笔记关系发现与可视化
aigc·ai编程
plainGeekDev2 小时前
你以为大模型在"思考"?它只是在猜下一个词
aigc·ai编程
ZengLiangYi2 小时前
sql.js WASM 实战:浏览器里跑 SQLite
aigc·ai编程
PILIPALAPENG2 小时前
Python 语法速成指南:前端开发者视角(JS 类比版)
前端·人工智能·python
先吃饱再说2 小时前
我的第一次「Claude Code」实战:用 AI 敲出一个外卖 App 落地页
ai编程