趋势与洞察:从数据到 12–24 个月预判

系列收官篇 · 数据驱动 + 洞察 · 不再展开技术细节,技术请参见本系列 02–07 篇

把过去六年的 PyPI 与 npm 投毒数据并排放在一张时间线上,最直观的感受不是"增长",而是「相变」。2019 年厂商监测到的恶意包接近零;2025 年累计阻断量已突破 123 万。中间的曲线先是 +700%、+633% 的指数攀升,随后在 2024 年完成从「人工攻击」到「自动化攻击」的拐点,再在 2025 年迎来蠕虫范式(Shai-Hulud / Sha1-Hulud / Glassworm)登场——恶意包不再是被推上仓库后等待安装,而是会自己复制、扩散、重新投毒。本文不做技术分解(已分散在系列 02–07 篇),而是把所有可拿到的一手数据汇聚成三张主表,提炼六大新趋势、五条洞察与五条 12–24 个月的预判,作为这个系列的收尾。


一、历年数据全景(2019–2026)

1.1 Sonatype 时间序列:从零到一百二十万

Sonatype 自 2019 年起持续每年发布 State of the Software Supply Chain(SSSC),其「自 2019 年累计 / 当年新增的恶意包数量」是行业最完整的时间序列。把 2019–2025 七年数据并排,曲线形态非常清晰:

  • 2019 年:检测到的恶意包接近 0,几乎是零基线。1
  • 2020 年:约 1,200 个,攻击进入概念验证期。1
  • 2021 年:约 12,000 个,YoY +900%;同年 Sonatype 测得三年平均年化增长 +650%–700%。1
  • 2022 年:约 88,000 个,YoY +633%。2
  • 2023 年:截至 2023 年 9 月已记录 245,032 个,是 2022 年全年的约 3 倍,且超过 2019–2022 四年总和的 2 倍。3
  • 2024 年(10th SSSC):年增 +156% YoY,自 2019 年累计已超 704,102 个;其中 2023 年 11 月至 2024 年 10 月新增 512,847 个。4
  • 2025 年(11th SSSC / 2026 版):当年新增 454,600;累计阻断已达 1,233,000+,覆盖 npm、PyPI、Maven Central、NuGet、Hugging Face;99% 以上集中在 npm;Q4 单季度阻断 120,612 次恶意安装。5

Sonatype 自己的归因揭示了 2025 年爆发的三股力量:(a) IndonesianFoods 垃圾农场在数日内灌入 150,000–169,538 个垃圾 / 恶意包;(b) Shai-Hulud 蠕虫自 9 月起自动繁殖 500+,11 月 Sha1-Hulud 变种再扩散;(c) chalk / debug 等高声望维护者被钓鱼接管,单包周下载量过 20 亿次的「巨型节点」也成为入口。56

1.2 多源横向对照:口径不同,方向一致

不同厂商的统计口径差异大,但趋势方向高度一致。

  • Snyk:侧重「漏洞登记 + 企业自报」。2024 全年识别恶意包 3,600+(npm 3,000+,PyPI 600+),2025Q1 已新增 1,000+;CWE-506(恶意嵌入代码)类报告从 2018 年的 38 条飙升到 2024 年 2,168 条;其库中 npm 漏洞的 48.58%、PyPI 的 13.92% 是「故意攻击」而非偶发缺陷。7
  • ReversingLabs:以「独立去重恶意构件」计数。2023 年新增 11,200 个独立恶意包(npm + PyPI + RubyGems),较 2022 年的 8,700+ 上升 +28%,较 2020 年累计上升 +1,300%;PyPI 单端 2023 年威胁数 YoY +400%;npm 端虽然新发布数量同比下降,却占泄露开发者凭证的 77%(约 31,000 条)。8
  • Phylum / Veracode:单季度颗粒度最细。2024Q2 单季扫描 2.9M 包、1.9 亿文件,恶意发布同比 +6.98%、代码混淆 +22.15%;Q1 dependency confusion 同比 Q4 2023 暴涨 +121%,Q2 仍有 5,229 个组织定向投毒包;该季度判定约 1/4 npm 新包是 spam。9
  • Socket:以事件级数据为主。2025-09-15 Shai-Hulud 首发 40+ 包,数日内 500+ 包被感染;2.0 累计 796 个独立包、1,092 个版本;s1ngularity 单事件泄露 2,349 条 GitHub / 云 / NPM Token + 2 万+ 文件。1011
  • Fortinet:2025Q2 单季扫描 140 万 npm + 40 万 PyPI 包,识别出大量恶意条目。12

1.3 漏洞数据库收录趋势

  • OSV.dev:以 MAL- 前缀标识恶意包,2024 年仅 OSV 索引中 MAL-2024- 编号已突破 12,069(按 ID 序号推测年内新增至少同一量级),2025 年延续高位。13
  • GitHub Advisory Database:2025 年 npm 恶意软件 advisory 同比 +69%,是自 2022 年开始收录恶意包以来最高的一年,主要驱动力是 SHA1-Hulud / Shai-Hulud 这类大规模联动事件;目前 advisory 中的「malware」类目仅覆盖 npm,PyPI 端依赖 PSF 自有 advisories 与 OSV,统计口径不齐。14

1.4 OpenSSF Scorecard / SLSA 采纳大盘

  • OpenSSF Scorecard 已被 GitHub Action 默认集成进数万开源仓库,但 2025 Vision Brief 指出生态层面 SLSA Level 2+ 采纳率仍低:仅约 25% 的开发者团队声称「总是对构建产物做数字签名」,超过半数声称「总是使用集中化构建服务」(这是 SLSA L2 的隐含前提)。15
  • 学术界普遍判断 SLSA「采纳并不广泛」,主因是「实施复杂、术语不清」。16
  • 2025 年 npm 官方与 GitHub 联合公布「更安全 npm 路线图」,承诺收紧 OIDC / Provenance 强制范围,已是 SLSA 在 npm 端最大的官方推力。17

表 1 — 厂商年度恶意包发现量横向对比(PyPI + npm 为主)

年份Sonatype 当年新增Sonatype 累计Snyk 当年新增ReversingLabs 当年新增(npm+PyPI+RubyGems)GitHub Advisory(npm malware)备注
2019~0~0n/an/an/a几乎为零基线
2020~1,200~1,200n/a<1,000(推算)n/a攻击概念验证期
2021~12,000~13,200n/an/an/aYoY +900%
2022~88,000~101,000n/a~8,700n/aYoY +633%
2023245,032(截至 9 月)~346,000n/a~11,200(YoY +28%;PyPI YoY +400%)n/a是前 4 年总和的 2 倍
2024512,847(11 个月增量)704,1023,600+(npm 3,000+,PyPI 600+)未发布同口径基线YoY +156%
2025454,6001,233,000+1,000+ Q1未发布YoY +69%(advisory 数)99%+ 集中在 npm;Q4 单季阻断 120,612

口径说明:Sonatype 是「Firewall 已阻断 + 主动捕获」的恶意包数量,含大量自动化垃圾农场;Snyk 是已记录 advisory 的;RL 是独立去重恶意构件;GitHub Advisory 仅覆盖 npm。三家差距 1–2 个数量级是正常现象,趋势方向一致:指数增长且 2024–2025 完成从「人工攻击」到「自动化攻击」的拐点。

1.5 包请求规模:被动信任的数学

把恶意包数量放回总量背景里看更触目:2024 年 npm 接收 4.5 万亿次 包请求(同比 +70%),PyPI 全年估算 5,300 亿次(同比 +87%)。18 一个普通企业级应用包含数百个开源组件,其中 64% 是传递依赖——这意味着恶意包的真实命中面,是 1.23M 与万亿请求量的乘积曲线,而不是 1.23M 本身。


二、攻击类型分布与演化

2.1 Sonatype 2026 SSSC(基于 2025 年全量样本)

按 Sonatype 最新口径,恶意包按主载荷分类的占比为:5

  • Repository abuse(仓库滥用 / 信誉操纵):55.9%
  • PUA(非期望应用):27.5%
  • Host Information Exfiltration(主机信息回传):5.7%
  • Secrets Exfiltration(凭证窃取):3.9%
  • Dropper / Loader:2.7%
  • Backdoor:2.1%
  • Obfuscated code:1.6%
  • Data corruption(含 protestware):0.62%

按 Sonatype 2024 Open Source Malware Report(2024 全年)的另一切片:Typosquatting / Dependency Confusion 合计约 14%("phishing" 入手类);PUA 约 50%;Security holding packages 约 12%;未受保护的内部仓库中 50% 已经缓存到了恶意包,「shadow downloads」(绕过安全控制的安装)同比 +32.8%。19

2.2 攻击手法的关键迁移

把多源数据放在一张表上对照,可以看到 2024–2025 的几个关键迁移:

表 2 — 攻击手法占比与典型案例(多源对照)

手法Sonatype 2024 OSS Malware ReportSonatype 2026 SSSC(2025 数据)ReversingLabs / Socket / Phylum 观察主要案例
Typosquatting~14%(与 dep-confusion 合并)「Typosquatting + Toolchain 伪装 + 前端关键词诱饵」三大类Phylum 观察 PyPI 单日 200 包 typosquat(2024-03);JFrog 2024 百个 HuggingFace 模型仿冒tensoflouw、pygaqme、bert-base-uncasedd
Dependency Confusion含在 phishing 14% 内包含在 Repository abuse 55.9% 内Phylum Q1 2024 +121% YoY,Q2 仍 5,229 个s1ngularity(Nx 内部命名空间)
ATO(账号接管)—重点列为 2025 主升级路径9 月 chalk/debug 钓鱼 npmjs.help → 2FA reset;Lazarus 北朝鲜 PyPI 包chalk/debug、color-convert、wrap-ansi 等 20+ 包
Maintainer Compromise—与 ATO 合流RL/JPCERT 报告 Lazarus 集中在 npm(占其 97%)XZ Utils(参照同类)、s1ngularity Nx
Protestware / Sabotage包在「Data corruption」0.62%2022 node-ipc → 2024 zelte/drmilanofunes → 2025 个例node-ipc(参照)
Worm / Self-propagation0%(历史)新增类目,2025 起独立计量Sysdig / Datadog / MS 三家技术分析Shai-Hulud 500+ → Sha1-Hulud 796/1,092
凭证 / 主机信息 exfil占多数 payload9.6%(5.7+3.9)Phylum 持续主流;PyPI Lumma stealerLumma stealer PyPI(2024 夏)
Backdoor / Dropper—4.8%(2.1+2.7)RL HuggingFace pickle 后门 100+baller-bert、ggml-awq 等
AI 辅助生成 / 混淆—在 1.6% Obfuscation 中显现s1ngularity / React2Shell 被研判为 AI 生成s1ngularity、React2Shell、ESLint 假插件

最重要的一个变化:Worm 类攻击在 Sonatype 2026 SSSC 中首次作为独立类目被计量,从历史的 0% 跃升上来;并且出现 ATO 凭证作为蠕虫扩散原料的「自循环」。Sonatype、Microsoft、Datadog 三家一致判断:这是恶意包从「投毒事件」走向「持续运动战」的标志。202122

2.3 行业影响切片

公开报告中的「行业占比」颗粒度普遍较粗,可信度最高的几条:

  • 金融 / 加密 / Web3:Lazarus 集团 PyPI/npm 投毒 97% 集中在 npm;目标重点是 加密货币、Web3 钱包、银行 SDK。chalk/debug 9 月攻击的 payload 直接劫持 window.ethereum 与 Solana 调用。236
  • AI/ML:JFrog 2024 在 HuggingFace 发现 100+ 个嵌入恶意 pickle 的模型;ReversingLabs 在 PyPI 发现冒充 Alibaba Cloud AI Labs SDK 的多个恶意包。OWASP 把「被污染模型」列为 2025 AI 安全风险 Top 1。2425
  • 政府 / 关基:CISA 于 2025-09-23 发布 Widespread Supply Chain Compromise Impacting npm Ecosystem 正式告警,要求美国联邦机构(含国防、能源)盘点 chalk/debug 与 Shai-Hulud 影响面。26
  • 通用企业 / SaaS:Shai-Hulud 2.0 的预安装 hook 直接波及 CI/CD pipelines;Wiz 评估 chalk/debug 链下游每周下载量超 20 亿次,渗透面覆盖几乎所有 React/Node 后端项目。6

三、近 12 个月的六大新趋势

把 2024-05 至 2026-05 这 24 个月的事件、数据与防御响应放进一张坐标系,可以提炼出六大新趋势——这也是和系列 02–07 篇技术细节不重叠的、纯趋势层观察。

3.1 AI/ML 包投毒:从模型仓库下沉到 SDK 层

证据链已基本闭合:

  1. HuggingFace 平台层:JFrog 2024 年初识别 100+ 恶意 ML 模型,普遍利用 PyTorch pickle __reduce__ 在 load() 时执行任意代码;TensorFlow/Keras 的 Lambda Layer 同样可执行代码;YAML 配置文件可触发文件、网络、仓库三类滥用。2427
  2. PyPI 端 AI SDK 仿冒:2025 年发现冒充 Alibaba Cloud AI Labs SDK 的三个恶意 PyPI 包,payload 藏在 pickle 模型里,实现「合法包 → 加载模型 → 远控」的三段式攻击。25
  3. AI 框架本身被劫持:2025 年 LiteLLM 被植入后门、LM Studio 被标记为风险工具。28
  4. 典型仿冒模型名:bert-base-uncasedd(错误多打一个 d)、huggingface-cli(slopsquatting,研究者占名后获 3 万次真实下载)。29
  5. 学术度量:arXiv 2409.09368 Models are Codes 系统量化预训练模型仓库的恶意代码投毒,验证 OSV.dev / Sonatype 抽样并不充分。30
  6. OWASP 2025 LLM Top 10:把 Compromised AI Models 列为 #1 风险。

值得强调的是:AI/ML 投毒现在同时存在于模型仓库(HuggingFace)和包仓库(PyPI / npm)。这意味着传统的 SCA 工具如果只扫包,会漏掉模型层;只扫模型,又会漏掉包层。这是一个尚未被现有产品完整覆盖的盲区。

3.2 跨生态联合攻击:npm + PyPI 的同步投毒

跨生态联合攻击在 2024–2025 已经是主流动作而非边缘案例:

  • Datadog MUT-8694(2024):同一组威胁行为者同步在 npm 与 PyPI 上发布伪装 SDK,目标 Windows 用户,payload 通过 postinstall 加载远控。31
  • Lazarus(2024 起持续):JPCERT 跟踪到该组织在 PyPI 投毒「假招聘任务包」,同期在 npm 释出仿冒前端框架包;43% 的 Lazarus 包包含通用前端关键词以引诱开发者搜索匹配。23
  • 2025-08 The Hacker News 报告显示,npm + PyPI + RubyGems 三生态同时出现「依赖滥用型」包,攻击者把恶意逻辑藏入间接依赖以混淆审计。32

跨生态联合攻击的意义不仅是规模放大,更在于它打破了厂商的检测边界——没有一家 SCA 厂商在所有语言生态上都做到第一档覆盖,而攻击者已经在多语言之间做横向同步。

3.3 蠕虫化:Shai-Hulud v1 + v2.0 范式

这是 2025 年最具范式意义的趋势。完整时间线:

日期事件规模关键来源
2025-09-15Socket 披露 Shai-Hulud 第一波40+ → 数日内 500+ 包Socket 11
2025-09-16Sysdig 完整逆向蠕虫式 bundle.js postinstallSysdig 22
2025-09-23CISA 发布 Alert美联邦强制盘点CISA 26
2025-10-17Glassworm 出现12 包Sonatype 2026 SSSC 5
2025-11-09Sha1-Hulud(变种)49 包初波 → 累计 796 包 / 1,092 版本Semgrep 33
2025-11-24IndonesianFoods 农场169,538 包 / 数日Sonatype 2026 SSSC 5
2025-12-01Glassworm 第三波24 包同上
2025-12-09Microsoft 发布防御指南行动手册Microsoft 20

技术要点(仅做范式层提炼,技术细节见系列 03、05 篇):

  • 利用 GitHub Actions 自动从受害者本地凭证读取 GitHub Token,写入新 workflow 实现「跨仓库扩散」;
  • 利用 npm getPackagesByMaintainer() 与 updatePackage() API 自动发布木马版本,单维护者一次最多发布 100 个木马版本;
  • Shai-Hulud 1.0 在 postinstall 阶段执行;2.0 升级到 preinstall 钩子,进一步扩大 CI/CD 触发面;
  • 2.0 引入 bun_environment.js 作为隐蔽 dropper、内嵌 TruffleHog 自动秘密扫描;
  • 失败时执行「删除用户 home 目录」作为反取证手段;
  • 数据外泄通过新建 GitHub repo(描述固定为 Sha1-Hulud: The Second Coming)。2134

蠕虫化的真正含义是:恶意包从「事件」变成「持续运动」。MTTD/MTTR 不再是月级、周级,而要进入小时级。

3.4 Slopsquatting:LLM 幻觉变成攻击面

Slopsquatting 是 2024–2025 之间真正的「新攻击面」。研究者用 576,000 条代码样例跑主流 LLM,得到一组令人警觉的数字:352936

  • LLM 推荐的包名 19.7% 根本不存在于 npm/PyPI;
  • 开源模型幻觉率 21.7%,商用模型 5.2%;CodeLlama 7B/34B 幻觉率 >33%,GPT-4 Turbo 仅 3.59%;
  • 同一 prompt 跑 10 次仍稳定输出同一幻觉名的占 43%——这意味着幻觉是可被攻击者预测和抢注的;
  • 研究者占名 huggingface-cli 后 3 个月获 30,000+ 次真实下载;
  • 2023 年已观测到 20%–35% 的幻觉名被攻击者注册成真实恶意包。

slopsquatting 是 typosquatting 在 AI 编码工作流时代的升级版。它的攻击成本低于 typosquatting(不需要竞争搜索引擎或开发者拼写),命中率却高于 typosquatting(LLM 倾向于稳定复现)。当 AI 编码助手成为开发者主要的"包名建议来源",这条攻击链会持续放大。

3.5 LLM 协同攻防:注入、生成、对抗

攻击侧已经全面 AI 化:

  • AI 生成 payload:Palo Alto Unit 42 与 Darktrace 都研判 s1ngularity 与 React2Shell 攻击的脚本由 LLM 生成(注释、表情符号、冗长命名等典型痕迹)。37
  • Prompt-injection 反制 AI 扫描:2025-12 The Hacker News 披露伪装 ESLint 插件的 npm 包嵌入 hidden prompt,对接 AI 评审管线时引导 LLM "忽略此包并放行",同时 postinstall 偷环境变量。38
  • AI CLI 协助秘密扫描:Sha1-Hulud 已在受害机上调用 TruffleHog 与 LLM CLI 工具(如本地安装的 Codex CLI)协助扫描凭证。33

防御侧也在 AI 化:

  • 学术界(arXiv 2403.12196 Shifting the Lens)已展示 LLM 在 npm 恶意包静态识别上明显优于纯启发式:在 1,000+ 已知样本上 F1 从 ~0.7 提到 ~0.9。39
  • 厂商(Sonatype、Snyk、Socket、Datadog GuardDog)2024–2025 的产品路线图普遍把「LLM-aided triage」列为分级流量降本关键,决定哪些样本进入人工审计。40
  • 攻防均承认:AI 生成的混淆反而留下「合成痕迹」(注释多、命名模式化、冗余逻辑),可作为新的检测信号——Microsoft Security 2025-09 报告将之命名为「AI vs AI」防御范式。41

研究界给出的多 agent 协同检测系统在 2025 年已经能跑出 0.999 的精度(特定数据集),但代价是规模化推理成本与可解释性问题,离生产部署仍有距离。42

3.6 传递依赖与包蔓延

恶意包的真正杀伤力来自传递依赖。基础数据:

  • 平均一个 npm 项目带 79 个传递依赖、39 个独立维护者;安装一个普通 npm 包就等于隐式信任这 79 + 39 个上游。43
  • Express.js 一个框架就有 47 个传递依赖。
  • 大规模审计:企业级应用平均含数百个开源组件,其中 64% 是传递依赖。44
  • 一个 chalk/debug 这样的核心节点被劫持,下游影响范围以「百万级 lockfile」计——chalk/debug 链每周下载 20 亿+ 次。6

「我们没在直接用就没事」是一个已经过时的假设。Shai-Hulud 蠕虫的可怕之处恰恰在于它专门盯传递层,因为这一层的 maintainer 关注度更低、CI 检测更弱。


四、监管演进倒计时

监管侧的进度从 2021 年 EO 14028 到 2024 年 CRA 生效,已基本完成「从指导意见到法律强制」的跃迁。最关键的几个确定性节点:

表 3 — 全球监管时间表(含倒计时)

日期法规 / 节点强制性关键义务来源
2021-05-12美国 EO 14028联邦采购强制NIST SSDF + SBOM 联邦自证45
2022-02NIST SP 800-218 SSDF v1.1联邦采购参照19 项实践 / 42 项任务45
2022-09 / 2023-06OMB M-22-18 / M-23-16联邦强制供应商 self-attestation45
2024-02NIST SP 800-204D推荐DevSecOps + SLSA / Sigstore 集成45
2024-04-25中国 GB/T 43698-2024 发布国标推荐「123456」体系46
2024-10-17欧盟 NIS2 成员国转法强制必要 / 重要实体供应链管理47
2024-11-01中国 GB/T 43698-2024 实施国标推荐国内首个软件供应链国标46
2024-12-10欧盟 CRA 正式生效强制进入倒计时48
2025-05-07英国 Software Security Code of Practice 发布自愿14 项原则49
2025-08-22CISA 2025 SBOM Minimum Elements 草案征求意见新增 hash / SaaS / AI BOM45
2025-09-23CISA Alert(npm 生态)联邦强制盘点30 天内提交26
2026-09-11CRA 报告义务启动强制(24h 通报 ENISA)主动利用漏洞 + 重大事故报告48
2027-12-11CRA 全部条款适用强制SBOM、设计、生命周期、CE 标志48

几个最关键的解读:

  1. 2026-09-11 是 CRA 报告义务的强制启动日,距离这篇报告发布只剩约 16 个月。任何把 PyPI/npm 包打入产品并销往欧盟的厂商,都需要具备 24 小时漏洞 / 事故通报能力。这是第一道关键监管墙。
  2. 2027-12-11 是 CRA 全面强制日,SBOM 必须采用「常用机器可读格式」(事实标准 SPDX/CycloneDX),至少包含顶层依赖;产品需带 CE 标志,否则不得上架欧盟市场。
  3. 美国 SBOM 强制采购进入 CISA 2025 草案完善阶段;2025-09 的 CISA Alert 实质上把 npm 治理拉进了关键基础设施视野。
  4. 中国 GB/T 43698-2024 在 2024-11-01 实施,配套关基国标 GB/T 44292-2024 在 2024-12 发布,国内国标体系已从"无"补到"有"。
  5. SLSA 实质达到率仍偏低——25% 数字签名、>50% 集中构建——这意味着监管节奏(确定性的)和生态成熟度(仍在追赶)之间存在一个不容易消化的缺口。

五、给安全架构师的 5 条洞察

上面四节是数据。下面五条是把数据折叠成行动逻辑——不是清单,而是判断框架。

洞察 1:进入"指数 → 蠕虫"拐点,从堵漏式响应转为持续运动战

2019→2025 恶意包累计从 ~0 增至 1.23M+,2025 单年新增 454,600,99%+ 集中在 npm。Shai-Hulud 把「一次性投毒」变成「自动繁殖」,意味着 MTTD/MTTR 不再是月级、周级,而要进入小时级。chalk/debug 事件的快路径是 13:16 UTC 发布 → 15:20 UTC 社区报警 → ~17:00 UTC 维护者已撤回(< 2 小时);但 Shai-Hulud 1.0 首报后,社区与 npm 共用了数日 ~ 一周才完成首轮清场,11 月 Sha1-Hulud 与 12 月 Glassworm 第三波证明完全清剿仍在持续中。52050

架构层面的含义:把「自动化遏制(自动 quarantine + 回滚 + 强制 lockfile pinning)」纳入安全 SLA 而非工程交付选项。「一周打补丁」对应 2019 年的攻击节奏,「一小时打补丁」才对应 2025 年的蠕虫节奏。

洞察 2:维护者账户的安全等级,要升到与生产数据库同一档

chalk/debug 9 月事件证明:npm 周下载 20 亿+ 的"巨型节点"被一封钓鱼邮件接管不到 2 小时。CWE-506 上升到 npm 全部漏洞的 48.58%(PyPI 13.92%)说明 ATO/接管已经不是边缘风险。750

架构方向:强制 OIDC trusted publishing、phishing-resistant MFA(FIDO2)、关键包必须经 2 人发布——这是 GitHub 2025 npm 路线图明确给出的方向。17 把"维护者账户"等价于"生产数据库账户"来管理:同样的 MFA 等级、同样的会话审计、同样的紧急吊销路径。

洞察 3:AI 编码工作流是 2026 年增量风险的最大单一来源

LLM 推荐包名 19.7% 是不存在的幻觉,且 43% 的幻觉名稳定复现;2023 年已有 20%–35% 幻觉名被攻击者注册成真实恶意包;slopsquatting 真实样例 huggingface-cli 3 个月吸引 30,000 次下载。3529 同时,postinstall 阶段 prompt-injection 的 AI scanner bypass 也在 2025-12 已经实证。38

安全架构师必须把"AI 生成代码 + 包安装"作为新工程链单独评估,而不是直接套用传统 SCA 流程。可选方案包括:受控仓库白名单、prompt-time 包名校验(OSV/Sonatype/Snyk API)、CI 中的「未知包年龄/下载量阈值」拦截。这条洞察的反向版本也成立:如果你的组织正在大规模启用 AI Coding Assistant 而没有同步升级供应链门禁,你正在以指数速度扩大攻击面。

洞察 4:合规倒逼的窗口已经打开,2026-09-11 是绝对节点

EU CRA 报告义务在 2026-09-11 启动、2027-12-11 全面强制;任何卖到欧盟的硬件 / 软件 / IoT,都需要 SBOM + 漏洞响应能力。叠加美国 CISA 对 npm 生态的告警实质把 npm 治理推到关键基础设施层级。4826

现在投资 SBOM、SLSA Provenance、依赖签名验证的边际成本,会在 2026Q4 之后变成「不做就出不了关」。架构师在 2026 上半年应当完成:(a) 建立全量 SBOM 流水线;(b) 关键产品上 SLSA L2 → L3;(c) 漏洞披露 SLA 模板对接 CRA 的 24h/72h 报告窗口。

国内同步要点:GB/T 43698-2024 已在 2024-11-01 实施,关基企业、政企用户应对照"123456"体系(1 总目标、2 类主体、3 阶段、4 类活动、5 项基线、6 类对象)做差距评估。46

洞察 5:传递依赖(>60%)是隐形的最大攻击面,必须从 SCA 上移到"依赖树治理"

平均 npm 项目背后是 79 个传递依赖与 39 个独立维护者;企业应用 64% 组件来自传递层;shadow downloads 同比 +32.8%,50% 内部仓库已缓存恶意包。194344

架构方向:默认拒绝直连公网仓库 + 内部 mirror(带 Sonatype/Socket/Snyk 风险评分门禁)+ 全量 lockfile pinning + npm package provenance 强校验;同时把"依赖年龄 / 维护者活跃度 / 安全打分"作为可量化的开发体验指标,写进研发效能平台。"依赖树治理"和"代码质量门禁"应该处在同一个治理层级,而不是被当成 SCA 工具的副产品。


六、未来 12–24 个月预判(5 条)

把数据曲线、攻击范式、监管节点放在一起外推,可以得到五条比较确定的方向预判。需要强调:以下不是行动清单(保留纯研究风格),而是结合 R5 数据库的趋势性判断——每一条都可被未来 24 个月的事实证伪或证实。

预判 1:蠕虫化将成为 npm 端的常态,而非偶发事件

依据:Shai-Hulud 1.0 → 2.0 的迭代周期不到 90 天;Glassworm 出现两波;Sonatype 在 2026 SSSC 中首次将 Worm 作为独立类目,意味着这是被识别成的「持续类型」而非「单一事件」。520 攻击者的工具箱(Trusted Publishing token、updatePackage API、TruffleHog、bun runtime、preinstall 钩子)已经趋于工程化;下一次蠕虫极大概率不再是惊天一击,而是月级别的持续推送。

进一步推论:单纯依赖维护者下架 + 仓库 takedown 的清场模型已经失效。需要 npm/PyPI 平台层的实时遏制能力(自动 quarantine、自动 revoke token、自动 freeze maintainer),以及企业层的内部 mirror + 自动回滚到 known-good lockfile 的能力。

预判 2:CRA 倒逼 SBOM 从"合规附件"变成"工程默认输出"

依据:2026-09-11 报告义务、2027-12-11 全面强制是确定性日期;CISA 2025 SBOM Minimum Elements 草案进入完善阶段;中国 GB/T 43698-2024 已实施。484546 三大监管区在 2026–2027 完成同步施压,对应到工程层就是:SBOM 必须像单元测试报告一样在每条 PR / 每次构建产出,而不是合规审计前临时跑一遍。

进一步推论:以 SBOM 为载体的 VEX、CBOM(密码资产清单)、AI BOM 也会在 2027 年内进入企业默认输出范围;SBOM 的"真实性"将取代"完备性"成为新焦点,这意味着 SLSA Provenance + Sigstore 签名是 SBOM 自身的诚信门槛。

预判 3:AI/ML 包成为新的攻击主战场

依据:JFrog 2024 在 HuggingFace 发现 100+ 恶意 pickle 模型;PyPI 已出现冒充 Alibaba Cloud AI Labs SDK 的恶意包;OWASP 2025 LLM Top 10 把 Compromised AI Models 列为 #1 风险;Slopsquatting huggingface-cli 已实证 3 万次下载。242529 趋势是攻击者会同时在「模型仓库 × 包仓库 × AI 编码助手」三个面上操作——任何一个面没有覆盖的企业都是潜在受害者。

进一步推论:现有的 SCA 工具仍以"包"为粒度,对模型权重、tokenizer、RAG 数据、prompt 模板这些资产基本没有覆盖。12–18 个月内会出现以"AI artifact"为粒度的新一代供应链工具(厂商或开源),并被合规口径接受为 SBOM 的扩展形式。

预判 4:动态沙箱 + 行为侧信号成为 CI/CD 默认能力

依据:传统的静态扫描+签名校验在面对蠕虫式 preinstall payload 时已经显著滞后;OpenSSF Package Analysis、Datadog GuardDog、Phylum / Veracode、Aikido 等 2024–2025 都已经在生产中跑动态沙箱,每天处理数千新发布包。940 与此同时,preinstall / postinstall 钩子继续作为入口被滥用——新的 npm 与 pip 客户端在 2025 年内都讨论过"默认 postinstall 沙箱化"路线。

进一步推论:12–24 个月内,"包安装时是否触发外联请求 / 文件读写 / 持久化挂载"会从厂商可选能力变成 CI/CD 流水线默认能力;未通过沙箱行为基线的包,将被默认阻止进入 lockfile。

预判 5:Reachability / 可达性分析普及,把"漏洞数"转成"可利用性"

依据:传递依赖 64%、平均 79 个间接依赖意味着传统漏洞列表充斥误报;企业修复预算有限,"修哪一个"比"知道有多少"更重要。Snyk、Endor Labs、Socket、悬镜源鉴等都已经把 reachability 作为 2024–2025 的产品主推方向。

进一步推论:Reachability 在 2026–2027 会从高端 SCA 的差异化卖点,下沉为开源社区与 CI 工具的标配;"漏洞数"指标在合规和 KPI 中的权重会被"实际可达漏洞数"取代——这一变化对采购、SLA、合规审计的连锁影响会非常大。


七、结尾:从 1.23M 到下一个十年

回到本系列开篇(01「总览」)的那个开场视角:PyPI 与 npm 这两个仓库之所以同时被点名,不是因为其他生态没有问题,而是因为它们处在最不可妥协的位置——Web、AI、Cloud 三条主战线的脚下基础。Sonatype 的 1.23M 只是一个累计数;放到 npm 4.5 万亿次包请求、PyPI 5,300 亿次包请求的分母里看,比例依然是亿分之几。但每一次成功的攻击只需要一个 lockfile 命中、一个传递依赖被引用、一次 AI 助手推荐了不存在的包名。

过去六年,曲线从 0 走到 1.23M;监管从指导意见走到法律强制;攻击从 typosquatting 走到自我繁殖的蠕虫;防御从黑名单走到 LLM × 沙箱 × Reachability 的多层栈。下一个 24 个月——尤其是 2026-09-11 CRA 报告义务启动那一天——会把"是否做了供应链安全工程"从企业内部成本权衡问题,第一次转化为"是否能合规出口"的市场准入问题。这是一个迟到了至少十年但终于到来的拐点。

整个系列到这里收尾。02–07 篇分别从攻击事件、防御技术、行业实践、地缘进展给出了纵深分解;这一篇尝试把数据折叠成判断框架。如果只允许带走一句话,那大概是:

在攻击曲线进入指数自动化、监管曲线进入法律强制化的 2026,软件供应链安全不再是"可以推后做"的工程问题,而是"是否还能继续交付"的存续问题。


注释与引用

Footnotes

  1. Sonatype, State of the Software Supply Chain (8th Annual) — 2019/2020/2021 数据基线。https://www.sonatype.com/press-releases/sonatype-finds-700-average-increase-in-open-source-supply-chain-attacks ↩ ↩2 ↩3

  2. Sonatype 2022 Press Release & The Stack 2022-10 报道,2022 年恶意包同比 +633%。https://www.sonatype.com/press-releases/2022-software-supply-chain-report ;https://www.thestack.technology/malicious-open-source-packages-up-633-percent/ ↩

  3. Sonatype 9th Annual SSSC(2023):截至 2023-09 已记录 245,032 个恶意包。https://www.sonatype.com/press-releases/sonatype-9th-annual-state-of-the-software-supply-chain-report ;https://www.sonatype.com/hubfs/SSC/2023%20Sonatype-%209th%20Annual%20State%20of%20the%20Software%20Supply%20Chain-%20Update.pdf ↩

  4. Sonatype 10th Annual SSSC(2024):YoY +156%,累计 704,102。https://www.sonatype.com/hubfs/SSCR-2024/SSCR_2024-FINAL-10-10-24.pdf ;https://www.globenewswire.com/news-release/2024/10/10/2961239/0/en/Sonatype-s-10th-Annual-State-of-the-Software-Supply-Chain-Report-Reveals-156-Surge-in-Open-Source-Malware.html ↩

  5. Sonatype 11th Annual SSSC / 2026 版 Open Source Malware:2025 年新增 454,600,累计 1,233,000+,99%+ 集中 npm。https://www.sonatype.com/state-of-the-software-supply-chain/2026/open-source-malware ;https://www.sonatype.com/press-releases/sonatype-research-reveals-open-malware-grows-75-percent ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7

  6. Wiz Research, Widespread npm supply chain attack: chalk/debug impact。https://www.wiz.io/blog/widespread-npm-supply-chain-attack-breaking-down-impact-scope-across-debug-chalk ↩ ↩2 ↩3 ↩4

  7. Snyk, Malicious packages found on open source ecosystems(CWE-506 与 npm/PyPI 占比)。https://snyk.io/blog/malicious-packages-open-source-ecosystems/ ;https://snyk.io/blog/2024-open-source-security-report-slowing-progress-and-new-challenges-for/ ↩ ↩2

  8. ReversingLabs, Software Supply Chain Risk Report 2024。https://www.reversinglabs.com/sscs-report-2024 ;https://www.helpnetsecurity.com/2024/01/24/software-supply-chain-abuse/ ↩

  9. Phylum, Q2 2024 Evolution of Software Supply Chain Security Report。https://blog.phylum.io/q2-2024-evolution-of-software-supply-chain-security-report/ ↩ ↩2

  10. Socket / The Hacker News / InfoQ, s1ngularity(Nx)事件覆盖。https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html ;https://www.infoq.com/news/2025/10/npm-s1ngularity-shai-hulud/ ↩

  11. Socket, Ongoing supply chain attack targets CrowdStrike npm packages(Shai-Hulud 首发披露)。https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packages ↩ ↩2

  12. Fortinet FortiGuard Labs, Malicious packages across open source registries(2025Q2)。https://www.fortinet.com/blog/threat-research/malicious-packages-across-open-source-registries ↩

  13. OSV.dev / OSSF malicious-packages 数据库:MAL-2024-12069 等。https://osv.dev/vulnerability/MAL-2024-12069 ;https://github.com/ossf/malicious-packages ↩

  14. GitHub Security Blog, A year of open source vulnerability trends(2025 npm advisory +69%)。https://github.blog/security/supply-chain-security/a-year-of-open-source-vulnerability-trends-cves-advisories-and-malware/ ↩

  15. OpenSSF, 2025 Vision Brief。https://openssf.org/wp-content/uploads/2025/02/OpenSSF_2025_Vision_Brief.pdf ↩

  16. arXiv 2409.05014, On the SLSA adoption challenges。https://arxiv.org/html/2409.05014v1 ↩

  17. GitHub Security Blog, Our plan for a more secure npm supply chain(2025)。https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/ ↩ ↩2

  18. Sonatype 10th SSSC scale 数据 / SiliconAngle 2024-10。https://www.sonatype.com/state-of-the-software-supply-chain/2024/scale ;https://siliconangle.com/2024/10/10/sonatype-report-open-source-software-reaches-6-6t-requests-security-risks-escalate/ ↩

  19. Sonatype 2024 Open Source Malware Report。https://www.sonatype.com/hubfs/White_Papers/2024-in-Open-Source-Malware-Report.pdf ↩ ↩2

  20. Microsoft Security Blog, Shai-Hulud 2.0 Guidance(2025-12-09)。https://www.microsoft.com/en-us/security/blog/2025/12/09/shai-hulud-2-0-guidance-for-detecting-investigating-and-defending-against-the-supply-chain-attack/ ↩ ↩2 ↩3 ↩4

  21. Datadog Security Labs, Shai-Hulud 2.0 npm worm。https://securitylabs.datadoghq.com/articles/shai-hulud-2.0-npm-worm/ ↩ ↩2

  22. Sysdig, Shai-Hulud: the novel self-replicating worm。https://www.sysdig.com/blog/shai-hulud-the-novel-self-replicating-worm-infecting-hundreds-of-npm-packages ↩ ↩2

  23. JPCERT, Lazarus group on PyPI(2024-02)。https://blogs.jpcert.or.jp/en/2024/02/lazarus_pypi.html ↩ ↩2

  24. JFrog Research, Data scientists targeted by malicious Hugging Face ML models。https://jfrog.com/blog/data-scientists-targeted-by-malicious-hugging-face-ml-models-with-silent-backdoor/ ↩ ↩2 ↩3

  25. CSO Online, Poisoned models hidden in fake Alibaba SDKs。https://www.csoonline.com/article/3998351/poisoned-models-hidden-in-fake-alibaba-sdks-show-challenges-of-securing-ai-supply-chains.html ↩ ↩2 ↩3

  26. CISA Alert, Widespread Supply Chain Compromise Impacting npm Ecosystem(2025-09-23)。https://www.cisa.gov/news-events/alerts/2025/09/23/widespread-supply-chain-compromise-impacting-npm-ecosystem ↩ ↩2 ↩3 ↩4

  27. arXiv 2505.01067, Pickle 与 ML 模型恶意载荷量化分析。https://arxiv.org/html/2505.01067v1 ↩

  28. NYU Shanghai RITS, LiteLLM backdoored / LM Studio flagged。https://rits.shanghai.nyu.edu/ai/litellm-backdoored-lm-studio-flagged-ai-tools-face-supply-chain-threats/ ↩

  29. Trend Micro, Slopsquatting: when AI agents hallucinate malicious packages。https://www.trendmicro.com/vinfo/us/security/news/cybercrime-and-digital-threats/slopsquatting-when-ai-agents-hallucinate-malicious-packages ↩ ↩2 ↩3 ↩4

  30. arXiv 2409.09368, Models are Codes。https://arxiv.org/html/2409.09368v1 ↩

  31. Datadog Security Labs, MUT-8964: an npm and PyPI malicious campaign targeting Windows users。https://securitylabs.datadoghq.com/articles/mut-8964-an-npm-and-pypi-malicious-campaign-targeting-windows-users/ ↩

  32. The Hacker News, Malicious PyPI and npm packages(2025-08)。https://thehackernews.com/2025/08/malicious-pypi-and-npm-packages.html ;https://thehackernews.com/2025/06/malicious-pypi-npm-and-ruby-packages.html ↩

  33. Semgrep, Digging for secrets — Sha1-Hulud, the second coming of the npm worm。https://semgrep.dev/blog/2025/digging-for-secrets-sha1-hulud-the-second-coming-of-the-npm-worm/ ↩ ↩2

  34. Palo Alto Unit 42, Monitoring npm supply chain attacks。https://unit42.paloaltonetworks.com/npm-supply-chain-attack/ ;https://unit42.paloaltonetworks.com/monitoring-npm-supply-chain-attacks/ ↩

  35. The Register, AI code suggestions sabotage supply chain(2025-04)。https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/ ↩ ↩2

  36. Snyk, Slopsquatting mitigation strategies。https://snyk.io/articles/slopsquatting-mitigation-strategies/ ↩

  37. Darktrace, AI / LLM-generated malware used to exploit React2Shell。https://www.darktrace.com/blog/ai-llm-generated-malware-used-to-exploit-react2shell ↩

  38. The Hacker News, Malicious npm package uses hidden prompt(2025-12)。https://thehackernews.com/2025/12/malicious-npm-package-uses-hidden.html ↩ ↩2

  39. arXiv 2403.12196, Shifting the Lens: Detecting Malicious npm Packages with LLM。https://arxiv.org/html/2403.12196v2 ↩

  40. Datadog GuardDog(开源项目,与厂商 LLM-aided triage 路线对照)。https://github.com/DataDog/guarddog ↩ ↩2

  41. Microsoft Security, AI vs AI: detecting an AI-obfuscated phishing campaign。https://www.microsoft.com/en-us/security/blog/2025/09/24/ai-vs-ai-detecting-an-ai-obfuscated-phishing-campaign/ ↩

  42. arXiv 2309.02637, Multi-agent LLM 系统在恶意包检测中的精度评估。https://arxiv.org/abs/2309.02637 ↩

  43. Node.js Cybersecurity(Medium), Risks of transitive dependencies in Node.js。https://medium.com/node-js-cybersecurity/risks-of-transitive-dependencies-in-node-js-2683b16f3089 ;https://arinco.com.au/blog/npm-supply-chain-security-understanding-javascript-dependency-risks/ ↩ ↩2

  44. Qualys / Upwind, npm supply chain attack — debug/chalk and 16 other packages。https://blog.qualys.com/vulnerabilities-threat-research/2025/09/10/when-dependencies-turn-dangerous-responding-to-the-npm-supply-chain-attack ;https://www.upwind.io/feed/npm-supply-chain-attack-massive-compromise-of-debug-chalk-and-16-other-packages ↩ ↩2

  45. White House EO 14028 / NIST SSDF / NIST SP 800-204D / OMB / CISA。https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/ ;https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-218.pdf ;https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-204D.pdf ;https://www.cisa.gov/sbom ;https://www.cisa.gov/resources-tools/resources/2025-minimum-elements-software-bill-materials-sbom ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  46. 中国 GB/T 43698-2024 国家标准全文公开页与解读。https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=94FEB278E715BD48566C48804F1A56EC ;https://www.wavecn.com/content.php?id=432 ↩ ↩2 ↩3 ↩4

  47. ENISA Threat Landscape 2024 / NIS2 Directive 转法。https://www.enisa.europa.eu/publications/enisa-threat-landscape-2024 ↩

  48. 欧盟 CRA 法规与时间表官方页 + Keysight 2026 倒计时解读 + Anchore SBOM 解读。https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act ;https://www.keysight.com/blogs/en/tech/nwvs/2025/09/11/one-year-countdown-to-eu-cra-compliance-september-11-2026-changes-everything ;https://anchore.com/sbom/eu-cra/ ↩ ↩2 ↩3 ↩4 ↩5

  49. UK NCSC / DSIT Software Security Code of Practice。https://www.ncsc.gov.uk/section/software-security-code-of-practice/overview ↩

  50. Semgrep / StepSecurity chalk/debug 事件复盘。https://semgrep.dev/blog/2025/chalk-debug-and-color-on-npm-compromised-in-new-supply-chain-attack/ ;https://www.stepsecurity.io/blog/20-popular-npm-packages-compromised-chalk-debug-strip-ansi-color-convert-wrap-ansi ↩ ↩2

Comments (0)

No comments yet

imfht
May 5, 2026 · Updated May 5, 2026