本文来自微信公众号: 极客公园 ,作者:张勇毅,编辑:靖宇
「存在感太低所以安全」的时代结束了。
10月21日晚,如果你有在社交媒体冲浪的习惯,可能会发现一个奇怪的网站关闭潮:几乎是在同一时间,全球多个国家和地区的各种重要基础设施网站纷纷宣布临时关闭。
周三。芬兰政府把所有对外的网络服务关掉了;荷兰国家网络安全中心连自己的官网也撤了下来,鹿特丹港、荷兰足协、五大政党的网站和多家医院紧随其后;法国内政部让各省政府网站暂时下线,德国联邦IT服务商关掉了多个站点,比利时外交部、维基媒体基金会、任天堂,也相继停掉了部分服务。

荷兰政府宣布DigiD等网站预防性下线|图片来源:Rijksoverheid
但这些网站其实都没有被黑,而是自己主动关掉的。
原因是PHP的两个漏洞:PHP是世界上用得最多的网站后端语言,W3Techs的统计里,能识别出后端语言的网站约七成跑在它上面。这两个漏洞被合称为PHP2Shell,攻击者不需要登录,就有可能远程控制整台服务器。
最先找到它们的,是AI。
不过AI找到漏洞早就不是新闻了。但据目前的公开报道,这是第一次,一个由AI挖出来的漏洞,让好几个国家的政府在同一天关掉了自己的网站。它真正宣告结束的,是网络安全里一条从没写进教科书、却一直在起作用的规矩:很多漏洞之所以安全,只是因为攻击它们太累了。
PHP官方给这两个漏洞的严重程度评分都是9.2(满分10),安全公司watchTowr直接打了满分。
它们都出在PHP最底层的内存管理上,和网站自己的代码写得好不好无关。PHP官方的说法是,所有处理网页请求的PHP都受影响;Cloudflare说,受影响的版本一路追溯到十多年前的PHP 5.4。PHP基金会的Volker Dusch拿它和2014年的「心脏出血」比,说这是十多年来最严重的PHP安全问题。
让各国政府紧张的,是接下来混乱的48小时:漏洞原本处在保密期,按照行业惯例,软件方先把补丁准备好,再和发现者一起公开。
但10月20日,有人在Hacker News和地下论坛BreachForums上放出了消息,watchTowr当天确认漏洞是真的。当晚,PHP官方紧急宣布,补丁提前一天,在21日14:00(UTC)发布。
补丁出来之前,攻击尝试就开始了。Cloudflare的CTO Dane Knecht在补丁发布前近六小时就在X上说,「我们看到早期攻击正在出现」。美国国家安全局、英国国家网络安全中心、欧盟网络安全机构CERT-EU给出的建议几乎一致:来不及打补丁的系统,先下线。
于是就有了开头那一幕。

三家公司联合披露了这组漏洞|图片来源:PHP2Shell
01
幽灵漏洞复活
PHP2Shell最反常的地方在于,它并不新,它甚至并不是昨天刚刚发现的。
首个发现它的安全公司Calif在技术文章里,把它的源头追溯到2004年。在20年前,安全研究员Stefan Esser就发现过PHP在内存耗尽时的同类问题。2020年,有人提交过相关的bug报告,几乎没人理会;2024年,一次第三方资助的PHP安全审计又碰到了相关问题,但因为没能证明它真的可以被利用,最后没有修。
这个漏洞在PHP里躺了十多年,不止一次被人摸到了边,却一直没有人把它做成真正的攻击。
原因不是没人想到,而是太费劲。独立作者Nick Rogers在分析文章里说,把这类漏洞做成能用的攻击,需要「数周枯燥的手工调试」,过去没有人愿意为它付出这个成本。他给这种状态起了个名字:security by exhaustion,靠攻击者累到放弃来保证安全。
互联网底层大量的老代码,都处在这种诡异但拧巴的状态里。理论上有漏洞,但真要打起来各路神仙都又觉得太费劲,所以就这么一直放着。
改变这件事的,是今年6月OpenAI启动的一个计划「Patch the Planet」:出钱、出模型,请安全公司去审计那些被全世界依赖的开源软件。Calif是参与者之一,它把目标定在了PHP。
8月1日,Calif的研究员Ryan Austin带着AI开始审计。按照Calif公开的技术文章,AI在这次审计里是「审计搭档」,也是agent:它梳理PHP内核代码、追踪程序的执行路径,第一个漏洞的关键缺陷,就是agent在内核代码里发现的。开始审计后仅仅几天,第一个问题就浮出了水面。
8月11日,Calif把漏洞报告给了PHP:团队让AI把第一个漏洞的「模式」总结成一份可复用的技能文件,专门用来搜寻同一类缺陷。第二个漏洞,就是靠这份技能文件找到的。
AI找到一个漏洞之后,可以把找到它的方法打包,再去找下一个。
哦顺道一提,按OpenAI在官方博文里的说法,Calif这次没有使用类似Daybreak等专用AI网络攻防工具,也没有使用类似Astra这样的前沿旗舰模型,而是GPT-5.6 Sol这样更便宜的模型。
几乎同一时间,另一家安全公司Wiz也撞上了同一组漏洞。8月19日,Wiz的研究员借助自家工具Wiz Atlas、Google的Gemini 4 Argon和OpenAI的GPT-5.6 Sol,独立发现了第一个漏洞。第二天,他们在Drupal上验证了远程执行代码;第三天,在WordPress上也验证成功。
Wiz在博客里写道,前沿模型帮团队分析失败原因、反复调整,「几小时内」就让攻击在多种应用上跑通。它的结论是:「一名研究员一周完成了过去需要世界顶尖团队数月的工作。」Wiz把这次发现里最大的功劳给了Gemini 4 Argon,Google DeepMind的Gemini安全负责人Raluca Ada Popa也出来说,这展示了「为什么前沿AI会改变网络防御的格局」。
两家公司、三个AI模型,三周之内,从两个方向撞上了同一组漏洞。OpenAI和Google各自强调自家模型的贡献,这本身就说明,用AI找漏洞已经成了头部AI公司正面竞争的赛道。
AI改变的,似乎并不只是「能不能发现」,更多在于「值不值得做」。当找漏洞、验证漏洞、把攻击适配到不同环境的成本,从「顶尖团队几个月」降到「一个人一周」,甚至「几个小时」,过去那些「太累了不值得」的漏洞,就全都变成了值得。Rogers的说法是,AI第一次把网络攻击的边际成本「推向了零」。
这也解释了为什么两家公司会在三周内撞上同一组漏洞。Calif特别说明,最初发现漏洞时,「没有使用特殊的工具,也没有使用普通人拿不到的模型」。防守方用公开的模型能找到它,攻击方同样可以。
把PHP2Shell放回过去两年,能看到一条逐渐引燃导火索:2024年11月,Google宣布它的AI项目Big Sleep在数据库软件SQLite里找到一个此前未知的漏洞,称这是AI第一次在广泛使用的真实软件里发现可利用的漏洞。
今年4月,Anthropic称Claude Mythos预览版在测试中找到了数千个零日漏洞,其中包括OpenBSD里一个存在了27年的漏洞,因为能力太强,这个模型没有公开,只提供给40多家维护关键软件的机构。
7月,由AI发现的WordPress核心漏洞链wp2shell公开,随后被攻击者大规模利用。

从「能找到」到「让政府关站」,用了两年|图片来源:极客公园
从「AI能找到漏洞」,到「AI找到的漏洞太危险,模型不敢公开」,再到「AI找到的漏洞让政府网站关了门」。AI对网络安全的改变,第一次从安全圈内部的技术新闻,变成了整个社会都感受得到的现实。
对当下这种乱成一锅粥的局面,OpenAI在博文里也挽尊了一下:帮助发现漏洞的同一种能力,「也能帮攻击者快速开发攻击工具」。
这已经不是假设。PHP2Shell公开当天,watchTowr的研究员Jake Knott说,他们在诱饵服务器上观察到的攻击尝试,用的工具部分就是借助AI写出来的。「到目前为止还没有人成功,但我们不认为这能持续很久。」
过去一年,攻击者用AI的案例在急速升级。2025年11月,Anthropic披露,一个被它认定有国家背景的组织利用Claude Code对约30个目标发起入侵,攻击中80%到90%的战术操作由AI自主完成。
今年5月,Google威胁情报团队报告,一个攻击者借助AI开发出了可用的零日漏洞攻击,计划发起大规模攻击,被Google提前拦了下来,这被认为是攻击者第一次成功用AI造出零日攻击。Google威胁情报首席分析师John Hultquist说,AI不仅能大规模审查代码找漏洞,还能「做出可用的攻击,而这曾经是一道很高的门槛」。
到了9月,Anthropic的威胁情报报告里,案例已经变成了规模化作业:一个疑似与俄罗斯情报机构有关的组织,用AI agent在安全软件报警后自动重写恶意程序,目标包括20多家政府部门和国防机构;一群讲中文的操作者用AI「agent集群」做侦察和漏洞开发,其中一条流程在一个月里产出了十几个疑似零日漏洞;一名独立的黑客行动者,靠AI写出一个WordPress零日攻击,在42个目标里至少攻破了14个。
Anthropic在报告里的说法是,AI把成本又转嫁回了防守方。过去发起一次复杂攻击需要一个团队,现在一个人加上几个AI agent就够了。
02
防守方的时间窗口
PHP2Shell公开当天,OpenAI还给了一个判断:未来几个月,类似的发现会急剧增加。
这句话已经有数据在印证。PHP2Shell公开的前一天,10月20日,Google发布了Chrome 156正式版,这一个版本修复了353个安全漏洞。一年前的Chrome 141和142,这个数字分别是21和26。

一年时间,单版本修复数涨了十倍以上|图片来源:极客公园
报告人的名单也变了。Chrome 156里最高等级的6个「严重」漏洞,有4个由Anthropic的研究员Xinyang Ge报告,其中一个明确标注「由Claude协助」;另有1个来自OpenAI的Codex Security。AI公司的名字,已经成批出现在全球用户最多的浏览器的安全公告里。

6个严重漏洞,5个由AI公司报告|图片来源:极客公园
为什么会急剧增加,第一个原因就是找漏洞的方法可以复制了。PHP2Shell里那份技能文件就是例子:过去,一个顶尖安全研究员的经验很难复制;现在,它可以变成一个文件,交给无数个agent同时去跑。
事实上,如今互联网上仍等着被挖的「存量」太大了。互联网的底层,是几十年积累下来的老代码,PHP、浏览器、操作系统、各种开源库。像PHP2Shell这样「早就有人摸到边、只是太难打」的漏洞,在这些代码里还有多少,没人数得清。过去它们靠「太累了」被保护着,这层保护正在消失。
这也是为什么各家前沿AI研究机构都在加码。Anthropic把Mythos提供给40多家关键软件机构,OpenAI为Patch the Planet拿出10亿美元等值的使用额度,Google有Big Sleep,Wiz这次也押上了Gemini。头部AI公司都把「用AI找漏洞」当成了展示模型能力的主战场。但别忘了,攻击者手里的AI,和防守方用的往往也是同一代模型。
OpenAI把发现漏洞到攻击者开始利用之间的这段时间,叫做「防守方窗口」。PHP2Shell的窗口原本有两个多月,一次提前泄露,就把它压缩到了几个小时。
AI让找到漏洞变得前所未有地容易,修补却还得一台服务器一台服务器地做。PHP只为8.2到8.5四个版本发布了正式修复,安全公司Mallory统计,补丁发布前一天,互联网上约有88万台服务器还在对外显示PHP 8.1或更老的版本。对它们来说,「理论上有漏洞,实际上没人会打」的那份安全感,已经没有了。
政府网站因为一个AI挖出的漏洞集体关门,这次应该是第一次,但看起来,很难是最后一次。
本文为极客公园原创文章,转载请联系极客君微信geekparkGO
极客一问
AI挖漏洞,最后是防守方赢,还是攻击方赢?
