来源:市场资讯
(来源:极客公园)
「存在感太低所以安全」的时代结束了。
作者|张勇毅
编辑|靖宇
10 月 21 日晚,如果你有在社交媒体冲浪的习惯,可能会发现一个奇怪的网站关闭潮:几乎是在同一时间,全球多个国家和地区的各种重要基础设施网站纷纷宣布临时关闭。
周三。芬兰政府把所有对外的网络服务关掉了;荷兰国家网络安全中心连自己的官网也撤了下来,鹿特丹港、荷兰足协、五大政党的网站和多家医院紧随其后;法国内政部让各省政府网站暂时下线,德国联邦 IT 服务商关掉了多个站点,比利时外交部、维基媒体基金会、任天堂,也相继停掉了部分服务。
但这些网站其实都没有被黑,而是自己主动关掉的。
原因是 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 给出的建议几乎一致:来不及打补丁的系统,先下线。
于是就有了开头那一幕。
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 公司的名字,已经成批出现在全球用户最多的浏览器的安全公告里。
为什么会急剧增加,第一个原因就是找漏洞的方法可以复制了。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 挖出的漏洞集体关门,这次应该是第一次,但看起来,很难是最后一次。
*头图来源:Wiz
本文为极客公园原创文章,转载请联系极客君微信 geekparkGO
极客一问
AI 挖漏洞,最后是防守方赢,还是攻击方赢?
热门跟贴