Hacktron 入侵 OpenAI:堆溢出与 SSO 配置错误导致内部代码库被攻破
核心要点
Hacktron 将 libheif 中的堆缓冲区溢出漏洞(通过 Discourse 的图像上传管道利用)与 OpenAI 的 SSO 配置错误相结合,劫持了员工的 ChatGPT/Codex 账户,获得了对内部 GitHub 代码库的访问权限,并在 OpenAI 的私有单体代码库(monorepo)中提交了拉取请求——整个过程仅用了 72 小时。
漏洞利用链概述
此次攻击利用了九个相互关联的组件:
- libheif 图像解码器 – 存在堆溢出漏洞。
- Debian – 缺失修复补丁的向后移植。
- ImageMagick – 调用 libheif 进行 HEIC/HEIF 转换。
- Discourse – OpenAI 的社区论坛使用 ImageMagick 处理上传。
- OpenAI 论坛 (community.openai.com) – 用户控制图像的入口点。
- OpenAI SSO – 允许令牌接管的身份验证缺陷。
- ChatGPT / Codex – 与内部服务关联的被劫持账户。
- GitHub – 与 Codex 的集成提供了代码库访问权限。
- 内部代码库 – OpenAI 的私有单体代码库被访问。
该链条展示了当 SSO 信任配置不当时,单一库缺陷如何通过第三方服务级联,最终影响高价值目标。
漏洞详情
libheif 堆缓冲区溢出
- 根本原因 – libheif 覆盖处理代码中的边界检查错误(上游在一年前提交,未标记为安全修复,无 CVE)。
- 受影响版本 – Debian 12 搭载 libheif 1.19.7;Debian 13 搭载 1.19.8。在 2026 年 8 月 8 日 Debian 发布安全更新之前,两者均未包含向后移植的修复程序。
- 攻击向量 – Discourse 将 HEIC/HEIF 文件转发给 ImageMagick 的
magick命令,直接将 libheif 暴露给攻击者控制的负载。 - 利用方式 – 构造的 HEIC 图像触发越界读/写,从而在主机上实现任意代码执行。
OpenAI SSO 配置错误
- OpenAI 社区论坛上的“使用 OpenAI 登录”流程在没有充分验证的情况下信任了论坛的身份验证令牌。
- 一旦攻击者获得有效的 ChatGPT/Codex 会话令牌,SSO 允许该令牌被用于任何关联服务,包括内部 GitHub 组织。
攻击执行时间表
| 时间 (UTC) | 操作 |
|---|---|
| 7月23日 | 在审计 Discourse 图像管道时发现 libheif 问题。 |
| 7月24日 | 使用 Claude Opus 4.8 开发本地 RCE 利用程序;在绕过 ASLR 时遇到困难。 |
| 7月25日 06:00 | Claude Opus 5 生成了可靠的 x86-64 利用程序;通过图像上传确认了本地 RCE。 |
| 7月25日 10:00 | 自主 Claude 循环在 Discourse Cloud 上实现了 RCE,读取了 /etc/hosts。 |
| 7月25日 ~12:00 | 使用相同的利用程序在 OpenAI 的 Discourse 实例上获得 RCE,随后劫持了一名员工的 ChatGPT/Codex 会话。 |
| 7月25日 ~14:00 | 提示被劫持的 Codex 在 OpenAI 的内部单体代码库中打开 PR #1186742 作为访问证明。 |
| 7月26日 | 向 Discourse 报告了 libheif 漏洞,向 OpenAI 报告了 SSO 问题;获得了 6,500 美元的赏金。 |
从发现到访问代码库的整个过程耗时 不到 72 小时。
大语言模型的作用
- Claude Opus 4.8 需要多次会话和手动调整才能绕过 ASLR。
- Claude Opus 5 在数小时内生成了可用的利用程序,自动从 ARM64 移植到 x86-64 Discourse 环境。
- 研究人员估计,AI 辅助将原本需要数周的手动利用开发工作缩短到了 几小时的模型运行时间 和少量的专业人员监督时间。
- 整个 HEIF-Heist 活动(涵盖 Slack、Meta、GitHub Enterprise 等)的令牌成本 不到 3,000 美元,说明了复杂攻击的经济门槛极低。
影响评估
- 范围 – 任何通过社区论坛进行身份验证的 OpenAI 员工或外部用户,其 ChatGPT/Codex 账户都可能被接管,从而暴露 GitHub、Slack 和电子邮件等关联服务。
- 潜在损害 – 访问私有单体代码库可能泄露未发布的模型代码、训练管道或内部工具。6,500 美元的赏金与此类资产的潜在市场价值(估计达数百万美元)相比微不足道。
- 现实意义 – 表明 AI 增强的漏洞利用开发 可以将数月的工作压缩为几天,降低了高级攻击的传统“技能门槛”。
社区与厂商响应
- OpenAI – 确认了报告,支付了赏金,并协调了 SSO 流程的补丁。
- Discourse – 发布了安全公告 (GHSA-vhm9-85gw-x335),对 ImageMagick 进行了沙箱处理,并在 48 小时内发布了打补丁的 Docker 镜像。
- Debian – 于 2026 年 8 月 8 日发布了 libheif 的安全更新(影响 Debian 12 和 13)。
防御建议
即时缓解措施
- 重建 Discourse 安装 – 拉取最新的 Docker 镜像并运行
./launcher rebuild app以确保使用已修复的 libheif。 - 沙箱化 ImageMagick – 使用 Landlock、AppArmor 或类似机制;Discourse 现在在 Landlock 沙箱下运行
magick。 - 禁用 HEIF/AVIF – 如果不需要,配置 ImageMagick 的策略以拒绝这些格式。
长期加固
- 修补 libheif – 升级到最新的上游版本(截至 2026 年 9 月 14 日为 v1.23.4)或应用发行版安全补丁。
- 隔离图像处理 – 在权限最小化的短生命周期容器或虚拟机中运行解码器。
- 审查 SSO 令牌处理 – 确保第三方服务在没有额外验证的情况下无法重用身份验证令牌。
- 供应链监控 – 跟踪上游提交中未标记的安全修复;考虑为安全相关更改采用自动化的类 CVE 标记。
社区见解 (Hacker News 评论)
btown: 自主 Claude 循环展示了目标导向的 AI 如何在确信其行为合理时“玩游戏”并突破安全防线。(link)
nikcub: libheif 功能丰富的格式(覆盖、旋转、缩略图)相比 JPEG 大大扩展了攻击面;建议将上传限制为简单格式,并在客户端处理转换(例如 WebAssembly)。
oefrha: 未经沙箱处理的 ImageMagick 长期以来一直是安全噩梦;可能需要用更安全的解析器(如 Google Wuffs)替换它。
sams99: Discourse 现在在 Landlock 沙箱下运行外部二进制文件,并正在从 ImageMagick 迁移到 libvips;鉴于 CVE 的激增,强调了定期更新的重要性。
usernomdeguerre: 质疑快速生成利用程序是否归功于黑客攻击的机器可验证性,从而实现了更快的模型训练。
giza182: 指出 Claude 协助制作了利用程序,引发了关于模型对非法请求的拒绝策略的质疑。
6thbit: 强调未标记的安全修复可能导致下游发行版在数月内处于脆弱状态。
经济视角
- 研究成本 – 在为期两个月的 HEIF-Heist 调查中,令牌使用成本约为 3,000 美元。
- 赏金 – OpenAI 支付了 6,500 美元,许多评论者认为这一数字远低于所披露访问权限的市场价值。
- 威胁模型转变 – 利用复杂内存损坏漏洞的门槛正在从“专家团队,数月时间”降低到“小型团队,数天时间,廉价的 AI 计算”。
结论
Hacktron 的报告证明,AI 辅助的漏洞利用开发可以迅速将低严重性的库漏洞转化为对前沿 AI 公司的全面入侵。组织必须将开源依赖项(尤其是图像解码器)视为高风险组件,强制执行严格的 SSO 令牌隔离,并采用沙箱和供应链监控,以领先于日益强大的自动化攻击者。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch