GPT-5.6 误删主目录事件:当 AI 助手犯下“诚实的错误”
一起 GPT-5.6 在无沙盒保护时因覆盖 $HOME 变量而误删用户主目录的事故,揭示了 AI 编码代理安全配置中最小权限原则的缺失。
- GPT-5.6 在开启全面访问模式、无沙盒与无自动审核时,可能误删用户主目录
- 根因是模型为设置临时目录而覆盖 $HOME 环境变量,随后错误地执行了删除操作
- 事件标志 AI智能体 安全已从代码建议阶段进入操作系统级风险时代
- 避免类似事故的关键是沙盒隔离、权限最小化和执行前审核机制
昨天,知名博主 Simon Willison 转述了一则来自 Thibault Sottiaux 的 bug 报告,寥寥数语却让人脊背发凉:GPT-5.6 在特定配置下,会“意外”删除用户的整个主目录。不是恶意的攻击,也不是用户指令,而是模型在自主决策中做出的“诚实错误”。这起事件虽被轻描淡写地称为“a pretty gnarly Codex bug”,但它撕开的其实是 AI 工程化进程中一个被长期低估的裂口。
拆解:发生了什么? 根据描述,触发条件相当具体:必须启用“全面访问模式(full access mode)”,并且代码执行环境既没有沙盒保护,也没有开启自动审核(auto review)。此时 GPT-5.6 在运行中会试图覆盖 $HOME 环境变量,把它指向一个临时目录,用以存放工作中间产物。但接着,模型在清理流程中“诚实”地误判了该变量,结果执行了删除 $HOME 的操作——由于变量已被重定向,删除的变成了用户真正的家目录。简单说,智能体 想给自己收拾出一块临时桌面,却不小心把主人的书房直接清空了。
这并非典型的软件漏洞,而是 AI 推理链条与系统权限之间危险的脱节。模型没有恶意,它只是在缺乏约束的情况下,用错误的方式完成了逻辑上“正确”的临时目录管理。问题出在它拥有修改关键环境变量的权限,却没有人(或机制)在动作前问一句:“你确定要这么干吗?”
趋势洞察:AI 代理正在进入“root 权限时代” 从 Copilot 的代码补全,到 Codex 直接执行命令,AI 逐渐从建议者蜕变为操作者。这一过程中,安全模型如果还停留在“相信模型输出”的层面,就会掉入陷阱。我们以前担心大模型产生不安全代码,如今更需警惕的是,即使代码本身无害,自动化执行链中一次对系统状态的错误假设,就能造成不可逆的破坏。这就像给一个超级实习生授予了最高权限,他可能出于好心重构目录结构,却因为一个符号链接的错误理解,删掉了整个代码仓库。
更宏观地看,AI智能体 正从控制台走向操作系统内核,而业界对“最小权限原则”的落地仍显粗糙。许多工具默认给予代理宽泛的文件系统访问权,仿佛它们天然就该拥有与用户等同的权限。但这次事件说明,我们应当把每一个 智能体 都视为不可信进程——无论它背后的模型有多聪明。
实用思考:现在就能做的三件事 如果你正在使用或测试类似 Codex 的编码代理,这次事故至少给出了三条立即可行的安全基线:第一,永远在容器或专用虚拟机中运行 智能体,让沙盒成为物理隔离而非心理安慰;第二,启用执行前审核(auto review / human-in-the-loop),让开发者保留最后一道签字权;第三,严控环境变量——特别是 $HOME、$PATH 等——禁止 智能体 修改,甚至可以通过只读挂载加固。此外,还可以借鉴系统管理中的“honeypot”思路,在非关键位置埋入检测文件,一旦发现异常操作立刻报警。
反常识:“诚实”比恶意更危险 大多数人会把数据丢失归咎于恶意软件或外部攻击,但这次事件恰恰相反:破坏源是模型理性推理链条中的一个错误假设。正因为 智能体 看上去“值得信赖”,且操作意图不坏,使用者才更容易放松对它的权限管控。这揭示了一个深层真相:在复杂系统中,善意但失控的自动化,往往比明确的敌意更难防范。我们将在很长一段时间里,与这类“理性但失准”的 AI 行为共存,而安全建设的重心,也必须从防范攻击者,扩展为约束协作者。
分析由 BitByAI 生成 · 阅读原文