← 返回博客
Ai预计阅读 9 分钟

OpenAI 找出了 PHP 的漏洞,但真正重要的是之后的两个月

发布于 2026年10月23日
OpenAI 找出了 PHP 的漏洞,但真正重要的是之后的两个月

PHP 撑着大约七成的网站。这个月,OpenAI 说它的模型——包括 GPT-5.6 Sol——帮研究人员在里面找到了关键的安全漏洞。这句话是标题。下一句才是故事:这家公司随后花了两个月,跟一批维护者和安全厂商组成联盟,先把修复方案做出来、测完,才对外公布。

两个月的沉默不是一个公关周期。那恰恰是漏洞处理里最没人愿意截图发出来的那一部分。

协同披露才是真正的产品

用模型找 bug 现在很便宜。一个靠谱的 agent,给它一个 shell、一份源码、几个小时,产出的候选崩溃比人工审同一份代码要快得多。其中大部分是垃圾,而把垃圾和真正的内存安全问题分开,成本就转移到了这里。

OpenAI 这次做的事——至少它自己说的是这样——是那段不好看的中间环节:组联盟、逐条验证候选、写补丁、在整个生态里测试、商定披露日期,最后才发布。正是这个顺序,让一个 PHP 漏洞没有变成针对 WordPress 站点的狂欢周末。

这也意味着真正的问题不是「模型有没有找到东西」,而是这套安排能不能复制。联盟能成立,是因为有一方资源充足的人来召集。它显然没法直接套用到成千上万个开源项目上——它们和 PHP 躺在同一张依赖图里,却没有人能召集任何东西。

{{INLINE1}}

这个检测工具很诚实地承认自己做不到什么

和披露一起,OpenAI 还放出了一个 PHP 版本检测工具:一个 Codex skill 加一个 Node 命令行工具。把它指向某个站点,它会扫 HTTP 头,然后给出 OK、VULNERABLE 或 UNKNOWN。

这个方法值得细看。它只是把响应头里的版本字符串跟已知的补丁分界线做比对,本身不做任何独立验证。这是刻意的设计选择,换来的是一个有三种诚实输出的工具,而不是一个只有两种不诚实输出的工具。

基于响应头的检测有个众所周知的失效场景:大量生产环境的 PHP 部署都在版本上撒谎——可能是反向代理重写了头,可能是头被剥掉了,也可能是多年前有人把 expose_php 关了,现在没人记得。UNKNOWN 就是为这种情况准备的。一个会说「我看不出来」的工具,比一个说「你没事」的工具更有用。

分发渠道是另一个有意思的细节。它是作为一个 Codex skill 发出来的,不是网页应用,也不是 GitHub Action。这其实是在表态:OpenAI 认为接下来的安全初筛会发生在哪里——就在那个已经在读你仓库的 agent 里。

模型是怎么找到内存 bug 的

「AI 找到了漏洞」这句话被用来指三件不同的事,所以机制值得说准一点。

第一种是配了更聪明调度器的 fuzzing。覆盖率引导的 fuzzer 找 PHP 的 bug 已经找了十年;模型加进来的是读补丁的能力——猜出哪条相邻代码路径现在变得可达,然后写出能跑到那里的 harness。这确实有用,而且一点都不神奇。

第二种是在源码上做推理。给一个先解析长度前缀、再分配内存的函数,强一点的模型会指出整数溢出,并给出一个候选输入,全程不运行任何东西。假阳性大多来自这里,因为模型看不到三个文件之外那个早就把值限死了的调用方。

第三种是初筛。把几百个候选分成「大概是真的」「大概是噪声」「得人来判断」,这是最少被讨论、大概也最值钱的用法,因为正是这一步决定了安全团队到底有没有时间去看任何东西。

只有第三种能脱离联盟规模化。这也就是整场发布里那个不太被说破的问题:模型那部分工作,任何有 API key 的人都能复现;协调那部分不能。

十亿美元的使用额度

OpenAI 还承诺了 10 亿美元的 Daybreak 使用额度,给一线防御者。这该被理解成基础设施,而不是慈善。检测工具只有在用得起的人才帮得上忙——用得起的意思是,能按攻击到来的频率去跑。免费额度能让一家医院的 IT 团队查一次;十亿美元承诺的算力,能让他们一直查。

底下还有一层战略逻辑,值得点明。如果模型供应商变成了安全工具的上游,他们也就变成了决定哪些漏洞先被发现、以及先告诉谁的那一方。这是把大量判断权集中在了一家商业实验室里,而上面那套披露流程,恰恰决定了这种安排能不能被信任。

这也是个招人的论据。安全研究员很稀缺,而一个能指着「我们花了两个月,把全网最流行语言里的漏洞协同修好」的实验室,故事比发一个 benchmark 好听得多。

如果你在运维一个站点,这意味着什么

这周就去查你的 PHP 版本,而且要从你的网络外面查,因为那才是攻击者看到的东西。如果响应头什么都告诉不了你,那你有一件没有任何扫描器能替你做的事,因为唯一可靠的答案在机器上的包管理器里。

然后想想这个模式,而不是这起事件。模型没有取代安全团队。它改变了比例:候选更多,初筛更多,能拍板的人还是那么多。每个采用这些工具的组织,都得在某处把初筛能力建起来;不建的那些,最后会攒下一堆没人读的发现,看起来跟根本没扫过一模一样。

会被忘掉的那部分

还有一点值得注意:这次发的是版本检测工具,不是自动打补丁的工具。没人给站长一个一键修复,因为一键修复铺到七成网页上,本身就是一次大规模故障。这里选保守是对的,同时也注定了会留下一长串没修的安装,而下一次事故就从那儿来。

半年后,这件事的总结会变成「AI 找到了 PHP 的漏洞」,而这是所有真话里最没意思的一句。真正能带走的一课要无聊得多:价值在那两个月的协同工作里,模型的贡献只是让这个过程的头一周快了一点。

这仍然是大事件。只是不是发布稿在卖的那个大事件。安全工作从来主要是协调,而最有用的工具,是让协调变便宜的那些,不是让「发现」变响的那些。

相关文章