2026 年的 Slopsquatting:五个前沿大模型同时幻觉出的 127 个软件包名
2026 年 5 月 16 日 arXiv 上发布的复现研究表明,前沿模型的包幻觉率较 2024 年下降了约一个数量级,但仍识别出 127 个所有被测模型同时凭空捏造的相同包名,构成一种与具体模型无关的供应链攻击面。
这是什么?
2026 年 5 月 16 日,一位独立研究者在 arXiv 上发布了《The Range Shrinks, the Threat Remains: Re-evaluating LLM Package Hallucinations on the 2026 Frontier-Model Cohort》(2605.17062)。该论文在 2025 年 10 月至 2026 年 3 月间发布的五款前沿代码生成模型上复现了 Spracklen 等人(USENIX Security ‘25,arXiv 2406.10279)的方法,涵盖 Claude Sonnet 4.6、Claude Haiku 4.5、GPT-5.4-mini、Gemini 2.5 Pro 和 DeepSeek V3.2。结论有两面:相较 2024 年队列,整体包幻觉率下降了大约一个数量级,但 slopsquatting 攻击面并未消失,而是呈现出新的、与具体模型无关的形态。
工作原理
Slopsquatting 指的是在 PyPI 或 npm 等公共注册表上,注册一个已知会被代码生成型大模型凭空幻觉出来的包名。该术语由 Python 软件基金会的常驻开发者 Seth Larson 于 2025 年 4 月提出,并由 Andrew Nesbitt 推广;它是 “AI slop”(AI 垃圾产出)与 “typosquatting”(拼写抢注)的合成词。当开发者复制一段以 pip install <被幻觉的名字> 或 npm install <被幻觉的名字> 开头的生成代码时,攻击者注册的恶意包会被安装,其安装后脚本将在开发者环境中执行。
2026 年的复现工作配对了 199,845 个 Python 与 JavaScript 提示,对每个模型进行查询,并将每一个被导入的包名与 PyPI 和 npm 的实时主清单进行比对。三项结果尤为突出。
首先,各模型之间的差距大幅收窄。Spracklen 在 2024 年测得商业 LLM 的幻觉率为 5.2%,开源模型为 21.7%。2026 年队列的幻觉率介于 4.62%(Claude Haiku 4.5)至 6.10%(GPT-5.4-mini) 之间——模型间差距压缩了约十倍,但仍远高于零。
其次,有 127 个包名——109 个在 PyPI、18 个在 npm——被五个模型同时凭空捏造。单一模型的审计无法发现这些名字:只有跨模型的研究才能揭示这一交集。对攻击者而言,这一交集是价值最高的目标列表,因为在其中任意一个名字下注册的恶意包,无需针对单个模型做微调,即可同时被五款助手所触达。
第三,2026 年论文还测得 Python 优于 JavaScript 的幻觉非对称性,与 2024 年的次序相反;在 Anthropic 模型家族内部,Haiku 的幻觉率低于 Sonnet(即较小模型反而更少幻觉);DeepSeek V3.2 与 GPT-5.4-mini 之间 Jaccard 相似度达到 J = 0.343 的峰值,提示两者可能共享部分训练数据来源。
Spracklen 的原始工作已经记录了使 slopsquatting 可行的前提条件:58% 的被幻觉包名会在重复生成中再次出现,43% 在十次重跑中每次都出现。幻觉并非噪声,而是攻击者可以低成本枚举出来的可复现假象。
为什么重要
slopsquatting 的实证证据可追溯至 2023 年:Lasso Security 的 Bar Lanyado 注册了空包 huggingface-cli——这是大模型经常错误输出、用以替代正确名称 huggingface_hub[cli] 的名字。这个空包在三个月内被下载了 3 万余次,甚至出现在阿里巴巴一个研究仓库的 README 中。
2026 年的结果又增加了一层结构性担忧。即便前沿模型趋向于将幻觉率压在 7% 以下,它们似乎也在收敛于相同的捏造名字。一个小而稳定、跨模型共享的虚幻包名空间,正是会随着应用规模增长而扩大的攻击面:每一个新的代码代理工具、每一种不经人工审阅就自动安装依赖的”vibe coding”工作流,都会继承这同样的 127 个名字。
防御
将由 AI 生成的 import/require 语句视为不可信输入。 在 lockfile(带哈希的 requirements.txt、package-lock.json、pnpm-lock.yaml、uv.lock)中固定每一个依赖,并在新项目首次安装前对照注册表进行核对。带哈希的 lockfile 能化解新注册的 slopsquat,因为哈希值不会匹配。
未经显式白名单的情况下,拒绝代理发出的安装动作。 能执行 pip install 或 npm install 的代理应被配置为要求一份经人工审核的包名白名单,或仅允许从预先审核过的内部镜像安装。
使用带隔离期的注册表代理。 内部 PyPI/npm 代理(Sonatype Nexus、JFrog Artifactory、Artifact Registry、内部 pypi-mirror)可以配置为将新发布包的可见性延迟 7 至 30 天,在到达开发者之前消化掉大多数 slopsquatting 尝试。
对每个依赖树运行供应链扫描器。 Socket、Snyk、Phylum、OSV-Scanner 等工具能够识别带有安装脚本、混淆代码、近期注册、下载量低或维护者异常的包——这些都是新注册 slopsquat 的典型运行特征。
对大模型提议的每一个新依赖,人工核验包名。 在 pypi.org/project/<名称> 或 npmjs.com/package/<名称> 上花五秒钟的核查就能消除整类风险。Churilov 论文公开的数据集(Zenodo 10.5281/zenodo.19859120)列出了那 127 个跨模型的幻影名字,可作为拒绝清单使用。
不要依赖模型自我检测。 Spracklen 发现 GPT-4 Turbo 和 DeepSeek 在被询问时能以约 75% 的准确率标记出自己刚生成的幻觉名字,但仍有 25% 漏过去——而且对抗性用户不会主动询问。正确的信任边界在应用层。
状态
| 项目 | 引用 | 日期 | 备注 |
|---|---|---|---|
| 原始研究 | Spracklen 等,arXiv 2406.10279 / USENIX Security ‘25 | 2024-06(预印本)/ 2025-08(会议论文集) | 16 款 LLM,576,000 个样本,平均 19.7% 幻觉率 |
| 术语提出 | Seth Larson(PSF),Andrew Nesbitt | 2025-04 | ”Slopsquatting” 合成词 |
| 2026 复现 | Churilov,arXiv 2605.17062 | 2026-05-16 | 5 款前沿模型,199,845 个提示,区间 4.62–6.10% |
| 跨模型幻影名集 | Churilov 数据集(Zenodo) | 2026-05-16 | 5 个模型同时凭空捏造的 127 个名字(PyPI 109 + npm 18) |
| 已观察到的利用 | Bar Lanyado / huggingface-cli 概念验证 | 2023-06 | 空替身包在三个月内被下载 3 万余次 |
| 关联框架 | OWASP LLM05(不当输出处理)、OWASP LLM03(供应链)、MITRE ATLAS AML.T0010 | 2026 | 不安全输出 → 包安装 |
前沿模型幻觉率的收敛,对 Anthropic、OpenAI、Google 与 DeepSeek 的安全团队来说是一次实打实的胜利。但 127 个共享幻影包的交集提醒我们,经过对齐的模型在错误上也会与在回答上一样彼此趋同;而拦截此类攻击的正确位置,是供应链层——注册表、lockfile、扫描器与代理。
Sources
- → https://arxiv.org/abs/2605.17062
- → https://arxiv.org/abs/2406.10279
- → https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks
- → https://en.wikipedia.org/wiki/Slopsquatting
- → https://www.bleepingcomputer.com/news/security/ai-hallucinated-code-dependencies-become-new-supply-chain-risk/