大家好,这里是最佳拍档,我是大飞。如果你是一个全栈开发者,刚刚过去的这一周可能让你怀疑人生:整个互联网基础设施轮流出事。GitLab爆出满分10分的漏洞,Chrome紧急修了353个,Node.js和PHP接连爆雷。印度一家CA机构用数字"4"当HTTPS证书的私钥,连云部署平台Railway都出事了,用户的API Key和环境变量面临泄露风险。短短几天,原本引以为傲的全栈技术栈,瞬间变成了漏洞全家桶。
这已经不是几个孤立的安全事件了。不过今天我想重点聊的,是这波风暴里最具标志性的一件事:AI挖出的两个PHP漏洞,逼得好几个国家的政府网站在同一天主动下线。10月21日晚上,芬兰把所有对外网络服务停掉;荷兰国家网络安全中心连自己官网都撤了。鹿特丹港、荷兰足协、五大政党的网站、多家医院跟着关;法国内政部要求各省网站暂时关闭。
德国联邦IT服务商关掉多个站点,比利时外交部、维基媒体基金会、任天堂也停了部分服务。这些网站都没有被黑,而是自己主动关的。原因很直接:PHP有两个严重漏洞刚被公开。PHP相信做开发的朋友都很熟悉,全球能识别后端语言的网站里,近七成跑在它上面。而这次的漏洞,攻击者不用登录、不用任何账号密码,发几个特制请求就可能远程控制整台服务器。
所以各国政府不敢赌,先停了再说。那这件事究竟有多急呢?美国国家安全局直接说:来不及打补丁的,先让相关系统下线。Cloudflare当天就检测到攻击尝试了;安全公司watchTowr给漏洞打了满分10分,PHP官方给的是9.2分。两个漏洞都一样,它们有个合称,叫PHP2Shell,漏洞编号CVE-2026-109618和CVE-2026-109619。
只不过,这次最先找到这两个漏洞的是AI。今年8月,美国安全公司Calif的研究员瑞安·奥斯汀(Ryan Austin)开始审计PHP源代码。他借助OpenAI的GPT-5.6 Sol模型,几天之内就找到了问题。Calif首席执行官泰·杜昂(Thai Duong)事后告诉《华尔街日报》,其实这类内存管理风险早就有人注意过,只是一直被认为难以利用。
没人把它做成真正的攻击。但是奥斯汀的测试证明了:通过发送一系列请求,攻击者确实能让服务器执行自己的代码。小型系统可能几秒就被攻破,而复杂的需要几小时。8月11日,杜昂给PHP项目的安全工程师福尔克·杜施(Volker Dusch)打了个电话。杜施后来回忆,接起电话第一反应就是:天哪,我们现在该怎么办?
有意思的是,Calif并不是唯一一家找到这组漏洞的公司。几乎同一时间,另一家安全公司Wiz也撞上了它们。Wiz用了自家的Wiz Atlas工具,配合Google的Gemini 4 Argon和OpenAI的GPT-5.6 Sol,独立发现了第一个漏洞。第二天在Drupal上验证了远程执行代码的攻击路径;第三天在WordPress上也跑通了。
Wiz说,前沿模型帮他们分析失败原因、反复调整参数,几小时就让攻击在多种应用上跑通。两家公司、三个AI模型、三周之内,从两个方向撞上了同一组漏洞。其实这组漏洞的根,老得吓人:2004年安全研究员斯特凡·埃塞尔(Stefan Esser)就发现过PHP在内存耗尽时的同类问题。
2020年有人提交过相关的bug报告,几乎没人理会;2024年一次第三方资助的PHP安全审计又碰到了相关问题。但是因为没证明它真的可以被利用,最后没修。这个漏洞在PHP里躺了十多年,不止一次被人摸到了边,却一直没人把它做成真正的攻击。其实不是没人想到,而是太费劲了。
独立分析作者尼克·罗杰斯(Nick Rogers)把这种状态起了个名字,叫做“靠攻击者累到放弃来保证安全”。互联网底层的大量老代码起始都处在这种状态里:理论上有漏洞,但是真要打起来,各路神仙都觉得太费劲。所以就这么一直放着。改变这件事的,是OpenAI今年6月启动的“修补地球”(Patch the Planet)计划。
OpenAI出钱、出模型,请安全公司审计那些被全世界依赖的开源软件。Calif正是参与者之一,把目标定在了PHP。8月1日开始审计,几天后第一个问题就浮出水面了。更巧的是,Calif让AI把找到的第一个漏洞的模式总结成了一份可复用的技能文件,专门用来搜寻同一类的缺陷。
第二个漏洞就是靠这份技能文件找到的:找到一个之后,AI能把方法打包再去找下一个。Wiz的判断很直白:“这些漏洞存在了十几年,要证明能被利用,得把好几个问题串成一条复杂的链,几乎到了人类研究员的极限。”而前沿模型把这个门槛降下来了:以前要一支顶尖团队干几个月的活,现在一个研究员一周就做完了。
不过AI也不是按一下按钮就把漏洞挖出来了。Calif的奥斯汀后来写得很清楚:他没用什么特殊工具,也没用普通人拿不到的模型。关键是他熟悉PHP这20年的漏洞史,心里大概有个猜测,然后再引导模型往那个方向去找。他还说:“模型默认会从最新、最出名的漏洞往周边找,不会主动去翻20年前的冷门手法。”
那么这两个漏洞到底是怎么回事呢?它们都出在PHP最底层的内存管理上,和网站自己的代码写得好不好没关系。你访问一个PHP网站,PHP要先把表单、上传的文件这些数据解析好,然后才轮到网站自己的代码运行。请求处理完,PHP还要做一遍收尾清理。这两个漏洞,就出在这一头一尾。
第一个漏洞CVE-2026-109618是内存撑爆后留下的一个“半成品”。PHP给每个请求设了内存上限,默认128MB,也限制了上传大小。攻击者发的请求虽然没有超过大小限制,但是里面塞了成千上万个空字段和请求头。PHP要给每一项做登记,内存就会比请求本身占得多,很快就被撑满了。
PHP往登记表里加一条记录时,是先把计数加一再写内容。如果刚好卡在这两步中间内存用完,PHP就会立刻“紧急跳出”,那一条记录就只写了一半。用Apache mod_php跑PHP的时候,不管请求成没成功都会照常跑收尾清理。清理程序会按照计数挨个处理,碰到那条没写完的记录,里面其实已经是攻击者提前布置好的数据了。
第二个漏洞CVE-2026-109619是上一个请求留下的“旧记录”。一个PHP工作进程会一个接一个地处理很多请求,有些信息比如报错和会话存在进程的全局记录里指向当前请求的那块内存。攻击者先发一个请求故意让它出致命错误中途退出,这样就导致全局记录没来得及清掉。
请求结束后那块内存被回收但记录还指着它,接着攻击者再发一个请求往同一块内存里塞自己的数据。于是新请求还没正式初始化,PHP就先按那条旧记录去读,读到的正是攻击数据。最要命的是时机:这一切都发生在网站代码的第一行之前,你代码写得再小心、登录校验做得再严都拦不住。
用Apache mod_php最危险,默认配置就能被打穿;Nginx加PHP-FPM也逃不掉。Calif专门演示了这种组合下的攻击:除了执行代码,漏洞还能读到服务器的内存里面可能有密码、令牌和API密钥。消息走漏的速度比补丁快,按照行业惯例这本来应该是一次“先修好、再公开”的协调披露。
OpenAI牵头协调了两个月,拉上PHP维护者、Wiz、Cloudflare一起提前准备。Cloudflare在公开前的大约9小时就给免费和付费用户上了防护规则。但是10月20日,漏洞编号和发布日期等消息开始在Hacker News和地下论坛BreachForums上流传。watchTowr当天就确认漏洞是真的,当晚PHP官方紧急宣布补丁提前一天于21日发布。
PHP基金会后来复盘说:最初传开的消息夹杂着错误的发布时间,还把严重程度写成了满分10分而实际是9.2。补丁发布的当天PHP官方同时放出了四个受支持版本的修复:8.5.12、8.4.27、8.3.36和8.2.35。PHP 8.1及更早版本已经结束常规支持,项目这次破例为7.4、8.0和8.1都提供了最小化的源代码回溯补丁。
至于7.3及更早的版本,连源码补丁都没有。好,PHP2Shell的故事基本说完了,但为什么说这是个魔幻的一周?因为就在PHP出事的同一天整个技术栈几乎没有一块地方是安全的。Nginx在10月14日就出了五个漏洞,三个是9.2分的顶级危重。最致命的那个存在于alias指令和请求文件名变量的组合配置中,攻击者通过恶意HTTP请求就能触发堆缓冲区溢出直接拿Shell或者把服务打瘫。
更严重的是还有一个漏洞波及了传输层安全,攻击者可以绕过客户端证书验证。简单来说这个看门人直接丢了安全内核。GitLab更夸张,10月12日和21日连续爆出了两个满分10分的漏洞。CI/CD编译器底层的整数溢出缺陷允许任何未经身份验证的远程攻击者直接攻破服务器。
企业赖以生存的源代码资产和部署流水线顷刻间暴露在绝对控制之下。Node.js在10月21日也发了安全更新,22、24、26三个版本线一起修了10个漏洞。直接影响PayPal、奈飞、领英这些海量网站的后台根基,问题卡在自带的解压缩工具上。黑客可以发一个格式错误的畸形压缩包服务器解压瞬间触发底层错误重则执行代码,不过这次只有主动解压外部数据的程序才中招没有引发PHP那样大范围的恐慌。
Go语言也在那天紧急更新了加密库,漏洞存在于标准库的证书认证体系中攻击者能伪造证书链骗过Go编写的微服务组件gRPC互信和云原生Webhook校验的信任基石也就这么垮了。还有LiteLLM一个周下载量2300万次的AI模型接入网关,它的v1.107.0版本被发现植入了恶意代码。黑客没死磕源码而是盗用了开发者的发布凭据在PyPI安装包和Docker镜像里塞了木马。
所以你就算一行行审查了GitHub代码觉得没问题,实际拉取运行的包依然是带毒的。而LiteLLM接触的往往是各大模型厂商的API Key,密钥托管平台也集体失守了。云托管平台Railway在10月21日发布公告,未经授权的第三方可能访问了客户的加密环境变量里面可能有数据库密码、API密钥和私有镜像仓库凭据。Railway建议所有用户立即轮换还暂停了全部部署。
AI编程工具OpenCode也出事了,10月17日它的网页后台被入侵。1.4%用户存的OpenAI、Anthropic、Google密钥可能外泄,部分用户一夜之间产生了数百到1700多美元的异常账单。在按用量计费的AI服务里,一把泄露的密钥就像一张能被盗刷的信用卡。最荒诞的是eMudhra一家印度的CA机构,8个中间证书的私钥取值居然都小于256只需要8bit就能表示。
安全研究员斯科特·赫尔姆(Scott Helme)在自己笔记本上一秒钟就恢复出了所有私钥。其中一个私钥就是数字4,另一个是56还有115。这就好比世界顶级金库配了最先进的防盗门,结果管理员把密码设成了4。整个事件甚至不需要攻击者破解什么复杂的密码学难题。
说了这么多,你可能注意到了这一周里发生的所有漏洞原因各不相同:有的是内存管理缺陷,有的是证书校验逻辑,有的是供应链投毒,有的是私钥生成的低级失误。但它们几乎在同一时间密集暴露,而且AI在其中扮演了一个让人不安的双重角色:一方面,AI是矛。过去一年攻击者用AI的案例在急速升级。
2025年11月Anthropic披露一个有国家背景的组织利用Claude Code对约30个目标发起入侵,80%到90%的战术操作由AI自主完成。今年5月Google威胁情报团队报告一个攻击者借助AI开发出了可用的零日攻击计划发起大规模攻击被提前拦下。到了9月,案例已经变成规模化作业:疑似俄罗斯情报机构的组织用AI agent在安全软件报警后自动重写恶意程序。
还有讲中文的操作者用AI agent集群做侦察和漏洞开发,一个月产出十几个疑似零日漏洞。更具体的9月底到10月初韩国多家金融机构遭遇网络入侵,CrowdStrike在服务器里找到了开源智能体渗透测试工具ARTEX的配置文件、Claude Code会话历史和记忆文件。AI让攻击者在较短时间内完成了多次复杂入侵。
另一方面,AI自己也成了风险源。今年4月汽车租赁软件创业公司PocketOS开发者用Cursor里的Claude Opus 4.6处理测试环境的凭据问题。AI Agent却自行找到了一个权限过大的Railway API Token,通过调用删除接口在短短9秒内删除了生产数据库及同一存储卷上的备份。更离谱的是开发者根本没要求AI删除任何数据,Agent事后承认自己在没有确认目标环境的情况下执行了破坏性操作。
这暴露了AI Agent和传统自动化工具的一个关键差异:AI Agent可以自主决定下一步操作,却未必能准确判断风险。当它拥有真实生产环境权限时一次错误判断就可能变成不可逆的操作。把这一切放回过去两年的时间线会看得更清楚:2024年11月Google宣布它的AI项目Big Sleep在SQLite里找到了此前未知的漏洞,称这是AI第一次在广泛使用的真实软件里发现可利用的漏洞。
今年4月Anthropic称Claude Mythos预览版在测试中找到了数千个零日漏洞,其中包括OpenBSD里存在了27年的漏洞。因为能力太强这个模型没公开只提供给40多家维护关键软件的机构。7月AI发现的WordPress核心漏洞链wp2shell公开随后被大规模利用,到了Chrome 156正式版一个版本就修复了353个漏洞。
而一年前的Chrome 141和142分别只有21和26个。AI公司的名字已经成批出现在了全球用户最多的浏览器安全公告里:从AI能找到漏洞到AI找到的漏洞太危险模型不敢公开,再到AI找到的漏洞让政府网站关了门。整个过程只用了两年,AI对网络安全的改变第一次从安全圈内部的技术新闻变成了整个社会都感受得到的现实。
OpenAI把从发现漏洞到攻击者开始利用之间的这段时间叫做“防守方窗口”。PHP2Shell的窗口原本有两个多月,却因为一次提前泄露就被压缩到了几个小时。AI让找到漏洞变得前所未有地容易,修补却还得一台服务器一台服务器地做。Mallory统计补丁发布前一天互联网上还有88万台服务器跑着PHP 8.1或更老的版本。
对它们来说,理论上有漏洞、但是实际上没人会攻击的那份安全感已经没有了。如果你是一名开发者那么这一周的事件给的教训其实很朴素:请放弃对“全家桶”配置的安全幻想,盘点你的资产清单盯住核心依赖库的版本更新把安全左移真正落到实处。依赖扫描、密钥检测必须硬性卡在CI/CD流程里。
还有,要对AI保持敬畏:用AI写代码、查漏洞可以但是涉及生产数据、密钥和权限的高危操作务必保留人工底线。过去很多安全问题之所以长期存在是因为发现和利用它们需要相当高的专业能力和时间成本,而如今AI正在改变这笔账。它可能帮助防守方更快找到漏洞也可能帮助攻击者更快寻找薄弱点。
当写代码、找漏洞、测试攻击都开始加速企业还有多少时间留给修补呢?如果有一天AI能在几分钟内找出一个潜伏多年的严重漏洞而企业仍然需要几周完成修复,软件安全的攻防规则会变成什么样?大批政府网站因为一个AI挖出的漏洞集体关门这次应该是第一次,但看起来很难是最后一次。感谢收看,我们下期再见。