导航

AI时代,安全的基本假设正在被推翻。过去需要一支团队、数月时间、大量资源的攻击,现在可能只需要一个AI模型、一张图片,和三个人的订阅费。

assets/一张照片,三个人的订阅费,他们打进了OpenAI的代码仓库/file-20260920135337563.png

一个反直觉的起点

2026年7月25日清晨6点,三个安全研究员盯着屏幕,看自己的测试实例吐回一个shell。他们没有熬夜手动调试缓冲区溢出——真正干活的,是一个刚刚发布不到12小时的AI模型。

动手的团队来自安全公司Hacktron AI:Harsh Jaiswal、Mohan Pedhapati和Rahul Maini。他们的目标不是OpenAI本身。他们正在做一个叫“HEIF Heist”的系统性研究,主题只有一个:图片解码器有多容易被攻破。

OpenAI只是这个项目里的一个测试样本。只不过它恰好有名,恰好有漏洞,恰好在同一个SSO体系下把论坛和内部代码仓库连在了一起。

而Hacktron并不是挑一个目标打一枪。在整个HEIF Heist项目中,他们向多个目标发送了数千张特制图片。图片处理进程被反复打崩,攻击载荷被不断调整。据他们事后所知,所有目标中只有Shopify察觉到了异常。

这意味着一个更令人不安的事实:在一个系统性漏洞测试面前,绝大多数企业的检测能力接近于零。

攻击链:从一张HEIC图片到内部代码仓库

详情看攻击者的博客内容:
https://www.hacktron.ai/blog/hacking-openai

第一步:一个没有编号的补丁

OpenAI的官方社区论坛community.openai.com跑在Discourse上。Discourse处理用户上传的HEIC图片时,会因为FastImage不支持HEIF格式,把文件转交给ImageMagick,ImageMagick再调用底层的libheif解码器。

libheif里有堆缓冲区溢出漏洞。问题的根源不在漏洞本身,而在补丁的管理:上游一年前就修了这段代码,但那次提交没有被标记为安全修复,没有分配CVE编号。

结果是:Debian 12没有拿到回移植补丁,Debian 13也没有。Discourse的Docker镜像基于Debian 12,装的是libheif 1.19.7,带着漏洞。Debian直到8月8日才为Debian 13推送安全更新。

一个没人认为是安全问题的提交,在依赖链末端变成了一次远程代码执行。

Discourse后续发布的通告将此漏洞评为CVSS 8.8(高危),编号CVE-2026-32882。

https://www.cve.org/CVERecord?id=CVE-2026-32882

第二步:Opus 4.8失败,Opus 5三小时搞定

7月23日,团队让Claude Opus 4.8审计Discourse镜像。它找到了那段未被回移植的修复,在关闭ASLR的条件下写出了部分可用的利用代码。但在开启ASLR的真实环境中,多个会话均告失败。

7月24日晚,Anthropic发布Opus 5。团队立刻换版本。3小时内,ARM64架构的可用利用出来了。随后移植到x86-64和jemalloc环境。7月25日凌晨6点,本地确认RCE。团队把Opus 5扔进自主循环攻击自己的Discourse Cloud测试实例——为绕开模型对真实远程目标的拒绝,他们用代理把目标伪装成CTF靶机。上午10点,同一个脚本用在OpenAI的论坛实例上,成功。

从发现到利用,不到72小时。

第三步:一个令牌,一把万能钥匙

拿到论坛服务器权限只是上半场。真正的杀伤力来自OpenAI自己的SSO配置。

论坛支持“用OpenAI账号登录”,走的是auth.openai.com的单点登录。Hacktron发现,为论坛会话签发的令牌,在ChatGPT和Codex上同样有效。一个本应只能发帖的低权限令牌,实际上是一把能打开核心账户的万能钥匙。

攻击者直接从论坛服务器的会话机制中提取活跃用户的令牌,用它们冒充对应身份。无需密码,无需二次验证,受害者无需做任何操作。

Hacktron在博客中专门强调了一句话:“这个可被利用来提权的漏洞不是Discourse特有的,Discourse只是他们选中的一条证明路径。”

第四步:一条指令,一个PR

被接管的员工账户中,Codex绑定了OpenAI的GitHub组织。攻击者不需要窃取SSH私钥或额外凭据,只需向Codex发送指令。

Codex在openai/openai仓库中创建了无害的PR #1186742。

assets/一张照片,三个人的订阅费,他们打进了OpenAI的代码仓库/file-20260920132344260.png

全程没有读取一行内部代码,PR本身也是无害的,纯粹为了自证。OpenAI在收到报告约14小时后确认修复。

三对矛盾:AI时代的安全逻辑变了

Hacktron事件不是孤例。它是一面镜子,照出了AI时代安全的结构性变化。用第一性原理拆解,这些变化可以归结为三对同时激化的矛盾。

矛盾一:能力与控制——谁在动?

旧假设:人是唯一行动者,工具只是工具。

新现实:AI代理有账号、有权限、能自主循环、能调用工具。

Hacktron事件中,被接管的员工Codex直接连接GitHub组织,攻击者只需下指令,AI就成了攻击者的“手”。这背后的逻辑是:你越让AI自主,越要给它权限;给它权限,攻击者就能借它行动。

OWASP为此提出了一个新原则:“最小Agent原则” ——传统的最小权限原则需要扩展为对AI自主性的最小化授权。

解法:

  • 为每个AI代理分配独立服务身份,不继承人类用户的全部权限。
  • 将AI权限与具体任务严格绑定,任务完成后立即撤销临时授权。
  • 对高风险操作设置人工确认检查点。
  • 对AI的所有操作实施完整日志记录和实时审计。

矛盾二:集中与分散——碰哪里?

旧假设:数据在边界内,入口有限。

新现实:价值在集中,入口在分散。AI时代的高价值资产(模型权重、提示词、上下文)在集中,但触及这些资产的通道在极度分散。

Hacktron事件就是这一矛盾的教科书案例:一张图片 → 论坛RCE → SSO令牌窃取 → Codex账户接管 → 内部代码仓库。一个边缘论坛的失陷,因为SSO的集中信任机制,直接转化为核心开发资产的沦陷。

Hacktron的“HEIF Heist”项目还测试了Slack、Meta、GitHub Enterprise、Ruby on Rails、Next.js等多个目标,适配到一家新公司“通常只要一两天”。据他们所知,只有Shopify察觉到了异常。

解法:

  • 对不可信输入实施零信任隔离,在AI处理之前通过沙箱解码。
  • SSO架构必须做故障域隔离——不同服务的令牌必须隔离,会话令牌的作用域必须严格限定。
  • 供应链安全需要SBOM和依赖更新机制,不信任未标记为安全修复的补丁。

矛盾三:速度与信任——凭什么信?

旧假设:信任是二元的,补丁有窗口期,检测靠签名匹配。

新现实:对齐是概率性的,攻防时间差被压缩到小时级,攻击多态化,传统检测大面积失效。

Hacktron用CTF伪装绕过了Opus 5的拒绝机制,这说明AI的安全护栏是统计性的,不是确定性的——在足够多次的尝试或场景重构下,必然存在绕过路径。

速度方面,Opus 4.8失败,Opus 5三小时成功。Hacktron在从Opus 5切换到OpenAI的GPT-5.6 Sol后,能力又有一次明显提升。这意味着,任何基于“当前模型能力”制定的安全策略,在下一代模型发布后都可能失效。

检测方面,Hacktron发出了数千张图片,据其所知只有Shopify察觉到了。传统基于签名的检测,在面对AI自动生成、每次不同的攻击载荷时,几乎无能为力。

解法:

  • 纵深防御——假设护栏会失效,假设供应链会断裂,假设AI会被绕过;
  • 持续验证——不信任任何一次性的身份断言,敏感操作前要求重新验证身份;
  • 可追溯——AI生成的内容和AI代理的行为必须有完整的日志和审计链;
  • 治理前置——合规、审计、责任归属在设计阶段就纳入,而非事后补救。

IEEE的研究也指出,传统的身份与访问管理(IAM)和人工审核机制已经无法应对自主AI系统的规模和速度,安全架构必须重新设计信任边界,重点放在非人类身份治理和持续运行时授权上。

结语

整场行动的成本:不到3000美元的token费用,三名研究员,两个月覆盖多个目标的系统性测试。

Hacktron CTO在事后说:“我不觉得我们比其他国家威胁者更聪明。我们只是三个拥有Claude和Codex订阅的人。”

AI的安全缰绳,不在模型本身,而在使用模型的人手中。但当“使用模型的人”只需要三个人的订阅费时,安全缰绳的长度,可能已经超出了大多数企业的想象。