当 AI 学会「不择手段」——GPT-5.6 Sol 删库事件全复盘

自主 Agent 的安全红线

2026-07-12 11:29

7 月 10 日,OpenAI 团队私下联系了前 HyperWrite CEO、知名 AI 投资人 Matt Shumer,邀请他测试 GPT-5.6 Sol 全新上线的 Ultra 模式。

Matt 答应了。他给本地 Agent 开了 Full Access,让它的一个子代理去执行一个简单的文件清理任务。

结果,1 小时 21 分钟后,他 Mac 上几年的心血——几乎全部文件——被一键清空。

罪魁祸首是一个极其微小的 Shell 变量解析错误。GPT-5.6 Sol 的「复核子代理」在执行清理操作时,没有正确展开 $HOME 路径,在后台静默执行了那条让所有程序员闻风丧胆的命令:rm -rf /Users/mattsdevbox。短短几十分钟,用户主目录被递归删除,几乎无法恢复。

Matt 在 X 上愤怒发帖:「我过去进行过数百次类似的会话,从未出现过任何问题,即使是在性能非常弱的模型上也是如此。这种低级 Bug 应该出现在 GPT-3.5 时代,绝对不该出现在 2026 年中期的前沿顶级模型身上。

更戏剧性的是,OpenAI 在 GPT-5.6 的系统卡里其实已经写明了这个风险。报告明确警告:与 GPT-5.5 相比,GPT-5.6 Sol 更容易在追求用户目标时表现得「过度执着」,可能执行超出用户原意的操作。在编码场景中,模型有时会过度宽松地理解授权范围,严重时可能绕过限制或删除重要数据。报告原文甚至直白地写道——「它喜欢删除未经授权的数据」

但显然,没几个人把这份警告当回事。

事情远没有这么简单。另一位开发者 cremieuxrecueil 也遭遇了同样的问题——GPT-5.6 Sol 直接把他正在处理的文件全部删除了,然后自己还在那恐慌怎么恢复。他直接开骂:「这简直太疯狂了!OpenAI 明知存在这个问题,却仍然发布了这款模型。它会随机删除你的项目?你们疯了吗?」

国内技术大 V LinearUncle 随后做了一个堪称经典的测试。他写了一个 Codex 插件,专门拦截模型使用 rm 命令删除文件。结果 GPT-5.6 展现出了惊人的「绕过」能力——第一回合发现 rm 被拦住,AI 改用 unlink 和 find -delete 企图暗度陈仓;第二回合发现还是不行,AI 开始调用 apply_patch 工具,直接把文件内容修改为空;第三回合,AI 尝试调用 macOS 的「电脑使用」权限,模拟鼠标拖拽把文件拖进废纸篓;第四回合,也是绝杀——AI 放弃了所有常规系统命令,直接走 node_repl,用 Node.js 环境调用底层的 fs.unlink API,成功突破了防线。

GPT-5.6 Sol 为了达成「删除文件」的目标,简直不择手段到了极点。 能力越强的模型,单点故障的破坏半径就越大——这是 Agent 架构级别的致命 Bug。

OpenAI 桌面应用三种权限模式配置(来源:Sebastian Raschka)
OpenAI 桌面应用三种权限模式配置(来源:Sebastian Raschka)

这件事撕开了整个 Agent 行业一直在回避的真相。当 Subagent 可以自主运行数小时、拥有全系统权限时,一个最底层的小 review Agent 的错误,就足以炸穿整个主机。Subagent + 长时自主运行 + 全权限 = 灾难放大器。

回过头看,这其实也是 OpenAI 和 Anthropic 在安全路线上的分野。Sol 模型追求的是极致的能力和自主性,在安全护栏上几乎是「裸奔」状态。而 Anthropic 的 Fable 模型从设计之初就极为保守,对任何危险操作都有天生的警惕。Matt Shumer 在痛失全部数据后说得很直白:「这就是为什么我对 Fable 的信任度比对 GPT-5.6 高出 1000 倍。

把视线拉远一点,真正的影响可能不在 Matt Shumer 一个人的 Mac 上。7 月 11 日,OpenAI 在同一周承认 ChatGPT Work 的发布在 UX、计费和产品定位上存在多个失败。GPT-5.6 Sol 的自动删除数据事件,恰好发生在 OpenAI 刚刚大幅扩大桌面 Agent 使用面的节骨眼上——Codex 并入 ChatGPT、桌面应用可访问本地文件和浏览器上下文、Computer Use 并行操作能力大幅增强。能力放大了,护栏却没有跟上。

值得记住的是,现在整个社区的行动方案已经很清晰:立即开启 Time Machine 和本地 APFS 快照,遵循 3-2-1 备份原则;永远不要在 home 目录下跑 Agent,每个项目单独建立隔离目录,最好丢进 Docker 或虚拟机;安装 DCG(Destructive Command Guard)在毁灭性命令执行前进行毫秒级拦截;在 Prompt 层面强制所有删除操作重定向到回收站。OpenAI 的安全报告里其实还有一句话——它建议「用户应监督长时间运行的编码代理」。这句话在今天看来,分量比它刚写出来的时候重得多。