我们已经站在「大漏洞时代」的入口
在写这篇文章前,我把近两年里让我印象深刻的安全事件整理了一遍,发现它们密集得有些让人不安:
| 时间 | 事件 | 类型 | CVE | 严重程度 |
|---|---|---|---|---|
| 2026 年 5 月 15 日 | ssh-keysign-pwn | Linux 内核本地提权 | CVE-2026-46333 | 高危,两个 PoC 已公开,可读取 SSH 主机私钥 |
| 2026 年 5 月 14 日 | node-ipc 信息窃取器 | 供应链投毒 | — | 极严重,刚刚曝光,DNS 隧道外传凭据 |
| 2026 年 5 月 14 日 | Fragnesia | Linux 内核本地提权 | CVE-2026-46300 | 高危(CVSS 7.8),PoC 已公开 |
| 2026 年 5 月 13 日 | CVE-2026-42945 NGINX | 远程内存破坏 | CVE-2026-42945 | 严重(CVSS 9.2),可远程触发 |
| 2026 年 5 月 11 日 | TanStack npm 攻击 | 供应链投毒 | — | 高危,84 个恶意版本 |
| 2026 年 5 月 7 日 | Dirty Frag | Linux 内核本地提权 | — | 高危,影响主流发行版 |
| 2026 年 5 月 1 日 | Copy Fail | Linux 内核本地提权 | CVE-2026-31431 | 严重,已进入 CISA KEV |
| 2026 年 3 月 31 日 | Axios npm 投毒 | 供应链投毒 | — | 高危,RAT 植入 |
| 2026 年 3 月 25 日 | Apifox 客户端投毒 | 供应链投毒 | — | 高危,开发者工具链,窃取 SSH key / 云凭据 |
| 2026 年 3 月 24 日 | LiteLLM PyPI 投毒 | 供应链投毒 | — | 高危,针对 AI 工具链 |
| 2025 年 | Nx 构建系统投毒 | 供应链投毒 | CVE-2025-10894 | 高危,窃取凭据 |
| 2025 年 9 月 | npm 大规模供应链攻击 | 供应链投毒 | — | 高危,波及大量开发者 |
| 2024 年 3 月 | XZ Utils 后门 | 供应链投毒 | CVE-2024-3094 | 严重,差点进主流发行版 |
| 2022 年 | Dirty Pipe | Linux 内核本地提权 | CVE-2022-0847 | 高危,已被利用 |
这张表放在一起看,会有一种奇怪的感觉:它们来自不同方向——内核、包管理器、AI 工具链、Web 服务器——但节奏越来越密,影响越来越广。这不是偶然的波动,而是一个趋势正在成形。
AI 正在降低发现基础软件漏洞的成本,而基础软件又支撑着云、容器、开发工具、CI/CD 和终端设备。一旦这里出现问题,影响会沿着软件依赖、镜像、服务器、开发者电脑和自动化流水线一路扩散。
我把这个阶段称为**「大漏洞时代」。它的特征有三个:漏洞越来越多出现在内核、密码学接口、包管理器等基础层;提权利用变得更稳定,普通用户也可能快速拿到 root;供应链攻击从偶发事故变成高频风险**。
AI 让基础软件漏洞更容易被发现

AI 对安全攻防最大的影响,不是写钓鱼邮件,而是开始参与**「读代码」**这件事。
基础软件的代码过去很难审——代码量大、历史长、边界复杂,危险逻辑可能藏在多年前的提交里。Copy Fail 是一个很有代表性的信号:Theori / Xint 让 AI 分析 Linux crypto 子系统的调用路径,约一小时后,CVE-2026-31431 成为最高严重度输出之一,随后进入 CISA 已知被利用漏洞目录。
这件事说明漏洞研究的成本结构变了。过去需要少数专家长时间阅读的代码,现在可以被工具大规模扫描。攻击者同样能用类似思路找问题。
Linux 提权漏洞说明基础设施的安全边界正在变薄

Linux 是现代互联网的底座。一个内核本地提权漏洞的真实影响,往往远超「本地漏洞」四个字。
Dirty Pipe(CVE-2022-0847)已进入 CISA KEV。Copy Fail(CVE-2026-31431)有公开利用代码,Red Hat 要求高优先级处理。Dirty Frag 于 2026 年 5 月 7 日披露,涉及 Linux 内核网络子系统,本地账号用户可利用它获得 root 权限。
Fragnesia(CVE-2026-46300)是两周内第三个被发现的 Linux 内核本地提权漏洞,于 2026 年 5 月 14 日由 V12 安全团队的研究员 William Bowling 披露。它根植于 Linux 内核的 XFRM ESP-in-TCP 子系统,利用其中的逻辑错误,无需任何竞争条件,就能对内核页缓存实现任意字节写入——具体路径是覆盖 /usr/bin/su 的页缓存内容,进而得到 root。Wiz 将其描述为「确定性的页缓存腔坏原语」,V12 已公开 PoC。CVSS 评分 7.8,AlmaLinux、Debian、Red Hat、Ubuntu 等主流发行版均已发布公告。当前缓解方法与 Dirty Frag 相同:禁用 esp4、esp6 及相关 xfrm/IPsec 功能。
ssh-keysign-pwn(CVE-2026-46333)是两周内第四个 Linux 内核本地提权漏洞,由 Qualys 于 2026 年 5 月 15 日披露,Linus 在同一天推送了修复提交 31e62c2ebbfd。漏洞藏在 __ptrace_may_access() 里一个已经被 Jann Horn 在 2020 年指出过的逻辑缺陷:当目标进程的 mm(内存描述符)为 NULL 时,内核会跳过 dumpable 检查。而在 do_exit() 流程中,exit_mm() 早于 exit_files() 执行,这就产生了一个窗口期——特权进程已经释放了内存,但文件描述符还开着。攻击者在这个窗口内调用 pidfd_getfd(2),就能从正在退出的特权进程里「偷走」文件描述符。
这个原语的威力在于它能拿到什么:ssh-keysign 在调用 permanently_set_uid() 降权之前,会打开 /etc/ssh/ssh_host_*_key;chage 在 setreuid() 之前会打开 /etc/shadow。攻击者偷到这些描述符,就直接拿到了服务器的 SSH 主机私钥或完整的密码哈希文件。公开的两个 PoC(ssh-keysign-pwn 和 chage_pwn)在 AlmaLinux 9 和 10 上均可稳定复现。临时缓解方法是将 Yama 的 ptrace_scope 设为 3(sysctl -w kernel.yama.ptrace_scope=3),但这会影响调试器的正常使用。
这几个案例放在一起,揭示一个危险趋势:攻击者一旦拿到普通权限,走向 root 的距离正在缩短。容器、最小权限这些设计仍然有价值,但不能再被当成牢固的最后屏障。
NGINX 也没能幸免:CVE-2026-42945
内核之外,流量入口同样暴露了。CVE-2026-42945 于 2026 年 5 月 13 日由 F5 披露,由安全研究员 Zhenpeng (Leo) Lin 负责任地发现。
漏洞存在于 NGINX 的 ngx_http_rewrite_module 模块。当 rewrite 指令使用未命名 PCRE 捕获组(如 $1、$2)且替换字符串含问号时触发。未经认证的攻击者通过构造 HTTP 请求即可在 worker 进程中触发堆缓冲区溢出;对于禁用 ASLR 的系统,还可能实现代码执行。
评级为 CVSS v3.1 高危(8.1)/ CVSS v4.0 严重(9.2)。受影响范围:NGINX Plus R32–R36、Open Source 1.0.0–1.30.0,以及 Ingress Controller、Gateway Fabric、App Protect WAF 等周边产品。修复版本:NGINX Plus R36 P4 / R32 P6,NGINX Open Source 1.31.0 / 1.30.1。
缓解措施:将 rewrite 中的未命名捕获组改为命名捕获组(如 (?<user_id>[0-9]+))。
这与内核提权漏洞的逻辑完全不同——它从外部直接击打基础设施的流量入口,不需要任何本地立足点。
「本地漏洞」在云和容器时代不再只是本地问题
很多人看到「本地提权」会松一口气,觉得攻击者必须先登录机器。这个想法在今天已经过时了。
在云和容器环境里,一次 Web 漏洞、一个泄露的 CI token、一个被污染的镜像,都可能让攻击者进入某个容器或普通用户上下文。此时,本地提权漏洞就会成为第二段攻击链,把「低权限立足点」变成「宿主机 root」或「横向移动入口」。
软件供应链已经成为攻击者更喜欢走的路

供应链攻击的可怕之处在于,它利用的是开发者的信任。攻击者只要污染一个维护者账号、一个 npm 包、一个构建脚本,就可能让恶意代码以「正常依赖」的身份进入项目。
Axios 事件(2026 年 3 月 31 日):两个恶意版本通过被攻陷的维护者账号发布,引入远程访问木马,约三小时后被移除。XZ Utils 后门(CVE-2024-3094):恶意代码被插入上游 tarball,差点进入关键系统。LiteLLM 投毒(2026 年 3 月 24 日):针对 AI 工具链,恶意代码读取 LLM API key、云凭据、SSH key 并外传。TanStack 事件(2026 年 5 月 11 日):攻击者组合 pull_request_target 高风险用法、GitHub Actions cache poisoning 和 OIDC token 提取,发布了 84 个恶意版本,在 npm install 时窃取凭据。
Apifox 事件(2026 年 3 月)有一点不一样的地方:被攻击的不是开源包,而是一个商业软件的客户端本身。Apifox 公网 SaaS 版桌面客户端动态加载的一个外部 JavaScript 文件被恶意篹改,攻击者利用这个动态加载机制将信息窃取器注入到每一个打开客户端的开发者的电脑上。就这样,一个每天打开调 API 的工具,在 2026 年 3 月 4 日至 3 月 22 日长达 18 天的时间里,可能一直在展开用户设备上的高敏感文件:~/.ssh/、~/.zsh_history、~/.bash_history、~/.git-credentials、云服务 Access Key、数据库密码。游走路径是 C2 域名 apifox.it.com,托管在 Cloudflare 上。
这个事件展示了一个很容易被忽略的攻击面:开发者日常使用的工具本身。不是依赖包,不是 CI/CD,而是你每天打开的那个界面。它的外部 JS 加载机制让攻击者有机会在不更新客户端的情况下,持续注入恶意逻辑。Apifox 已在 2.8.19 版本中彻底废除该动态加载机制,改为本地内置打包。如果你在风险时间段内使用过公网 SaaS 版桌面客户端,应当立即轮换设备上存储过的所有高敏凭据。
node-ipc 事件(2026 年 5 月 14 日,今天)——这篇文章写到这里时,这个事件刚刚在几小时前被发现,GitHub issue 还是 Open 状态,npm 尚未下架。这是这个系列里技术细节最值得细看的一个,也是目前最新的一条。
[email protected] 的 CJS 入口文件 node-ipc.cjs 在合法 esbuild 产物末尾,追加了一段经过重度混淆的自执行函数——变量名全部 hex 编码,字符串数组旋转,控制流扁平化,静态扫描几乎无法识别。解混淆后,这段代码会收集系统信息(OS、hostname、uname -a、/etc/hosts)、遍历所有环境变量、按编码路径模式抓取 SSH key、云凭据、浏览器 profile、.git 目录等敏感文件,打包成 tar.gz,再用 XOR 流加密后通过 DNS 隧道外传——resolver 被强制指向 8.8.8.8 和 1.1.1.1 以绕过本地 DNS 过滤。为了隐蔽,payload 会 fork 一个 detached 子进程后立即 unref(),父进程正常退出,不留任何可见痕迹。
值得注意的是,ESM 入口 node-ipc.js 是干净的,恶意代码只存在于 CJS bundle,这意味着使用 require() 的项目才会触发,而使用 import 的项目不受影响。这种精准的投毒方式说明攻击者对目标生态有深入了解。
如果你的项目依赖了 [email protected],请立即停止使用,将系统视为已失陷:轮换所有曾在该环境中出现过的凭据(API key、SSH key、云账号 token),并检查 DNS 日志中是否有异常的长子域名查询。
这些事件说明,软件供应链已经从「代码质量问题」升级为「身份、发布、构建、依赖、工具、运行环境」一起承受的风险。
大漏洞时代的核心:发现更快,扩散也更快
今天的漏洞风险变大,真正的问题是速度。AI 让漏洞发现更快;开源生态让影响更广;云和容器让漏洞穿过更多边界;自动化构建让恶意版本传播更快。
这就是「大漏洞时代」的核心:漏洞从单点事件变成链式事件。一个内核漏洞把普通权限变成 root;一个 npm 包被污染把木马送进 CI/CD;一个维护者账号被攻陷让可信项目短时间内发布恶意版本。
安全必须进入持续运行状态,覆盖依赖选择、版本锁定、构建隔离、密钥管理、补丁节奏和事故响应。
我们应该怎么办
最危险的心态是相信某个系统足够成熟所以不会出大问题。Linux 足够成熟,还是会有 Dirty Pipe、Copy Fail、Dirty Frag。Axios 足够流行,还是会出现被污染版本。
更现实的前提是:基础软件会出漏洞,维护者账号会被攻陷,依赖会被污染。安全工作的目标要更具体:出事时尽量把影响限制在小范围内。
管住依赖:重要项目必须有 lockfile,升级依赖时先看 release 和官方公告,对 npm/PyPI 能关 lifecycle script 就关。降低 CI 含权量:CI token 用最小权限,能用 OIDC 短期凭据就用短期凭据,构建环境最好一次性使用。把事故处理前置:依赖升级后出现异常网络请求就按凭据可能泄露处理,先隔离再查再轮换 token。减少盲目信任:对靠近 AI API key、云账号、CI 发布权限的工具,用更高标准审视。
大漏洞时代已经开始

AI 发展会让漏洞发现能力进一步放大。基础软件越复杂,隐藏多年的逻辑错误越可能被翻出来。攻击者越来越少正面硬打生产系统,越来越多从开发和依赖入口进入。
Dirty Pipe、Copy Fail、Dirty Frag、Fragnesia、ssh-keysign-pwn 提醒我们,底层系统的一个逻辑细节,可能击穿 root 边界。CVE-2026-42945 提醒我们,流量入口同样不是安全地带。Axios、XZ Utils、LiteLLM、TanStack、Apifox、node-ipc 提醒我们,可信依赖也好、日常工具也好,都可能在短时间内变成攻击载体——而且手法越来越精密,混淆越来越混,DNS 隧道这种出口方式连防火墙都难以察觉。
我们即将站在大漏洞时代。更准确地说,我们已经站在门口了。