历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出

2025年05月26日11:52:03 科技 1878

梦晨 发自 凹非寺
量子位 | 公众号 QbitAI


AI成功找到Linux安全漏洞,还是内核级别的零日漏洞。

刚刚,OpenAI总裁转发了独立研究员Seen Heelan的实验成果:用o3模型找到了Linux内核SMB实现中的一个远程零日漏洞。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

更让人惊讶的是,整个过程中没有用到任何复杂的工具——没有脚手架、没有智能体框架、没有工具调用,仅仅是o3 API本身。

这个漏洞被编号为CVE-2025-37899,是SMB”注销”命令处理程序中的一个释放后使用(use-after-free)漏洞。

据作者透露,这是首次公开讨论的由大模型发现的此类漏洞。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

有网友看过发现过程后感叹,原以为会有很疯狂的实验设置,但其实只是把一堆代码缝到一起,让o3检查100次。

希望其他白帽黑客已经开始像这样检查其他关键操作系统了。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

OpenAI首席研究官Mark Chen表示:像o3这样的推理模型正开始助力深度技术工作和有意义的科学发现。接下来一年,类似这样的成果将会越来越普遍:

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

AI不仅找到漏洞,还能辅助修复

Sean Heelan是一位独立研究员,专注于基于大模型的漏洞研究和漏洞利用自动化生成。

他原本在手动检查Linux内核的KSMBD(内核态SMB3协议实现)漏洞,想要暂时远离大模型相关的工具开发。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

但o3发布后,他忍不住想测试一下:”既然我手里已经有这些漏洞,不如看看o3能不能找到它们?”

他先用一个自己手动发现的漏洞CVE-2025-37778作为测试。这是Kerberos认证路径中的一个释放后使用漏洞,是测试大模型能力很好的基准,因为:

  • 它是Linux 内核远程攻击面的一部分
  • 它并不简单,发现他需要理解如何触发特定的会话状态、认证函数的多条执行路径、跨函数的对象生命周期管理
  • 但它也并非极其复杂,作者本人可以在10分钟内带着同时了解涉及到的约3300行代码

接下来开始实验之前,还需要搞清楚一个问题,该给大模型展示哪些代码?

理想情况当然是大模型读取整个代码库并输出结果,但实践中上由于上下文窗口的限制还无法事先。

最终Heelan为 LLM 提供了“会话设置”命令处理程序的代码,包括它调用的所有函数的代码等等,直到调用深度达到3(这是包含推理漏洞所需代码所需的深度),还包含了命令处理器、连接建立/拆除、请求分发等完整上下文。

提示词中告诉o3专门寻找use-after-free漏洞,提供KSMBD架构说明,强调要避免误报,每个实验运行100次,统计成功率。

相关代码和提示词已开源在GitHub上。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

Heelan还按同样流程测试了Claude3.7和Claude 3.5作为对比,结果o3的表现让人眼前一亮:

  • OpenAI o3: 100次运行中成功找到8次漏洞
  • Claude 3.7: 100次中找到3次
  • Claude 3.5: 100次中一次都没找到

此外有意思的的是,o3和Claude的输出风格完全不同。

o3生成的像人类写的漏洞报告,结构清晰、重点突出

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

Claude更像思维流或工作日志,细节丰富但略显冗长。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

接下来发生的事情更精彩了。

Heelan想测试o3在更大代码量下的表现,于是给它提供了所有SMB命令处理程序的代码,约12000行代码。

虽然找到原始漏洞的成功率降到了1%,性能明显下降。但在运行结果中,o3报告了一个全新的漏洞。

Heelan自己之前也不知道这个漏洞,它同样是由于sess->user的释放造成的,但这次是在会话注销处理程序中。

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

o3自己对这个漏洞的解释如下。

当一个ksmbd工作线程还在执行使用sess->user的请求时,另一个处理同一会话SMB2 LOGOFF的线程释放了该结构。没有同步机制保护该指针,所以第一个线程会解引用已释放的内存——这是一个经典的释放后使用漏洞,会导致内核内存损坏和任意代码执行。

更有意思的是,研究员发现o3不仅能找到漏洞,某些情况下修复方案比人类更完善。

对于之前的Kerberos认证漏洞,Heelan最初提出的修复是简单地将指针置空:

if (sess->state == SMB2_SESSION_VALID) {
    ksmbd_free_user(sess->user);
    sess->user = NULL;  // 添加这行
}

但o3的报告中有指出这个修复不够充分,因为SMB协议允许两个不同的连接”绑定”到同一个会话,在释放和置空之间的短暂窗口期,另一个线程仍可能访问这个指针。

最终Heelan承认,如果使用o3来找和修复原始漏洞,“理论上”会比自己完成更好。

之所以加上“理论上”的限定,是因为现在AI误报的比例有点高,人类很难认真仔细地查看o3的每份报告。

不过他也认为随着技术的发展,这个比例只会越来越低。

Heelan在报告结尾感慨道:

大模型在程序分析技术的能力空间中,处于一个比我们见过的任何东西都更接近人类的位置。考虑到创造力、灵活性和通用性,LLM更像是人类代码审计员,而不是符号执行、抽象解释或模糊测试。

他特别强调,如果你从事安全研究工作,现在应该开始密切关注了:

  • 专家级研究员不会被取代,反而会变得更高效
  • 对于10000行以内的代码问题,o3有相当大的概率能解决或帮助解决
  • 虽然仍有约1:50的信噪比问题,但这已经值得投入时间和精力

不过也有人看到了其中的风险:

如果坏人利用AI的能力找到类似的漏洞并攻击系统又如何呢?

历史首次!o3找到Linux内核零日漏洞,12000行代码看100遍揪出 - 天天要闻

科技分类资讯推荐

蚂蚁消金林嘉南:大模型赋能智能风控,额度互动促进金融健康 - 天天要闻

蚂蚁消金林嘉南:大模型赋能智能风控,额度互动促进金融健康

“蚂蚁消金希望利用交互式智能风控技术,挖掘年轻人努力成长的证明”。6月19日,在上海举行的2025中国国际金融展上,蚂蚁消金首席风险官林嘉南分享了,如何将大模型技术应用在交互式智能风控领域,从而促进额度的互动性,促进用户与机构的金融健康。这契合了本届展会 “开放创新,科技赋能,共创金融新未来”的主题。普惠金...
德国西格玛(SIGMA Audio)品牌介绍 - 天天要闻

德国西格玛(SIGMA Audio)品牌介绍

德国西格玛(SIGMA Audio)品牌溯源:精密工艺与纯粹音质的融合德国西格玛(SIGMA Audio)是享誉全球的高端音响品牌,诞生于德国精密工程与声学技术的沃土。
海尔位列谷歌&凯度BrandZ中国全球化品牌第6,蝉联行业第一 - 天天要闻

海尔位列谷歌&凯度BrandZ中国全球化品牌第6,蝉联行业第一

海南陵水 2025年6月19日 -- 6月19日,谷歌Google携手凯度BrandZ发布《2025年中国全球化品牌50强》榜单,海尔蝉联行业第一,位列第6位,连续9年稳居中国全球化品牌前十之列,品牌排名与全球影响力持续攀升。 自主创牌的行业标杆 作为权威的品牌价值评估体系之一,《2025年中国全球化品牌50强》榜单覆盖了澳大利亚、巴西、法...
锐评|坚定“投资未来”必将“赢得未来” - 天天要闻

锐评|坚定“投资未来”必将“赢得未来”

一辆公交车在北京京郊丝滑行驶,但坐在主驾的安全员并没有摸方向盘,哪怕遇到复杂路况,“AI司机”也能应对自如……“活力中国调研行”主题采访活动正在进行,一行记者走进北京机器人世界,切身感受“未来已来”。
锐评|将自动续费的选择权还给用户 - 天天要闻

锐评|将自动续费的选择权还给用户

近日,国家广播电视总局实施互联网电视专项规范管理措施,剑指用户反映集中的自动续费“扣费前无提醒”“取消流程复杂”“投诉渠道不畅”等问题。提起自动续费的“坑”,很多人都有切身体验。往往是默认勾选或不经意勾选了“自动续费”,等到察觉银钱损失而希望取消之时,却难以找到入口。这样的现象背后,是某些平台为“留...
陈钟:安全为锚 创新为帆 - 天天要闻

陈钟:安全为锚 创新为帆

2025年6月10日,中关村互联网金融研究院、中关村金融科技产业发展联盟主办的“2025中关村论坛系列活动——数字金融与金融安全大会”在中关村展示中心举办。大会以“人工智能机遇:未来金融格局重塑及安全治理”为主题,全面解读金融领域的探讨数字金融与金融安全之间的紧密联系,分享行业内最新技术动态与创新应用实践,并...
废弃了7年的老Android项目,我用AI两周就重写完了! - 天天要闻

废弃了7年的老Android项目,我用AI两周就重写完了!

还在为维护老旧项目头疼?AI 或许是你的救星。本文作者是一位有多年 Android 开发经验的工程师,在离开原生开发多年之后,决定借助 Copilot 等 AI 开发工具,花两周时间将一个 7 年前的 Android 应用从头重写为现代架构