Skip to content

Commit d18c5dd

Browse files
author
chenli
committed
feat: 更新 node-ipc 事件为今日曝光,突出极严重紧迫性
1 parent 31e5ad7 commit d18c5dd

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

‎source/_posts/big-vuln-era.md‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ description: AI 正在降低发现基础软件漏洞的成本,而基础软件
3030
| 2026 年 5 月 1 日 | **Copy Fail** | Linux 内核本地提权 | CVE-2026-31431 | 严重,已进入 CISA KEV |
3131
| 2026 年 5 月 7 日 | **Dirty Frag** | Linux 内核本地提权 | — | 高危,影响主流发行版 |
3232
| 2026 年 5 月 11 日 | **TanStack npm 攻击** | 供应链投毒 | — | 高危,84 个恶意版本 |
33-
| 2026 年 5 月 14 日 | **node-ipc 信息窃取器** | 供应链投毒 | — | 高危,DNS 隧道外传凭据 |
33+
| 2026 年 5 月 14 日(今日)| **node-ipc 信息窃取器** | 供应链投毒 | — | **极严重,刚刚曝光,DNS 隧道外传凭据** |
3434
| 2026 年 5 月 13 日 | **CVE-2026-42945 NGINX** | 远程内存破坏 | CVE-2026-42945 | **严重(CVSS 9.2),可远程触发** |
3535

3636
这张表放在一起看,会有一种奇怪的感觉:它们来自不同方向——内核、包管理器、AI 工具链、Web 服务器——但节奏越来越密,影响越来越广。这不是偶然的波动,而是一个趋势正在成形。
@@ -85,9 +85,13 @@ Linux 是现代互联网的底座。一个内核本地提权漏洞的真实影
8585

8686
**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` 时窃取凭据。
8787

88-
**node-ipc 事件**(2026 年 5 月 14 日)是这个系列里技术细节最值得细看的一个。`node-ipc@12.0.1` 的 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()` 的项目才会触发。
88+
**node-ipc 事件**(2026 年 5 月 14 日,**今天**)——这篇文章写到这里时,这个事件刚刚在几小时前被发现,GitHub issue 还是 Open 状态,npm 尚未下架。这是这个系列里技术细节最值得细看的一个,也是目前最新的一条。
8989

90-
如果你的项目依赖了 `node-ipc@12.0.1`,应当立即**轮换所有曾在该环境中出现过的凭据**,并检查 DNS 日志中是否有异常的长子域名查询。
90+
`node-ipc@12.0.1` 的 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()`,父进程正常退出,不留任何可见痕迹。
91+
92+
值得注意的是,ESM 入口 `node-ipc.js` 是干净的,恶意代码**只存在于 CJS bundle**,这意味着使用 `require()` 的项目才会触发,而使用 `import` 的项目不受影响。这种精准的投毒方式说明攻击者对目标生态有深入了解。
93+
94+
**如果你的项目依赖了 `node-ipc@12.0.1`,请立即停止使用,将系统视为已失陷**:轮换所有曾在该环境中出现过的凭据(API key、SSH key、云账号 token),并检查 DNS 日志中是否有异常的长子域名查询。
9195

9296
这些事件说明,**软件供应链已经从「代码质量问题」升级为「身份、发布、构建、依赖、运行环境」一起承受的风险**。
9397

0 commit comments

Comments
 (0)