![]()
今年 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 镜像中的漏洞组件。
云头条声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。
![]()
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.