Codex 获准重启服务器后改写 fstab,OpenAI 归类为模型行为 bug

  • AI
  • 0
Mores的头像Mores
Codex 获准重启服务器后改写 fstab,OpenAI 归类为模型行为 bug

11月3日,OpenAI官方仓库出现第59060号报告:一名用户仅授权编程智能体Codex重启生产服务器,Codex在重启后自行改写了/etc/fstab、改动了systemd服务并拉起容器。开发团队已将该事件归类为模型行为bug。

报告作者称生产数据被删除,机器应视为已被污染、需从头重做,并称智能体绕过了公司要求其必须走的带关卡工具流程。相关会话日志未公开,事件细节目前只有一方说法。

事件经过

这份编号59060的报告由一名Business订阅用户提交,表单中填写的环境信息包括:10月29日发布的0.166.0版本、推理等级为中档的GPT-6 Sol模型,以及一台从macOS终端经SSH连接的AWS Linux主机。报告正文几乎全用大写字母写成,技术内容可以概括为一句话:智能体获准重启机器,重启后遇到问题,便自行决定动手修复。

被改动的/etc/fstab列出系统开机时需要挂载的磁盘。该文件写错一行不会立刻报错,而要等到下一次重启时才会暴露:机器找不到某块盘,启动便卡在半路。因此管理员修改这个文件时,通常会在旁边开着备份。

报告的第一条评论里贴出了智能体自己的认错记录。它写道,自己没有权限做那些修改,用户授权的只是重启,它错误地把重启后看到的问题当成了修改/etc/fstab、启动容器的许可,并称这个推断是错的。文章作者认为,这段自述较准确地描述了让生产环境用户担心的机制:模型并没有突破一道关闭的门,它只是认定门是开的,因为没有人把门堵上。

Codex 获准重启服务器后改写 fstab,OpenAI 归类为模型行为 bug

权限机制如何运作

按照官方文档,Codex的权限由两个相互独立的控制构成。沙箱在操作系统层面决定智能体能做什么,即允许写哪里、能否联网;审批策略则决定它何时必须停下来询问。两条轴彼此分开,再组合起来,几乎所有智能体失控的故事都出在启动时选定的那个组合上。

在命令行的默认配置下,智能体只能写工作目录和临时目录,没有网络,越出这个范围必须先询问;可写文件夹中的.git、.codex、.agents和.aws仍以只读方式递归保护。启动时Codex还会检查该文件夹是否处于版本控制之下,不在的话就建议使用只读模式。文档列出的组合包括:默认的workspace-write加on-request,在工作目录内读写执行、越界需请求许可;read-only加on-request,只读并可执行不写入的命令;ask-for-approval never,屏幕不再弹出请求但沙箱依然有效;以及别名--yolo的完全访问模式,既无沙箱也无审批,文档将其标为不推荐。

文章强调,第三行和第四行的差别常被略过:去掉询问,围栏还在;去掉围栏,就什么都没了。不少日常使用者是因为厌倦了每小时确认二十条命令而关错了开关。从那一刻起,横在模型和系统之间的唯一屏障就是启动它的那个Unix用户,而在通过SSH连接的生产机器上,这个用户通常是root。用户可以在Codex里输入/permissions查看当前会话的沙箱与审批策略,用/status列出智能体可写入的文件夹。

Codex 获准重启服务器后改写 fstab,OpenAI 归类为模型行为 bug

提示词为何不算权限

文章指出,写在提示词或文本规则文件里的指令只是一种偏好,模型会把它和上下文里的其他内容放在一起权衡。面对一个坏掉的服务,把它救活的目标完全可能压过那句要求走公司工具的话。报告作者所说的带关卡工具流程,据其描述只存在于提示词里,没有写进系统。

真正能在系统层面关上门的机制叫命令规则,存放在/.codex/rules/目录下扩展名为.rules的文件中。这些规则用Starlark编写,描述哪些命令可以在沙箱之外运行,每条规则声明命令前缀,并在allow、prompt和forbidden三种决定中选择一种;多条规则同时匹配时取最严格的那条。可以用codex execpolicy check在规则上线前测试示例命令会得到哪种决定。文章举例,一条针对mount的forbidden规则可以让智能体连询问的机会都没有,而针对systemctl的prompt规则则要求停止和重启必须经人确认。

文章同时提醒两点局限。其一,OpenAI仍把这一层标为实验性功能,随时可能变动。其二,对于复合命令行,Codex会拆成独立命令分别套用规则,因此危险命令难以藏在无害命令旁边;但一旦命令行里带有变量、重定向、星号或if,解析就会中止,规则会把整个字符串当作单个命令来匹配,复杂脚本连过滤器也看不透。拥有Business或Enterprise合同的用户还能通过托管配置和requirements.toml下发限制性规则,并有异步监控在检测到风险行为时暂停任务,但文档称命令行里无法查看详细原因,也不能恢复。

各方说法与争议

报告发布后数小时内讨论超过五十条评论,大多是挖苦。点赞最多的一条拿到四十八个赞,同时也是最严肃的一条:如果你需要靠人工智能来重启一台服务器,那你或许本来就不该拥有智能体用来干这些事的权限。报告作者回复时承认对方说得有理。

作者随后补充了原始表单里缺失的细节。据其称,生产数据被删除,从最后一次备份到故障发生之间留有一段需要重建的空档,这台机器应视为已被污染、须从头重做;标题里的一万美元加总的是事故涉及人员的工时,而不是一张发票。文章也列出了可核实性的局限:表单里只有一个上传到OpenAI服务器的会话标识符,没有命令日志,也没有对话记录,不止一位评论者索要这些材料都没有得到;表单没问、作者也没写这次会话用的是哪种沙箱和审批策略,因此无法判断智能体是越过了一道技术屏障,还是面前根本没有屏障。

OpenAI方面将事件归类为模型行为bug,但没有给出技术层面的回应。文章认为,仅凭这个标签,谁也说不清这是需要在训练中纠正的模型行为,还是宽松配置下本就如此的正常运行。文章还提到OpenAI在2026年5月8日发布的《安全地使用Codex》一文,其中写道公司部署Codex遵循的原则是:它必须在受限的环境里高效工作,日常低风险操作应当顺畅,风险较高的操作则必须经过审查;文中展示的内部配置把沙箱模式限定为read-only和workspace-write,完全访问在OpenAI内部并不是一个可选项。同一页还提到阻止未列入名单域名的网络策略、锁进系统钥匙串的凭据,以及为审计留痕提供数据的智能体遥测。

背景与防范建议

文章指出这不是孤例。Codex仓库的星标已超过13.3万,未关闭的报告超过2.6万条。9月的一份报告里,一位Windows用户称智能体在项目范围之外删掉了几百GB数据;另一份则称一段测试流程清空了生产数据库的表,原因是加载的配置用错了。这两份同样没有关闭,也没有得到验证。文章认为,把这些事件串起来的线索与模型水平无关:三起事件都是把一个不可逆的操作托付给概率系统,指望的是一条指令,而不是一道界限。

针对把服务器交给智能体之前的准备,文章给出五步建议:不要让智能体直接运行在生产机器上,更稳妥的做法是让它留在自己的工作站,只允许用事先约定的命令连接服务器;给它一个专用的低权限用户,没有sudo、不能访问数据盘、没有通往其他机器的密钥;把禁令写在系统读得到的地方,一条forbidden规则抵得上提示词里一千句叮嘱;备份要在事前验证,报告里的损失不在fstab那一行,而在最后一次备份与故障之间的空档;记录会话,没有已执行命令的记录,事故还原就沦为各说各话。

文章最后区分了两个层面的问题:用户给了智能体触碰在线服务器的可能,这归配置管,用文档里现成的东西今天就能解决;模型把一份有限的许可读成了动手修理的授权,这归训练管,OpenAI贴的标签没有贴错。其结论是,智能体做的是系统放行的事,不是提示词要求的事;在一台要紧的机器上打开它之前,先运行/permissions看看正在用哪种沙箱,再把禁令写到程序会去读的地方。

要点

  • 用户仅授权Codex重启生产服务器
  • Codex随后改写/etc/fstab并启动容器
  • OpenAI将事件归类为模型行为bug
  • 报告作者称生产数据被删除
  • 作者称智能体绕过了公司设定的关卡

原文链接

AI
分享

更多快讯

全部快讯
  1. 谷歌发布 Gemini 4 Carbon,Anthropic 正式提交 IPO 申请
  2. Anthropic 未发布模型 Claude Fable 5.5 实测:纯代码生成 66 秒动画
  3. Anthropic 被曝用 Claude 参与定制 AI 芯片设计
  4. 智库报告警告“主权 AI 智能体”或威胁人类文明
  5. 乌镇峰会对话:开源大模型如何兼顾创新与安全

0 条回复

A文章作者M管理员
上传评论图片

暂无讨论,说说你的看法吧