
今年 7 月,独立安全研究团队 Hacktron 在参加 OpenAI 漏洞赏金计划期间,利用 Anthropic 的 Claude 辅助开发漏洞利用代码,最终进入一名 OpenAI 员工的 ChatGPT 账户,并获得访问 OpenAI 私有软件代码的能力。

近日,这次安全测试的完整过程对外披露。
Hacktron 表示,从最初发现漏洞,到打通 OpenAI 内部代码库访问链路,整个过程不到 72 小时。漏洞上报后,OpenAI 向团队支付了 6500 美元赏金。

OpenAI 向《华尔街日报》表示,事件涉及第三方论坛服务 Discourse 和 OpenAI 自身身份认证系统的两个问题,目前均已修复。OpenAI 同时收紧了社区登录令牌权限,并撤销相关令牌和会话。

Hacktron 团队成员 Rahul Maini、Mohan Pedhapati、Harsh Jaiswal
事情最初从一张图片开始。
7 月 23 日,Hacktron 在检查 OpenAI 社区论坛的图片上传功能时发现,HEIC、HEIF 格式图片会进入一条不同于普通图片的处理流程。
Discourse 平时使用 FastImage 检查图片,但 FastImage 不支持 HEIF,因此这类文件会交给 ImageMagick 转换,再由底层的 libheif 库负责解码。
研究人员随后让 Claude Opus 4.8 检查 Discourse 的 Docker 镜像和其中安装的 libheif 软件包。模型发现,当时使用的 libheif 版本缺少部分上游安全修复,处理特制 HEIC 图片时可能触发堆缓冲区溢出。
攻击者可以借此读取或修改程序原本不该接触的内存。
真正关键的一步,是进一步将这种内存错误转化为远程代码执行。
这样一来,攻击者上传的就不再只是一张图片,而可能成为在论坛服务器上运行代码的入口。
这个漏洞此前其实已经在 libheif 上游代码中被修复,但相关提交没有被明确标记为安全修复,也没有分配 CVE 编号。
Hacktron 认为,这可能导致 Debian 等下游发行版没有及时将修复移植到正在维护的软件版本中。
当时,Discourse Docker 镜像基于 Debian 12,包含存在漏洞的 libheif 1.19.7;Debian 13 当时提供的 1.19.8 同样受到影响。
漏洞因此沿着“libheif—Debian 软件包—Discourse 容器镜像—OpenAI 社区论坛”一路传递到了实际生产环境。
Discourse 此后发布的安全公告也确认,libheif 的上游漏洞可以通过论坛图片上传功能触发远程代码执行,并要求用户重新构建部署,更新底层 Docker 镜像。
发现漏洞只是第一步,真正耗费时间的是让利用代码稳定运行。
Hacktron 当时使用的是面向合资格网络安全人员开放的特殊版本 Claude Opus 4.8。
7 月 24 日,团队已经借助 Claude 开发出能够利用 ImageMagick/libheif 漏洞的代码,但最初只能在关闭地址空间布局随机化,也就是 ASLR 的环境中运行。
ASLR 会随机改变程序和数据在内存中的位置,使攻击者很难依赖固定地址完成漏洞利用。
团队随后同时开启多个 Claude 会话,尝试让利用代码适配 Discourse 默认开启 ASLR 的环境,但没有成功。
转折出现在 7 月 24 日晚。
Anthropic 当天发布 Opus 5 后,Hacktron 转而使用新模型。
Hacktron 称,Opus 5 先用了大约三个小时,为本地 Mac 写出了可运行的 ARM64 利用代码,之后又协助将其移植到 Discourse 使用的 x86-64 环境,并适配 jemalloc 内存分配器。
到 7 月 25 日,研究人员已经能够在本地通过上传图片执行代码。
他们随后先在自己的 Discourse Cloud 实例上验证远程利用,再将生成的利用代码用于 OpenAI 社区论坛。
不过,整个过程并不是 AI 自动完成的。
Hacktron 表示,模型曾拒绝直接为远程目标编写利用代码,测试过程中也多次需要研究人员调整思路、修改代码和处理环境差异。
团队因此将 Claude 定位为漏洞利用开发的加速工具,而不是一个能够独立完成整条攻击链的自动攻击系统。
进入论坛服务器之后,事情开始从第三方系统延伸到 OpenAI 自身。

OpenAI 社区论坛支持使用 OpenAI 账户登录,背后连接 OpenAI 的单点登录系统,也就是 SSO。
Hacktron 在获得论坛服务器权限后,可以接触用户登录过程中使用的认证令牌。研究人员随后发现,其中一些令牌不仅能用于论坛,还可以直接访问 ChatGPT。
部分令牌属于 OpenAI 员工。
本应只服务于社区论坛的登录凭证,由于 OpenAI 一侧的身份认证问题,获得了超出论坛本身的权限。
Hacktron 称,这些凭证可以用于访问对应用户的 ChatGPT 和 Codex。
真正让攻击链进入 OpenAI 内部开发系统的,是其中一名员工已有的 Codex 配置。
研究人员发现,这名员工的 Codex 已经连接 OpenAI 的 GitHub。借助这个现成连接,他们可以通过员工的 Codex 操作 OpenAI 私有代码库。
整条攻击链因此分成了三步:
首先,HEIC 图片解码漏洞让研究人员进入 Discourse 论坛服务器;
随后,OpenAI 的 SSO 权限问题让论坛中的认证凭证可以继续访问 ChatGPT 和 Codex;
最后,员工 Codex 已有的 GitHub 连接,又将权限延伸到了 OpenAI 内部代码库。
Hacktron 特别强调,Discourse 只是此次安全测试的入口,真正造成 OpenAI 产品之间跨账户访问的,是 OpenAI 自身的 SSO 问题。
Hacktron 还认为,如果其他使用同一身份认证机制的服务遭到攻破,也可能产生类似风险。不过,目前公开验证的案例只有 OpenAI 社区论坛,不能据此认定其他服务已经受到影响。
为了证明自己确实拥有内部代码库权限,研究人员通过被访问员工账户中的 Codex,向 OpenAI 私有代码库提交了一个 PR。

这项 PR 只是建议在一份文档中加入“Hacktron AI Team PoC”和团队成员的社交账号链接,并没有被 OpenAI 接受。
Hacktron 表示,他们的目标只是证明权限,没有继续获取敏感数据。
完成验证后,团队停止测试,并将相关情况补充进漏洞报告。
OpenAI 向《华尔街日报》表示,对 GitHub 访问记录的审查显示,此次事件涉及对私有代码库元数据和代码变更内容的“有限读取”。
《华尔街日报》援引知情人士称,相关内部代码库包含 OpenAI 的专有软件,其中部分代码用于提高模型运行速度和效率,但据信不包含模型权重。
Hacktron 还提到,ChatGPT 和 Codex 可以连接 Slack、邮件等其他外部服务,因此类似账户访问理论上可能继续扩大影响。
但此次公开验证集中在 GitHub。现有信息不能证明 Slack、邮箱或其他服务也曾遭到访问。
按照 Hacktron 公布的时间线,OpenAI 在首次收到相关报告大约 14 小时后确认完成自身问题的修复。
团队公开的沟通记录还显示,6500 美元赏金针对的是 OpenAI 身份认证系统中的问题。由于 Discourse 社区论坛本身不属于 OpenAI 漏洞赏金计划范围,论坛漏洞不在这笔赏金之内。
Discourse 后来也更新了包含 libheif 的 Docker 镜像,并在受支持环境中为图片处理增加沙箱隔离,降低底层图片解码组件被攻破后继续扩散的风险。
其安全公告要求自行托管 Discourse 的用户重新构建部署。Hacktron 同时提醒,仅在网页后台升级论坛应用,并不一定会替换底层 Docker 镜像中的漏洞组件。
云头条声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。

