Dekita

AI 把藏了二十年的漏洞变成武器,老代码的安全假设该重算了

中文长文存档 AI 提效

一、事情本身:PHP2Shell 到底曝了什么

2026 年 10 月 21 日,PHP 官方紧急发布 8.5.12、8.4.27、8.3.36、8.2.35 四个修复版本,同时给 7.4 到 8.1 的老版本线出了源码补丁。触发这次紧急发版的,是后来被称为 PHP2Shell 的一组缺陷。两个 CVE,最高危险评分 9.2,影响范围一直追溯到 PHP 5.4。

缺陷的性质是内存安全问题。PHP 处理致命错误时,特别是内存耗尽的场景,内部状态可能损坏。后续请求再复用这份残留状态,就会产生两档后果:未经身份验证直接在服务器执行代码,或者读取服务器进程内存。内存里可能有密码、令牌和密钥。

演示目标是 WordPress、Drupal、Joomla 这类跑在 PHP 上的头部应用。但漏洞在语言引擎本身,应用代码一行没错也照样暴露。

发布信息里最需要澄清的一点:这并非 AI 凭空造出了新漏洞,缺陷存在了十几年,属于长期潜伏、这次被接力挖出。Calif 研究员 2026 年 8 月在 OpenAI 的 Patch the Planet 审计项目里,先找到第一个缺陷。Wiz 团队几天后独立发现同一组问题。双方随后与 PHP 安全团队做了两个多月的变体排查和补丁验证。

二、真正的新变量:利用链这道人工闸门失效了

这类老漏洞过去为什么不算急?因为利用难度极高。要打通攻击,需要把多个缺陷串成链。每一步都依赖目标环境的内存结构,得反复调试试错。漏洞圈对这类问题的处理惯例是:问题存在,但利用不现实,优先级往后排。

AI 改变的正是这个前提。按 Wiz 的公开说法,前沿模型在漏洞定位、利用链拼装、跨版本适配、补丁验证四个环节都实质缩短了工期。一个人配合模型,一周干完过去一个团队数月的量。两家团队用的模型包括 Gemini 与 GPT 系列,型号名为第三方转述,细节以官方报告为准。

这动摇了安全行业一条默认的定价逻辑。漏洞的危险度,约等于存在性乘以可利用性。可利用性长期由人工成本托底。链条越复杂,愿意去碰的人越少,风险就越接近账面数字。当拼装复杂利用链的边际成本被大模型压低,一堆躺在老代码里的理论风险会集体改价。

安全行业内部已有人把这起事件和 2014 年的 Heartbleed、2021 年的 Log4Shell 相提并论。前两次改变了大家对共享基础设施脆弱性的认知。这次改变的是另一个问题:复杂度本身还能不能当防线。

三、同一周的另一半图景:开发者在担心什么

把视野从漏洞本身挪开一周,Hacker News 高分层上有两个话题值得注意。它们来自我们连续多日的外网采集。Ask HN 上如何面对交付 AI 写的代码,连续七天在榜,峰值 620 分。网站开始对 AI 抓取器关门这个话题同样多日在榜。加上 PHP2Shell 条目本身出现 7 天、峰值 455 分,三条拼在一起是同一件事的三个面。AI 提升了攻击者找漏洞的效率,也放大了普通开发者对 AI 产出物的信任焦虑。

值得留意的是,双方的论据其实不对称。攻击侧的效率提升有事件佐证,这次就是现成案例。防守侧的自动化补救,也就是让 AI 自动打补丁,还处在厂商宣传居多、实战数据少的阶段。判断风险窗口能不能收窄,要看后者,而不是前者。

四、对不同人的具体含义

维护网站或服务器的人:更新 PHP 运行时是唯一彻底的修法。只更新应用、不更新底层 PHP,等于没修。等不及更新的场景里,官方给出的缓解措施都有功能或可用性代价,只能当过渡。

管老系统的人:这次之后,代码太老没人看得懂所以安全这个隐含假设不能再用。该盘一遍自己手里有哪些超过十年没动过的运行时。评估优先级时,把 AI 降低了翻旧账成本这句话写进前提。

不碰技术的普通用户:这类服务器内存漏洞的受害者,往往是别人数据库里的凭据。值得做的一件事是检查重复密码,尤其是还在运行的老论坛、老商城账号。能改一个是一个。

对做技术内容的人:安全从来是攻防成本比的博弈,这次是成本曲线的一次折点。跟进这类事件,盯防守方工具链有没有跟上,比盯 AI 又变强了有价值。

五、写在最后

这起事件里,AI 既非救星也非反派,它是一台把两边效率同时抬高的机器。真正的悬念在后面:漏洞自动发现的产能已经被打开,自动修补的产能还没跟上。两个产能之间的时间差,就是接下来所有老系统的风险窗口。

这篇只讲公开事实与产业结构,不对任何具体公司做判断。

事实核:PHP2Shell 缺陷、CVE 编号、评分、修复版本与日期,取自 php2shell 官方站与 PHP 官方发布口径,经至少两个独立分析站交叉验证(2026-10-29 检索,证据等级 B)。HN 话题热度取自话题脉搏跨日复现表。不构成任何投资建议。