AI 挖出两个漏洞,多国政府紧急关掉部分网站

北京时间 10 月 21 日下午到深夜,欧洲好几个国家的政府网站突然接二连三挂出了“闭门谢客”的牌子。

先是芬兰。从下午 5 点 45 分开始,负责政府信息系统的机构动手把一批公共网站挨个关掉,国家土地测量局、司法信息网,连看天气的气象研究所网站都没留。

紧接着是荷兰。政府把政务门户网站(Overheid.nl、MijnOverheid.nl)和市民办业务离不开的身份认证服务(DigiD)暂时下线。最逗的是,连荷兰国家网络安全中心自己的官网也跟着关了——管网络安全的,先把自家的门板钉死。

法国内政部也没闲着,应国家信息系统安全局的要求,把旗下所有暴露在风险中的网站全转成了“预防性维护”。结果各省政府网站一关,连发通知的地方都没了,官方公告只好临时搬到社交媒体上去发。

不过别误会,这些网站既不是全军覆没,也不是已经被黑客攻破了。荷兰政府就特意出来说明,大部分中央政府网站没用那个出事的软件,不受影响;各家也都反复强调,关站纯粹是为了预防。说白了就是:补丁还没打上,怕挨揍,干脆先拔网线躲一躲。

同一个晚上,日本首相高市早苗也跑到 X(原推特)上发帖,说这是一项“今晚就要处理的、十万火急的请求”,提醒大家赶紧检查自己的网站。白宫也传出话来,说联邦机构正和领先的 AI 实验室合作加快修复。美国网络安全和基础设施安全局、美国国家安全局、英国国家网络安全中心、德国联邦信息安全办公室、欧盟网络安全局更是排着队发警告,其中好几家给出的建议简单粗暴:没法马上修补的,先把系统下线。

能让这么多国家的机构连夜拉闸、集体紧张的,是一门叫 PHP 的编程语言,外加两个刚被翻出来的漏洞。

闯祸的 PHP 是个啥,跟我们普通人有关系吗

平时不写代码的人,可能没怎么听过 PHP,但它差不多是互联网世界里最劳模的“后厨师傅”。

你打开一个网页,上面看到的文字、图片、登录框,很多不是提前写死在那里的,而是网站的服务器临时给你“现做”出来的。PHP 就是干这活的一种常用编程语言,大家常查资料的维基百科、全球无数网站在用的建站工具 WordPress,背后都靠它撑着。参与发现漏洞的安全公司 Wiz 和 OpenAI 都说,大约七成网站在用 PHP——当然,这是它们自己的估计。

偏偏这回揪出来的两个漏洞,就长在 PHP 最要命的底层:一个是管内存的,一个是处理出错的,几乎每次有人访问网页都会经过。

漏洞厉害到什么程度?以前大家印象里的黑客攻击,好歹得偷个账号、猜个密码;这回不用了。只要网站没打补丁,攻击者不用账号、不用密码,直接给服务器发一串特制的请求,就有可能在别人的服务器上运行自己的程序,进而偷数据、改网页。更扎心的是,Wiz 说,过去十年的 PHP 版本,至少都会受它披露的这组漏洞中的一个影响。等于攒了十年的老底,一下全漏风了。

看到这儿,普通网友需要先干点什么吗?

好消息是,咱们普通人纯属前排吃瓜。PHP 跑在网站的服务器上,不在你的手机或电脑里,平时只是上网浏览的话,一般不用自己更新。

真正需要动起来的是这几类人:如果你自己建了网站,或者家里在用 NAS(网络存储设备)这类带网页管理界面的设备,那就别光顾着看热闹了,得去查查厂商有没有发补丁。而最忙的还是全球各地的网站运营者,他们得尽快装上 PHP 在北京时间 10 月 21 日晚上 10 点发布的修复补丁。前面提到的那些欧洲政府网站显示“维护中”,其实就是关起门来等补丁、装补丁呢。截至警报发布时,美国网络安全和基础设施安全局还没观察到有人利用这两个漏洞。

藏了两年的老毛病,被 AI 一把捅破了窗户纸

如果这只是一次常规的“发现漏洞、打上补丁”,还不至于闹出这么大动静。整件事最有戏剧性的地方,在于漏洞是怎么被翻出来的,以及背后那段让人哭笑不得的陈年旧账。

这次站在台前立功的是 AI。按 OpenAI 的说法,安全公司 Calif 在参加 OpenAI 的“Patch the Planet”(给地球打补丁)计划时,用 OpenAI 的模型找到了其中一个严重漏洞;另一家安全公司 Wiz 也独立发现并报告了两个漏洞。

可最精彩的反转来自 PHP 基金会自己的坦白局:其实早在 2024 年做过一次外部安全审计之后,就有开发者发现了其中一个问题的最初迹象。

既然两年前就看出来了,为什么一直没修?原因真实得就像你我身边的工作群。

一来,当时大家只看出这里有问题,但还没找到能远程控制服务器的路径,觉得没那么火烧眉毛;二来,这地方太底层,拿出来的几套修法又各有代价,要么会让一批老程序直接跑不了,要么得逼着大量第三方插件跟着改。

更要命的是,团队平时靠共识做决定,偏偏懂这块底层代码的核心开发者又少,结果修复工作就在几个月里反复停下、推翻重来。PHP 基金会自己的话很直白:这次拖延是“结构性的失败”。被这一出折腾够呛之后,基金会也说,安全团队已经开始改成可以多数决,今年还新增了人手。

那为什么拖了两年的老毛病,今年 8 月突然不拖了?因为 AI 把窗户纸给捅破了。

按 Wiz 的说法,要证明这些老缺陷真能被黑客利用,中间需要走通一长串极其复杂的步骤,以前光靠人去试门槛太高,而前沿 AI 模型大大降低了这个门槛。直到今年 8 月,Calif、OpenAI 和 Wiz 的报告把问题的完整影响直接摆上了桌面——以前觉得没法走通的死胡同,现在真被走通了,修复这才成了头号任务。OpenAI 说,自己牵头维护者、研究者和安全厂商协调了足足两个月,修复和发布则由 PHP 维护者主导。

发补丁前夜的连环乱局:泄密、手滑、抢跑

既然已经私下协调了两个月,按理说悄悄把补丁发了也就完事了,为什么 10 月 21 日那天各国政府会慌成那样?

因为在最后关头,计划彻底赶不上变化,接连出了三档子乱子。

按照原计划,各方本来约好在北京时间 10 月 22 日晚上 10 点统一公布。可就在 10 月 20 日夜里,漏洞编号不知道怎么先在网上流传开了。打草惊蛇之下,PHP 项目组没法再等,只好临时决定提前一天发布。

紧接着就是大型“手滑”现场。参与挖漏洞的安全公司 Calif,居然误发了一段演示怎么发动攻击的视频。虽然后来赶紧删了,但互联网上哪有后悔药,视频副本早就传开了。

这还没完。按 PHP 基金会的说法,一家做软件打包底座的容器镜像厂商 Chainguard,在约定的统一发布时间前六个多小时,单方面提前放出了带补丁的版本。

这三件事凑一块儿,场面就非常刺激了:官方补丁还没正式发到所有网站手里,攻击者可能已经在对着流出来的线索做研究;而提前放出来的补丁,又等于给坏人递了份“参考答案”,完全可以对着补丁修改的地方倒推出漏洞在哪。

在这个要命的时间差里,各国网络安全部门给出的建议高度一致:能马上修就马上修,修不了就先关。芬兰、荷兰、法国关掉的那些政府网站,就是在这个空当里果断选择了“先关门保平安”。

AI 找茬越来越快,修代码的人还够用吗

这一晚上的兵荒马乱,总算随着补丁上线慢慢平息了,但留下的后劲才刚开始。

OpenAI 说,这回修掉的,只是它已经找到、正在修的几个严重漏洞中的一部分,并预计类似发现在接下来几个月会“急剧增加”——当然,这是这家公司自己的预测。同时它也提到,同样的能力也能帮攻击方很快做出攻击工具。

压力最终还是落到了守着互联网地基的那群人身上。PHP 基金会的说法很实在:现在的工具找漏洞比以往任何时候都快,不管对防守方还是攻击方都一样;但漏洞找出来之后,到底怎么改、怎么权衡兼容、谁来审补丁,还得靠真正摸透整个代码库的工程师——而这样的人,现在太少了。

一边是不知疲倦、拿着放大镜满世界翻陈年漏洞的 AI,一边是人手有限、改几行底层代码还要反复掂量的维护者。如果这样的漏洞越来越多,下一次各国政府还会这样紧急关站吗?维护这些基础软件的人手,跟得上 AI 找漏洞的速度吗?