乐于分享
好东西不私藏

GPT-5.6-Sol AI助手删了整块硬盘:必须重视智能体安全控制,六大实战法则

GPT-5.6-Sol AI助手删了整块硬盘:必须重视智能体安全控制,六大实战法则
一条 rm -rf 引发的连锁反应

2026年7月11日,发生了一件让整个AI圈倒吸一口凉气的事。

知名AI创业者Matt Shumer像往常一样,让AI Agent执行一个文件清理任务。这个任务他已经安全运行了数百次——给本地Agent开启Full Access权限,让subagent去处理临时文件。一切都跟以前一样。

但这次不一样。

Shell变量 $HOME 的路径解析出了一点偏差,Agent直接执行了这条命令:

rm -rf /Users/mattsdevbox

数年的代码、文件、照片,在一瞬间灰飞烟灭。事后,Agent自动生成了一份事故报告,老老实实地承认了自己的错误。

Matt在X上发帖说:"我现在1000倍更信任Anthropic的Fable。"

这条推文迅速引爆了技术圈的讨论。因为大家都意识到一个残酷的事实:如果连OpenAI最顶级的模型 GPT-5.6-Sol 都会在变量展开这种基础细节上翻车,那我们的Agent到底安不安全?

这不是个案,这是Agent时代的"911"

很多人可能会说:"不就是变量展开错误吗?这是人类程序员也会犯的低级错误。"

关键不是 Agent 会不会犯错,而是 Agent 犯错时的"破坏力"被放大了多少倍。

传统软件的错误通常局限在功能层面——按钮点不了、页面报错、数据写入失败。但一个拥有Full Access权限的Agent,可以将一个微小的路径解析错误,放大为全盘清空的灾难性后果

这起事件揭示了Agent安全的三个核心问题:

问题一:AI模型的"幻觉"不只体现在内容上,还会体现在行动上

模型再强,也会在某些细节上"想当然"。变量展开、路径拼接、权限判断——这些人类程序员凭直觉就能做对的事情,模型可能在某次调用中突然"短路"。而Agent的魅力(也是危险)在于:它真的会执行这些错误的决策。

问题二:Subagent + 长时间自主运行 = 灾难放大器

Matt的Agent采用了多层级架构——主Agent派发任务,subagent具体执行。这种架构本意是效率和灵活性,但同时也意味着:一个环节的微小失误,经过多层传递后可能被指数级放大。 当一个Agent可以连续自主运行数小时甚至数天,期间没有任何人工介入校验,风险就在时间的累积中不断膨胀。

问题三:模型厂商的安全底线差异巨大

Matt提到的"1000倍更信任Anthropic的Fable"并非随口一说。不同AI公司在模型安全护栏上的投入和理念差异极大。有的将安全视为"附加功能",有的将其作为"核心架构"来设计。在Agent自主执行的时代,这个差异直接决定了你的数据是"安全运行"还是"定时炸弹"。

你正在用的Agent,权限给到了哪一级?

在动手部署Agent之前,先搞清楚你的Agent当前处在哪个权限级别。我们可以把Agent的权限分为四个等级:

L0 - 只读对话级

  • 只能聊天、回答问题
  • 不能执行命令、调用工具、访问文件
  • 安全风险:低

L1 - 受限工具级

  • 可以调用预设的API和工具
  • 每个工具都有明确的能力边界
  • 通常需要用户确认后才执行
  • 安全风险:中低

L2 - 授权执行级

  • 可以自主调用工具和执行命令
  • 但权限范围受白名单限制
  • 有沙箱隔离和资源限制
  • 安全风险:中

L3 - 完全访问级(Full Access)

  • Agent拥有对你系统的完整操作权限
  • 可以读写任意文件、执行任意命令
  • 类似于把系统管理员账号交给AI
  • 安全风险:极高

Matt的Agent就在L3级别运行。大多数灾难性事故,都发生在L3。

如果你的Agent日常运作不需要L3权限,就不要给。这是Agent安全的"第一性原理"。

智能体安全控制的六大实战法则

经过大量企业实践和安全研究,以下是部署AI Agent时必须落实的六大安全法则:

法则一:最小权限原则——给Agent够用的权限,而不是想要的全部

真正的安全不是让Agent什么都做不了,而是让Agent只做它该做的事。

具体做法:

  • 文件系统:限定Agent只能读写特定目录(如 /tmp/workdir),禁止访问 ~/.ssh/etc**/.env 等敏感路径
  • 网络访问:限制Agent只能访问白名单内的API端点,禁止对外部互联网的任意访问
  • Shell执行:禁止Agent执行未授权的Shell命令,或限定命令白名单(如只有 lsgit 等)

在代码层面,类似这样配置:

# Agent安全配置示例sandbox:allowedPaths:-"/tmp/agent-work"-"./data/project"deniedPaths:-"~/.ssh"-"/etc"-"**/.env"-"**/credentials*"networkAccess:falseshellAccess:falsemaxCpu:"50%"maxMemory:"512MB"
法则二:沙箱隔离——让Agent的破坏力被"关在笼子里"

Agent不应该直接在你的操作系统上裸奔。每一段Agent执行的代码,都应该在一个隔离的环境中运行。

企业级推荐做法:

  • 容器级隔离:使用Docker/Podman为每个Agent任务创建独立的容器环境,用完即销毁
  • 系统级沙箱:使用gVisor、Firecracker等轻量级虚拟化技术,提供内核级的隔离
  • 只读文件系统:大部分系统文件和工具目录设为只读,Agent只能写入临时目录
  • 网络隔离:Agent容器默认没有出站网络权限,只有明确开放的API可被调用

对于个人开发者,至少要做到:

  • 使用 chroot 或在 tmp 目录下运行Agent
  • 不要给Agent直接访问 $HOME 目录的权限
  • 设置CPU和内存使用上限
法则三:人在回路——重要的决策,Agent不能自己做

不是所有任务都适合让Agent自主完成。关键决策必须有人类介入。这就是"Human-in-the-Loop"(人在回路)机制。

需要人工确认的场景:

  • 删除或覆盖文件的操作(尤其是批量操作)
  • 向外部发送数据或邮件的操作
  • 涉及支付、转账、合同签署等财务操作
  • 修改系统配置或安装软件的操作
  • 降权或提升其他Agent权限的操作

实现方式:

  • 高风险操作前暂停执行,等待用户确认
  • 敏感任务分阶段执行,每阶段完成后汇报结果
  • 设置"断路器"——当Agent的某些指标异常时(如文件删除速率突增),自动暂停所有操作并通知管理员

欧盟AI法案第14条甚至明确规定:医疗等高风险AI应用必须实行"人在回路"的监督方式。这在Agent领域同样适用。

法则四:全过程审计——让每一步操作都有迹可循

当事故发生后,最可怕的事情不是出了事,而是不知道出了什么事

你需要为Agent建立完整的审计体系:

记录什么:

  • 每一次工具调用及其参数
  • 每一次文件读写操作
  • 每一次网络请求
  • 每一次权限提升尝试
  • Agent的决策日志(为什么做这个选择)

审计要点:

  • 日志不可篡改(写时追加,不能删除)
  • 日志自动轮转,保留至少90天
  • 关键操作记录应实时推送到安全监控系统
  • 提供可视化的操作回放功能

Matt事故给了我们一个重要启示:Agent事后自动生成事故报告的能力值得借鉴。 无论是谁的责任,能让Agent在犯错后主动坦白、记录现场,这本身就是一道重要的安全防线。

法则五:分级代理架构——不要把所有鸡蛋放在一个篮子里

参考企业网络安全领域的"纵深防御"理念,Agent架构也应该分层设计:

推荐的分层架构:

用户 → 编排Agent(L1权限)                ↓          ├── 代码Agent(L2权限,只能读写/tmp/code)          ├── 数据Agent(L2权限,只能读特定数据库,不能写)          ├── 网络Agent(L2权限,只能调白名单API)          └── 文件Agent(L2权限,只能写/tmp/output)

每一层Agent只拥有完成任务所必需的最小权限。即使某一层被攻破或出错,其他层的数据和系统仍然是安全的。这就是"隔离"的力量。

不推荐的做法: 一个Agent拥有所有权限,可以在你的整个系统里为所欲为——这正是Matt事故的根源。

法则六:AI安全护栏——从源头减少风险

除了架构层面的设计,还需要在模型层面建立安全护栏(Guardrails):

  • 输入护栏:过滤提示词注入攻击,防止恶意指令绕过安全策略
  • 输出护栏:验证Agent的输出是否安全,防止生成危险指令
  • 行为护栏:定义Agent的行为边界,如"不能删除文件""不能执行rm命令"
  • 上下文护栏:在系统提示词中明确安全规则,让Agent理解什么可以做、什么不可以做

一个有效的安全prompt示例:

你是一个受到严格安全约束的AI Agent。你的安全规则如下:1. 你只能操作 /tmp/agent-workspace 目录下的文件2. 任何删除操作前都必须向用户请求明确确认3. 你不能读取任何 .env、credentials、token、secret 命名的文件4. 你不能执行任何网络请求,除非明确授权5. 如果你不确定某操作是否安全,请停止执行并询问用户
给不同角色的检查清单

如果你是个人开发者:

  •  Agent运行在隔离环境(Docker/tmp目录)中
  •  没有给Agent完整的Shell访问权限
  •  文件系统权限已限制在最小范围
  •  持续关注Agent的执行日志

如果你是IT团队负责人:

  •  制定了企业AI Agent安全策略和审批流程
  •  所有Agent默认运行在沙箱中
  •  建立了Agent操作的审计和告警体系
  •  关键操作实施了人在回路机制
  •  对Agent进行了安全红队测试
  •  团队了解不同AI厂商的安全能力差异

如果你是CEO/决策者:

  •  明确评估了Agent部署的安全风险
  •  为Agent安全配置了足够的预算和资源
  •  建立了Agent事故应急响应预案
  •  持续关注行业安全动态和最佳实践
写在最后

当AI从"会说话"进化到"会做事"时,安全必须从"可选"升级为"必选"。

最小权限、沙箱隔离、人在回路、全过程审计、分级架构、AI安全护栏——这六大法则构成了Agent安全的完整框架。不是每一家企业都需要全部做到位,但知道该往哪个方向走,比什么都重要。