跳到正文
原文
论文追踪· arXiv:2605.17062· Aleksandr Churilov·本站收录 · 原文发表 精选关注度54

研究复现五个前沿模型的包名幻觉:跨模型共同幻觉 127 个包名,53 个仍可被注册

The Range Shrinks, the Threat Remains: Re-evaluating LLM Package Hallucinations on the 2026 Frontier-Model Cohort

论文速读

评测与基准

据论文 PDF 整理(Gemini 生成),以原文为准

作者在5款2026年前沿模型上复现代码包幻觉评测,测得总体幻觉率为4.62%至6.10%,并发现127个跨模型通用幻觉包名。

威胁模型攻击者为非特权角色(unprivileged actor),仅需在PyPI和npm上注册包的能力。

问题
代码生成大模型在生成代码时可能幻觉出不存在的包名,攻击者可在PyPI或npm抢注同名恶意包实施投毒(slopsquatting)。论文旨在评估2026年前沿模型在此类代码包幻觉上的发生率与威胁演变。
方法
作者在5款2026年前沿模型上复用Spracklen的199,845条Python和JavaScript提示词生成代码,通过正则提取包名并比对官方包名主列表,计算幻觉率与模型间重叠度,并结合注册表安全团队核查可注册性。
实验与结果
5款模型总体幻觉率介于4.62%与6.10%之间,模型间差距收窄;Python幻觉率均高于JavaScript;所有模型共同幻觉出127个通用包名,经注册表规则过滤后仍有53个可被攻击者注册。
局限与可以继续做的
实验仅评估5款前沿模型,未测试更小开源模型或智能体配置;提示词可能已被纳入预训练数据;GPT-5.4-mini仅测试最低推理努力且拒答率达32.14%;DeepSeek API元数据出现版本漂移。
实验设置Claude Sonnet 4.6、Claude Haiku 4.5 等 · Stack Overflow prompts (SO_AT and SO_LY subsets)、LLM-synthesized prompts (LLM_AT and LLM_LY subsets) 等 · Hallucination rate、Pairwise difference (Δ) 等
威胁模型
攻击者为非特权角色(unprivileged actor),仅需在PyPI和npm上注册包的能力。攻击目标是利用模型生成代码时引用的幻觉包名发布恶意包,诱导下游开发者安装以在开发者环境执行代码。假设攻击者未入侵LLM提供商、未微调模型、无用户系统特权访问,注册表除公开接口外无其他参与。
被测模型
Claude Sonnet 4.6Claude Haiku 4.5GPT-5.4-miniGemini 2.5 ProDeepSeek V3.2
基准
Stack Overflow prompts (SO_AT and SO_LY subsets)LLM-synthesized prompts (LLM_AT and LLM_LY subsets)PyPI package-name master list (pypi_package_names.csv)npm package-name master list (npm_package_names.csv)
指标
Hallucination ratePairwise difference (Δ)Refusal rateJaccard similarity
AI 导读和推荐理由独立研究者 Aleksandr Churilov 在 Claude Sonnet 4.6、Claude Haiku 4.5、GPT-5.4-mini、Gemini 2.5 Pro 和 DeepSeek V3.2 上复现 Spracklen 等人的包名幻觉测量方法,在 199,845 条 Python 与 JavaScript 提示上测得幻觉率介于 4.62%(Claude Haiku 4.5)与 6.10%(GPT-5.4-mini)之间,模型间差距从 2024 年的 5.2%–21.7% 压缩到 1.48 个百分点。

独立研究者 Aleksandr Churilov 在 Claude Sonnet 4.6、Claude Haiku 4.5、GPT-5.4-mini、Gemini 2.5 Pro 和 DeepSeek V3.2 上复现 Spracklen 等人的包名幻觉测量方法,在 199,845 条 Python 与 JavaScript 提示上测得幻觉率介于 4.62%(Claude Haiku 4.5)与 6.10%(GPT-5.4-mini)之间,模型间差距从 2024 年的 5.2%–21.7% 压缩到 1.48 个百分点。

推荐理由论文在五个前沿模型上复现包名幻觉测量,并给出跨模型共同幻觉的包名集合与仍可注册的子集,可供评估 slopsquatting 攻击面。

深度解读

6 个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    评估2026年前沿代码模型包幻觉发生率,检验抢注攻击面是否随模型能力提升而消除。

    论文旨在评估2026年最新前沿大模型在代码生成中的包名幻觉(package hallucination)现象及其引发的软件供应链抢注攻击(slopsquatting)风险。

    • 问题背景与重要性:现代软件开发依赖PyPI与npm等集中式注册表,开发者在采纳模型生成的安装或导入指令时,若模型引用了虚构的包名,攻击者可在公共注册表上注册该名称并植入恶意代码,从而在开发者安装时获取任意代码执行权限。
    • 现有研究的观察与局限:Spracklen等人(USENIX Security '25)在2024年模型队列上测得开源模型幻觉率为21.7%、商用模型为5.2%;但在随后18个月中,前沿模型在训练数据、安全后训练与推理控制上经历了迭代,代码包幻觉风险是否随之消除尚缺乏实证检验。
    • 论文核心切入点与假设:作者假设模型能力的提升可能收窄不同模型间的幻觉率差异,但4%至7%的残留幻觉率仍足以维持攻击者的经济可行性,且多模型重叠生成的幻觉可能形成跨模型的供应链攻击面。
    • 威胁模型:
      • 攻击者目标与能力:攻击者为非特权角色(unprivileged actor),仅需具备在PyPI和npm注册公开软件包的能力,无需特权访问或模型微调权限。
      • 攻击触发链条:攻击者离线采样模型提取幻觉包名并在注册表提前注册恶意包,受害开发者后续向模型发起相似代码生成查询并执行安装命令。
      • 攻击成本假设:注册公开软件包成本为零,仅需消耗少量API查询成本即可枚举候选包名,作者测算同等规模扫描成本仅需860.90美元。
      • 受害系统范围:受害系统为信任公共注册表并运行包管理工具的下游开发者本地或CI/CD环境。
  2. 有哪些相关研究?

    回顾包混淆攻击与代码模型幻觉研究,基于Spracklen等人的评测基线开展时间跨度复现。

    相关研究主要围绕软件供应链中的包混淆攻击、代码生成模型的安全缺陷与幻觉现象,以及针对包幻觉的基准度量展开。

    • 包混淆攻击(Package Confusion Attacks)
      • Neupane等人(2023)与Birsan(2021):分析了早于大模型的传统包混淆攻击,包括利用开发者输入拼写错误的Typosquatting攻击,以及利用公共注册表同名覆盖内部私有包名的Dependency Confusion攻击。
      • Aboukhadijeh(2025):提出并讨论了由大模型幻觉衍生的Slopsquatting攻击,指出攻击者无需等待拼写错误,而是抢先注册模型生成行为诱导开发者安装的虚构包名。
    • 代码生成模型幻觉与安全漏洞
      • Pearce等人(2022):在Asleep at the Keyboard研究中评估了GitHub Copilot生成脆弱代码的安全风险,确立了代码生成安全度量基础。
      • Huang等人(2023)与Ji等人(2023):对大语言模型自然语言生成中的事实冲突与幻觉分类学进行了综述,论文将包名幻觉定位为该现象在软件依赖领域的安全具象化表现。
    • 包幻觉度量研究
      • Spracklen等人(USENIX Security '25):论文的直接基线工作,评估了2023至2024年的16款大模型,报告开源模型幻觉率达21.7%、商用模型最低5.2%,并公开了由Stack Overflow和合成提示词组成的评测数据集与包名主列表。
      • Krishna等人(2025,Importing Phantoms):与Spracklen同期独立展开的包幻觉度量工作,在部分重叠的模型集上报告了相近的幻觉率。
    • 基线方法与数据集
      • 本文采用Spracklen等人(2025)公开的评测协议作为基线方法,直接复用其20,163条Stack Overflow提示词和19,806条合成提示词(共39,969条),以及PyPI(500,565个包名)和npm(约3,000,000个包名)的验证主列表。

    作者将本文定位为时间跨度上的精确复现研究,旨在相同方法和提示词基准下,对比2026年前沿模型队列与2024年基线模型的差异,并探索跨模型通用幻觉这一未被先前工作指出的攻击向量。

  3. 论文如何解决这个问题?

    复用基线协议对5款前沿模型生成代码进行正则抽取与主列表验证,并联合注册表核实攻击面。

    作者沿用Spracklen等人的端到端测量管线,对5款2026年前沿模型生成的近20万份代码样本提取第三方包名,结合PyPI与npm官方主列表过滤判定幻觉,并通过跨模型求交集与注册表协同披露分离出可实际利用的攻击面。

    评测模型与提示词输入

    • 前沿模型队列:选取2025年10月至2026年3月发布的5款代表性模型,涵盖Anthropic的Claude Sonnet 4.6与Claude Haiku 4.5、OpenAI的GPT-5.4-mini、Google的Gemini 2.5 Pro以及DeepSeek的DeepSeek V3.2。
    • 提示词构成:严格复用Spracklen基准中的39,969条提示词,包含20,163条Stack Overflow编程问题(SO_AT与SO_LY子集)和19,806条程序合成问题(LLM_AT与LLM_LY子集),Python与JavaScript各占一半。
    • 采样参数配置:记录API端点与快照标识符,默认使用默认temperature、top-p和思考设置;其中GPT-5.4-mini因成本考虑设为reasoning_effort=minimal,每条提示词每个模型单次采样,共生成199,845份代码样本。

    代码包名提取与噪声过滤

    • 启发式正则抽取:沿用Spracklen提取规则,匹配pip install与npm install指令,以及Python的import/from和JavaScript的require()/import语句,支持npm命名空间与Python子模块导入解析。
    • 标准库与噪声过滤:使用CPython标准库列表和Node.js核心模块列表剔除系统内置库;增加噪声过滤器剔除Dart语法前缀、Node内置前缀、Webpack路径别名、模板占位符等正则抽取伪影。

    幻觉判定与统计指标

    • 两阶段真值判定:将提取出的包名规范化后比对Spracklen提供的PyPI(500,565个)与npm(约3,000,000个)主列表,未在主列表且不在已知假阳性列表中的判定为幻觉包。
    • 幻觉率形式化定义:定义经验幻觉率为 p̂ = |H| / |R|,其中 R 为模型生成的全部包引用多重集,H 为未在注册表主列表中解析的引用子集,并计算95% Wilson置信区间。
    • 统计检验设置:采用Pearson卡方检验对比模型对间的幻觉率差异,并在10组配对中使用Holm-Bonferroni方法进行多重比较校正(族系显著性水平取0.05),辅以10,000次置换检验作为稳健性检查。

    通用幻觉集合构建与注册表协同核查

    • 通用幻觉交集提取:对5款模型各自生成的幻觉包名集合计算交集,识别所有模型均独立生成的通用幻觉包(universal hallucinations)。
    • 注册表可利用性核查:将交集包名披露给PyPI Security与Socket.dev,依据PyPI自动化禁用词与超规范化(ultranormalization)规则,以及npm作用域与占位状态,剔除无法注册的条目,锁定最终可被攻击者抢注的攻击面。
  4. 论文做了哪些实验?

    5款模型总体幻觉率压缩至4.62%–6.10%,存在127个跨模型通用包名,经核实53个可被注册。

    实验设置

    • 被测模型:测试5款2026年前沿模型,分别为Claude Sonnet 4.6(claude-sonnet-4-6)、Claude Haiku 4.5(claude-haiku-4-5-20251001)、GPT-5.4-mini(gpt-5.4-mini-2026-03-17)、Gemini 2.5 Pro(gemini-2.5-pro)与DeepSeek V3.2(deepseek-chat)。
    • 数据集与规模:复用Spracklen等人的39,969条提示词,包含20,163条Stack Overflow提示词和19,806条LLM合成提示词,Python与JavaScript各半。
    • 基线与对比对象:以Spracklen在2024年评测的16款模型数据为历史基线(商业模型最低5.2%,开源模型最高21.7%)。
    • 评测指标:有效响应上的包幻觉率(p_hat = |H| / |R|)、语言间差异(Δ)、模型间Jaccard重叠度及拒答率。
    • 判定方式与样本量:通过正则抽取与PyPI(500,565名)及npm(约3,000,000名)主列表比对,无需LLM裁判;每个模型每条提示词采样1次,全语料共199,845次生成。

    主结果

    表格较宽,可左右滑动

    模型Python (%)JavaScript (%)Δ (Py−JS) (pp)总体幻觉率 (%)
    Claude Haiku 4.55.492.76+2.734.62
    Claude Sonnet 4.66.632.62+4.015.41
    Gemini 2.5 Pro6.753.61+3.145.80
    DeepSeek V3.26.693.78+2.915.89
    GPT-5.4-mini7.273.14+4.136.10

    (据 Table 2 与 Figure 2,各模型95% Wilson置信区间分别为Haiku [4.39–4.86]、Sonnet [5.18–5.66]、Gemini [5.56–6.06]、DeepSeek [5.61–6.18]、GPT [5.77–6.44])

    • 模型间差距收窄:5款前沿模型的总体幻觉率分布在4.62%至6.10%之间,极差为1.48个百分点,作者称相比2024年的16.5个百分点收窄了约11倍(Figure 2)。
    • 配对显著性表现:在10组模型对中,经Holm-Bonferroni校正后有5组达到显著水平,其中Claude Haiku 4.5与GPT-5.4-mini差异最大(Δ = 1.48 pp,chi^2 = 52.49,校正后p = 4.32×10⁻¹²),其余四款模型在5.4%至6.1%区间内形成统计上不易区分的聚类(Table 3)。
    • 历史水平对照:作者称5款2026年前沿模型的幻觉率均未超越2024年GPT-4 Turbo取得的3.6%低位水平(Figure 2虚线基线)。

    跨模型通用幻觉与可利用攻击面

    • 测试内容:测试5款模型幻觉包名集合的交集,并协同PyPI Security与Socket.dev核查其在公共注册表中的可注册性与利用条件。
    • 实验结果:5款模型共同生成了127个通用包名(PyPI 109个,npm 18个,Table 4列出频次前10位);经注册表规则审查后,PyPI保留41个可注册名称(如git等被禁用规则拦截),npm保留12个可注册名称(4个@ember/*因组织作用域不可注册,ssh-keys已存在,metro-evaluator处于安全占位),最终剩余53个可被攻击者实际注册利用的包名(§6)。
    • 作者的解读:作者称通用幻觉构成了与单一模型无关的供应链攻击面,攻击者仅需一次注册即可覆盖使用不同大模型提供商的下游开发者,打破了单一模型攻击效果随模型线性扩展的假设。

    语言与提示词类型的分布差异

    • 测试内容:对比Python与JavaScript代码生成在不同提示词来源(Stack Overflow与LLM合成)下的幻觉率表现。
    • 实验结果:所有5款模型中Python幻觉率均高于JavaScript,相差+2.73个百分点(Haiku 4.5)至+4.13个百分点(GPT-5.4-mini)(Table 2);同时LLM合成提示词的幻觉率普遍高于Stack Overflow精选提示词(§5.2)。
    • 作者的解读:作者称该结果反转了2024年JavaScript更易幻觉的结论,推测因2026年模型对Web前端语料训练更充分,且Python包命名规则自由度更高;合成提示词则暴露出偏离训练分布时更易触发幻觉。

    家族内部倒挂与模型重叠度分析

    • 测试内容:分析Anthropic家族内部高低参数量模型的幻觉率关系,并计算10组模型对之间幻觉包名集合的Jaccard相似度。
    • 实验结果:Claude Haiku 4.5的总体幻觉率(4.62%)低于Claude Sonnet 4.6(5.41%),配对差异达到显著水平(Δ = 0.79 pp,校正后p < 10⁻⁵,Table 3);模型间Jaccard相似度均值为0.222,其中Haiku 4.5与Sonnet 4.6相似度最低(J = 0.179),DeepSeek V3.2与GPT-5.4-mini相似度最高(J = 0.343,Figure 3)。
    • 作者的解读:作者称Haiku表现优于Sonnet反转了小模型幻觉更多的传统认知,可能与Haiku开启思考能力及针对指令遵循的专项后训练有关;DeepSeek与GPT的高重叠度则提示可能存在共享训练数据来源或趋同的虚构模式。

    其他消融与分析

    • 高频幻觉邻近度:PyPI高频幻觉前10名中有8个与现有真实包的编辑距离在2以内(Table 4)。
    • 模型拒答率差异:Claude Haiku 4.5为1.27%,DeepSeek V3.2为2.08%,Gemini 2.5 Pro为8.14%,Claude Sonnet 4.6为18.79%,GPT-5.4-mini达到32.14%(Table 1)。
    • 实验API总支出:5款模型共运行199,845次生成,总花费为860.90美元(Table B.1)。
  5. 有什么可以进一步探索的点?

    作者指出评测局限在5款前沿模型且未测智能体配置,需在后续工作中控制数据泄漏与拒答偏差。

    作者指出的局限与后续方向

    • 模型覆盖范围受限:仅评测了5款前沿商用及开源模型,较小的开源模型、微调变体和本地部署的量化检查点均不在研究范围内(§8)。
    • 测试时间点静态性:仅报告2026年4月22日至4月28日期间的时间点测量,由于模型存在不透明更新,测试结果可能无法反映其他时间点的表现(§8)。
    • 训练数据泄漏可能:2025年1月发布的Spracklen提示词语料可能已被部分纳入2026年模型的预训练数据,作者未收集知识截止期后的2026年保留提示词进行防泄漏验证,需在后续工作中补充(§8)。
    • 推理努力设置与拒答分母不对称:GPT-5.4-mini仅在最低推理努力(minimal)下评估且产生了32.14%的拒答率,计算分母存在不对称偏差,作者未对四个档位的推理努力进行扫描,留待未来研究(§8)。
    • 模型版本未锁定:DeepSeek公共API未固定模型版本,实验期间元数据返回了deepseek-v4-flash标识符,表明底层模型可能发生漂移(§8)。
    • 未评估智能体配置:未在带有工具调用的智能体配置(如Claude Code或GPT-5.4-mini的Responses API)中进行评估,检索机制原则上能否彻底消除包幻觉仍有待探索(§8)。

    实验覆盖范围

    • 被测模型数量:实际评测了5款前沿模型(Claude Sonnet 4.6、Claude Haiku 4.5、GPT-5.4-mini、Gemini 2.5 Pro、DeepSeek V3.2),论文未测试其他参数规模的开源模型。
    • 编程语言与提示词规模:实验覆盖Python与JavaScript两门语言,提示词总量为39,969条,每种语言各占一半。
    • 注册表验证基线:包名验证使用的是Spracklen 2025年工件中附带的PyPI(500,565项)和npm(约3,000,000项)主列表,论文指出这早于实验窗口期,区间内新注册的少量包会被计为不存在。
    • 采样预算与重复次数:每个模型针对每条提示词生成单次代码样本,全语料共采集199,845份生成。
    • 注册表核查主体:53个可注册名称的判定结合了PyPI Security的自动化规则和Socket.dev对18个npm候选词的人工审查,两家注册表未采用完全一致的过滤流程。
  6. 总结一下论文的主要内容

    评估显示前沿模型包幻觉率收窄但威胁仍在,作者识别出跨模型通用攻击面并呼吁联合防御。
    • 论文定位:论文是对Spracklen等人2024年代码包幻觉研究在2026年最新前沿大模型队列上的复现与扩展,重点评估软件供应链中的抢注攻击风险。
    • 解决的问题:代码大模型在生成代码时频繁虚构不存在的软件包名,攻击者可在公共注册表注册同名恶意包实施攻击;论文旨在探究经过18个月演进后的前沿模型是否仍存在该攻击面。
    • 核心方法:在5款前沿模型上运行39,969条标准化提示词生成199,845份代码样本,利用正则表达式提取包名并比对PyPI与npm官方主列表,进而计算跨模型重叠交集并由注册表安全团队核验可注册性。
    • 关键实验结果:
      • 5款模型的总体幻觉率在4.62%(Claude Haiku 4.5)至6.10%(GPT-5.4-mini)之间,模型间差距从2024年的16.5个百分点收窄至1.48个百分点(Figure 2)。
      • 所有模型的Python幻觉率均高于JavaScript,相差+2.73至+4.13个百分点(Table 2);Claude Haiku 4.5幻觉率低于更大尺寸的Claude Sonnet 4.6(Table 3)。
      • 5款模型共同生成了127个通用幻觉包名,经PyPI与npm审查过滤后仍有53个可被实际注册利用(§6)。
    • 作者结论与启示:作者称前沿模型的能力跃升虽大幅收窄了模型间的表现差距,但4%至7%的残留幻觉率在经济上足以维持抢注攻击的有效性;通用幻觉包的存在使得单次注册可针对多厂商模型用户,因此未来的供应链防御必须跨模型协同应对。
阅读原文arxiv.org