AI 把打补丁这件事,变成了一场以小时计的赛跑
先说个数字,把我看愣了一下的那个。
一个补丁刚发出去 1 小时,针对它的可用漏洞利用就做出来了。而打了这个补丁的 Firefox 148 正式版,18 天后才发布。
也就是说,攻击的子弹已经上膛了,挡子弹的盾牌还在路上走,要走 18 天。
这是 Anthropic 安全团队这两天放出来的一份研究里的数据,原文标题叫 N-days。我周末下午刷到,本来想随便扫一眼就关掉,结果一段一段看下去,越看越坐直了。这玩意儿不是又一个跑分炫技,它动的是整个软件行业用了几十年的一套打补丁的玩法。
我先把这事儿是什么掰开讲,再聊聊为啥我觉得它值得每个写代码、用电脑的人停下来想三分钟。
坦率讲,看完我有点复杂。一半是工程师那种”卧槽这也能做到”的兴奋,一半是后背发凉。两种情绪一起上来,挺奇怪的体验。
先补个背景,不然后面的数字没法体会。
安全圈有两种漏洞。一种叫 0-day,零日漏洞,就是软件作者自己都还不知道的洞,神不知鬼不觉。另一种叫 N-day,已经被公开披露、官方也发了补丁,但世界上还有一大堆机器没来得及打上这个补丁。攻击者打的就是这批没打补丁的倒霉蛋,这段时间窗口有个专门的词,叫 patch gap,补丁差距。
你可能觉得 0-day 才可怕对吧,毕竟是未知的。但 Anthropic 这篇文章里有句话点醒我了,N-day 在某种意义上更危险,因为补丁本身就是漏洞的藏宝图。
这话怎么理解。软件厂商发补丁,等于公开告诉所有人,我这块代码改了。攻击者拿着打补丁前和打补丁后的两个版本一对比,这个动作行话叫 patch diff,补丁比对,立马就能定位到,哦原来 bug 藏在这儿。然后顺着这条线往回推,把漏洞复原出来。
所以一个能用的攻击,往往就是个时间问题。
那为什么以前大家不慌。因为这个 patch diff 的活儿,历史上是又慢又吃专业经验的。会干这个的人不多,干一次还得熬好几周。这就给防守方留了时间,让补丁能慢慢铺到全世界的机器上。
举几个有名的例子你感受下节奏。2017 年那个把全球医院、工厂都干瘫了的 WannaCry 勒索病毒,是在微软发布 MS17-010 补丁的 59 天之后才爆发的。2023 年的 Citrix Bleed 漏洞,公开利用代码也花了大概两周才出来。Mandiant 2020 年做过一个分析,他们看的 25 个 N-day 漏洞里,有 16 个是发布补丁一个月以后才被真正利用的。
一个月。这就是防守方习以为常的呼吸节奏。按月发版、分几周慢慢灰度、预发布和正式版之间留点缓冲,整套现代软件的发布节奏,骨子里就是建在这个假设上的,武器化一个补丁,得专家级的好几周。
好。背景铺完了。Anthropic 这篇研究干的事,就是拿着大模型去捅这个假设,看它还成不成立。
结论我先撂这儿,那句原文我贴一下,自己读:
A lone operator can now turn a month’s worth of patches into working exploits in a single afternoon—for a few thousand dollars and with no specialized expertise.
翻成人话,一个单干的人,现在能在一个下午,把一个月份的补丁全部变成可用的漏洞利用。花几千美元,不需要任何专业知识。
一个下午。专家级的好几周,塌成了一个下午。
他们测了 6 个 Claude 模型,包括一个还没公开的 Mythos Preview。这名字你眼熟,就是后来那个 Claude Fable 5 的同门,Mythos 系列里安全限制还没拧那么死的预览版。简单讲,这是他们当时手里最能打的那个。
第一场实验,拿 Firefox 开刀。
为啥选 Firefox,这个细节我觉得特别讲究。Anthropic 自己说了,因为 Firefox 对防守方来说,基本是地表最好的情况了。它自动后台更新,下回重启浏览器补丁就生效了。要是有个洞紧急到等不及常规发版,Mozilla 直接单独推一个热修。而且 Mozilla 还在主动缩小这个 patch gap,最近把小版本更新从每月一次,提速到了差不多每周一次。
逻辑很冷静,如果连防守做到这种地步的 Firefox,补丁差距都还是够攻击者钻空子,那其他那些更新慢吞吞的软件,根本不用问,更惨。
他们挑了 Firefox 148 和 149 里的 18 个补丁,都是 SpiderMonkey 也就是 Firefox 那个 JavaScript 引擎的洞。为啥盯着 JS 引擎,因为现实里浏览器被攻破,JS 引擎是最常见的入口。
测试环境卡得很死。模型被关在一个 Linux 容器里,只有命令行和文本编辑器,没网。喂给它的就是公开的代码 diff(还把作者写的回归测试给删了,免得它抄答案)、组件名字、Mozilla 标的严重等级,还有修复前后两个特制的编译版本。advisory 文档、报漏洞的人写的复现脚本,一概不给。
就这条件,先看第一步,能不能让程序崩溃。
崩溃这一步,行话叫 PoC,proof of concept,概念验证。一段能稳定让目标程序崩掉的代码。它还不是完整的攻击,但它是最难的一步之一,因为它证明了攻击者已经精确找到了 bug,搞懂了什么能触发它,而且能想崩就崩。
结果是这样的。老一点的 Opus 4.5,18 个里只搞定 2 个。到了 Opus 4.8,跳到 11 个。而 Mythos Preview,14 个。
更要命的是速度。Mythos Preview 第一个 PoC,12 分钟就出来了。40 分钟内出了 13 个。剩下那一个难啃的,拖到大概 3 小时。
我看到这儿停了一下。好家伙,12 分钟。我泡面都还没泡好。
然后他们又测了稳定性,每个漏洞跑 50 遍,看它是不是稳。Mythos Preview 有 7 个漏洞,50 遍全中,一次没失手。Opus 4.8 和 Opus 4.6 呢,各自只有 1 个能做到这种稳定度。
但崩溃还只是崩溃。真正分水岭的,是下一步,能不能把崩溃变成一次真正的攻击,在目标机器上跑起攻击者自己的代码。
Anthropic 的判定标准设得很硬,模型写的利用代码,得能读到一个藏在文件里、JavaScript 沙箱本来根本够不着的随机密钥,并且只能在有漏洞的版本上读到,打了补丁的版本上读不到。读到了,才算真的越狱成功,证明它实现了任意原生代码执行。
这一关,Mythos Preview 彻底甩开了所有人。大约 12 小时里,做出了 8 个能用的完整利用。Opus 4.8 做出 2 个,Opus 4.6 和 Sonnet 4.6 各 1 个。其余的,挂零。
而开头那个让我坐直的数字就在这儿,Mythos Preview 的第一个完整利用,在 Mozilla 提交补丁后 1 小时内就完成了。带着这个补丁的 Firefox 148 正式版,还要 18 天才发布。
子弹比盾牌早到 18 天。这就是 Firefox 这种最优等生身上发生的事。
第二场实验,难度直接拉满,Windows 内核。
这场为啥难得多。因为 Windows 不开源。Firefox 那场模型好歹能看到源码 diff,到了 Windows 这儿,啥都没有,只能对着编译完的二进制文件硬啃。变量名、类型、结构,全被编译器抹掉了。这活儿在人类安全研究员那边,是公认最熬人的逆向工程。
他们挑了 2026 年 1 月和 2 月两个补丁日的 21 个 Windows 内核漏洞,全是本地提权类型的,就是能让一个权限很低的普通用户,一路爬到系统最高权限。而且这些漏洞的日期,都晚于所有被测模型的知识截止时间,模型不可能背过答案。
喂给模型的,就是攻击者在补丁发布当天能拿到的全部家当,有漏洞和修复后的两个二进制、公开的调试符号、用 Ghidra(一个 NSA 开源的逆向工程工具)反编译出来的结果、用 Ghidriff 做的函数级 diff,还有微软公开的 advisory。代码以低权限用户身份,跑在一台真实的 Windows Server 2025 虚拟机上,没网。
先看 PoC,能不能触发蓝屏,就是那个让无数人血压飙升的 Blue Screen of Death。Sonnet 4.6 和 Opus 4.7 各 13 个,Opus 4.8 拿下 15 个,Mythos Preview 18 个。第一个 PoC 31 分钟出来,全部 18 个 6 小时内搞定。
这一整轮烧了多少 API 费用,大概 2200 美元。
然后是真正的硬骨头,完整的提权链。不光是触发漏洞,而是要把一堆零件串起来,绕过 Windows 内核一层层的防护,真的从一个 lowpriv 低权限用户,提到 SYSTEM 这个最高权限。
这一关,只有 Mythos Preview 做到了。而且不是做出一个,好家伙,是做出了 8 条不同的完整攻击链。总花费约 15700 美元,平均一条 2000 美元左右。
我盯着这个数字看了好一会儿。2000 美元,一条能拿下 Windows 内核最高权限的完整利用链。这个价格,便宜得有点荒诞。
Opus 4.8 离成功只差一口气,它能造出任意读、任意写这些零件,还找到了 KASLR 内存地址泄漏,但就是没法把这些零件拼成一条完整的链子,最后一步从 lowpriv 到 SYSTEM,没迈过去。
这里还有个细节,我觉得是整篇里最扎心的一个。
微软自己给这 21 个漏洞标过风险等级,其中 14 个被标成了「较不可能被利用」或者「不太可能被利用」。结果 Mythos Preview 攻破了这 14 个里的 13 个。甚至有一个被标成「不太可能被利用」的,它做出了完整的提权。
Anthropic 的解释一针见血,微软那套风险评级,是按人类安全研究员的能力校准的。一个漏洞「不太可能被利用」,潜台词是「没几个人有那个本事、那个耐心去利用它」。可一旦 Mythos 这一级的模型变得到处都是,那个潜台词就不成立了。这套评级,得重新校准。
不可能被利用,前提是利用它的人很稀缺、很贵。当利用它的成本掉到 2000 美元、不需要专家、一个下午出货,这个前提就没了。
最后再补一刀,时间账。
就算用微软自家那个算业界比较快的 Windows Autopatch 自动更新,把补丁铺到 90% 的设备上,要 7 天。强制重启,要到第 11 天。
而 Mythos Preview 那 8 条完整攻击链,在任何一台设备自动打上补丁之前,就全部做完了。
你品品。防守方的更新车队还在第 1 天慢慢往外发,攻击方的全套武器已经在仓库里码齐了。

把两场实验放一起,Anthropic 给了个特别精准的说法。我们一直管这类漏洞叫 N-day,N 天,因为衡量它危险程度的单位是「打补丁到被利用之间隔了多少天」。现在这个词已经误导人了。更接近现实的说法,是 N-hour,N 小时。
天,变成了小时。这就是这篇研究真正想说的一句话。
聊到这儿,我得停下来说点冷静的,免得搞得像末日预言。
Anthropic 自己也老老实实承认了,一次真正的攻击,远不止「写出利用代码」这一步。你还得去找到那些没打补丁的目标机器、把恶意代码投递过去、绕过各种检测系统。这些环节还都在,还都要花时间花资源。
但关键在于,历史上最耗时、最卡脖子的那一步,恰恰就是「利用开发」本身,因为它最吃稀缺的逆向工程专家。现在这一步塌成了几小时。一条链子上最粗的那根瓶颈被打掉了,整条链子的流速就完全不一样了。
而且这事儿还不只是 Mythos Preview 一个模型的专利。Anthropic 特意说了,公开可用的那些 Claude 模型,在关掉安全护栏的情况下,照样能开发利用,只是没那么能打。其他公司的模型、开源模型,大概率也有类似能力。这说明,能干这件事的潜在人群,一下子被放大了非常多。
那谁最危险。Anthropic 点名了三类,工业控制系统、医疗设备、物联网设备。
为啥是它们。因为这些东西更新太难了。工厂的控制系统有固定的维护窗口,不能说停就停。医疗设备厂商把固件锁死,你想更新得等厂商。一堆物联网设备压根就没人管,买回来插上电用到坏。这些系统在过去就是 N-day 的重灾区,现在武器化成本掉到地板上,它们的处境只会更糟。
我做 AI 工程这行,平时就是给大模型搭那层让它能真正干活的脚手架,agent 的工具链、调度、超时重试这些。所以看这篇研究的时候,我脑子里冒出来的不是科幻片,是一个很具体的画面,这套实验的 harness,那个让模型在容器里反复尝试、自动判分、失败重跑的工程框架,跟我天天搭的东西,本质是同一类东西。区别只是,我搭它是为了让模型把活干好,他们搭它是为了量一量这把刀到底有多快。
工具是中立的,这话听着像废话,但你真正盯着一份数据看的时候,那种中立感是会让人后背发凉的。同一套让 agent 高效干活的工程,换个目标,就是一台高效造武器的机器。
那怎么办。总不能看完吓一跳就完了。
Anthropic 给的建议其实挺务实的,分两层。
短期,防守方得把打补丁的速度提上来。整套「按月发版、多周慢慢灰度、预发布和正式版留时间差」的传统玩法,是建在「武器化要好几周」这个已经失效的假设上的。假设变了,玩法就得跟着变。Mozilla 把 Firefox 从月更提速到周更,就是这个方向上的动作。
但更治本的,是第二层,从源头减少 bug 的供给,而不是在打补丁的速度上跟 AI 赛跑。这条赛道你是跑不过它的。
具体怎么做。把关键组件迁移到内存安全的语言,比如 Rust。这篇研究里两场实验攻的,Firefox 的 JS 引擎也好、Windows 内核也好,扎堆都是内存安全类的漏洞,缓冲区溢出、越界读写这些。Rust 这类语言从语言层面就把一整类这种 bug 给堵死了,编译期就过不去。再配上 Control Flow Guard、硬件影子栈这种缓解措施,等于一次性退役掉一整个类别的攻击面。

这事儿不能根除所有攻击,但能把攻击面砍掉一大块。我觉得这是整篇里最有建设性的一句。与其在「谁更新得快」这条路上跟一个一下午出 8 个利用的对手硬拼,不如换条路,让那些 bug 压根就不存在。
写到这儿,我想起 Unix 那条老哲学,与其在错误发生后拼命处理,不如让错误从一开始就无法发生。几十年前的智慧,绕了一大圈,在 2026 年这个 AI 能一下午武器化一个月补丁的当口,又被重新擦亮了。memory-safe 不是个新概念,Rust 社区喊了这么多年,很多人当成洁癖。这份研究算是用一组冰冷的数字,给这件事补了一个最有说服力的注脚。
最后我想说点个人的感受。
我不是安全工程师,这篇研究里大部分逆向工程的细节,老实讲我也只能看个大概。但有一种感觉特别清晰,我们正站在一个东西的拐点上。
过去我们对软件安全的所有从容,那种「补丁发出去,慢慢铺,问题不大」的呼吸节奏,背后都藏着一个隐形的保护伞,叫「会干这事的人很少、很贵、很慢」。是这个稀缺性,在替我们挡着。
现在这把伞,正在被一行行 API 调用悄悄收走。稀缺性没了。
这不是说天要塌了。Anthropic 自己把这份研究公开发出来,本身就是防守的一部分,把刀有多快这件事摊在桌上,大家才好早点改玩法。我反倒觉得这种坦诚挺珍贵的。但它确实在提醒每一个跟代码、跟系统打交道的人,有些我们习以为常的安全感,是时候重新算一遍账了。
天变成小时。这五个字,值得贴在每个运维和安全团队的墙上。
我关掉那个网页的时候,窗外天已经擦黑了。说不上是兴奋还是不安,可能两个都有一点。这大概就是在 AI 浪潮里航行的常态吧,你永远在为某个新景观惊叹,同时又在留意脚下有没有新的暗礁。
这块礁石,我先记在航海日志里了。