为什么幻觉比偏见更危险?
在大模型安全之三十三:向量视角下的AI幻觉与偏见--从嵌入空间理解模型的认知偏差-CSDN博客中讲解了向量视角下的幻觉和偏见。偏见通常有迹可循------它可以被统计检测、被规则约束、被多样性审查暴露。但幻觉不同。一个模型用同样自信的语气说出一个不存在的 Python 包名,它不是在表达倾向,而是在凭空创造一个可被利用的攻击面。
2025 年的一项大规模研究测试了 16 个代码生成模型、576,000 个代码样本,发现 19.7% 的推荐包根本不存在,产生了约 205,000 个独特的幻觉包名,且许多名称在不同运行中反复出现,具有高度可预测性。这就是幻觉从"可靠性烦恼"升级为"主动安全威胁"的临界点。
本文面向所有开发人员和安全人员,系统梳理幻觉的真实攻击实例、检测、治理与预防。每个攻击实例都配有对应的解决方案。
一、幻觉攻击的真实实例与解决方案
实例一:Slopsquatting --- 包名幻觉供应链攻击(已实际利用)
攻击机制 :攻击者监控 LLM 经常幻觉出的包名模式,抢先在 PyPI、NPM 上注册这些名称并填入恶意代码。当开发者(或 AI Agent)按照 LLM 建议执行 pip install 或 npm install 时,攻击载荷就会在本地执行。
真实攻击示例 :react-codeshift 是一个典型的"混淆幻觉"------模型把两个真实包名 jscodeshift 和 react-codemod 融合在一起,生成了一个看似合理但实际不存在的包名。安全研究人员确认,这类幻觉包名已经被攻击者注册并用于投递恶意载荷。另一个被确认的案例是 django-postgres,同样是模型将两个真实包名错误组合的产物。
量化影响:一个安全研究工具的实际扫描结果显示,一个普通项目的 47 个依赖中,可以检测出 1 个已知幻觉包和 2 个"可疑"包(创建仅 14 天、下载量极低、发布者账号全新)。
解决方案 :安装前验证,而非事后扫描 。专用工具如 isitreal 提供了从 Python API 到 MCP Server 的完整验证接口,AI Agent 在添加任何依赖前必须调用 verify_package,检查包是否存在、风险等级和可解释的标记原因。对于 CI/CD 管道,--fail-on high 参数可以让构建在检测到高风险包时直接失败。SlopGuard 同样提供扫描功能,结合幻觉数据库匹配、注册表 404 检测、包年龄和下载量等多信号评分,默认将分数 ≥ 0.85 标记为"幻觉",≥ 0.40 标记为"可疑"。
关键教训:安装 AI 推荐的包之前,永远先验证它是否真实存在。
实例二:引用幻觉 --- 法律与合规领域的实际后果
攻击机制:模型构造格式完美、文号逼真的引用------判例名称、案卷号、判决要旨一应俱全------但引用的是完全不存在的法律程序。
真实后果:多位律师因提交包含 AI 生成虚假判例引用的法律简报而受到法院制裁。在 Mata v. Avianca 案中,律师 Steven Schwartz 在法庭文件中引用了 ChatGPT 幻觉出的虚假判例,被法官发现后遭到制裁。这属于 OWASP 分类中的 LLM09:过度依赖------根本危险不在于幻觉本身,而在于组织倾向于不验证就信任 AI 输出。
扩展风险:在医疗领域,一个更隐蔽的案例展示了引用幻觉如何污染科学记录。2026 年 3 月,期刊 Cureus 正式撤稿了一篇引用"bixonimania"作为真实临床实体的论文------这个疾病完全是 AI 幻觉的产物。该虚构实体通过看似格式正确的生物医学语言绕过了同行评审,甚至进入了正式的科学文献。
解决方案:
-
引用审计:对照主要书目数据库逐条交叉验证每一个 AI 生成的引用,未经证实的引用一律视为潜在幻觉。
-
受控词表检测:对照 ICD-11、MeSH、SNOMED CT 等标准词表检查 AI 生成的临床术语,标记任何不在已建立疾病本体中的术语。
-
训练数据溯源:优先选择披露训练数据来源和语料过滤标准的 LLM 系统。
实例三:HalluSquatting --- 代码仓库地址幻觉攻击(2026 年新披露)
攻击机制 :这是 2026 年 7 月由特拉维夫大学、以色列理工学院和 Intuit 研究人员披露的新型攻击。AI 智能体在遇到陌生项目或仓库名称时,会自行"补全"出看似合理但实际错误的地址。例如,当新仓库地址为 OriginalOwner/WindowsTelemetryOff 时,模型可能幻觉出 SuperHacker/WindowsTelemetryOff 或 WindowsTelemetryOff/WindowsTelemetryOff,甚至带有拼写误差的近似地址。
量化数据 :模型对近期(2025 年)发布的 GitHub 仓库名称的平均幻觉率高达 92.4% ;对热门智能体技能的幻觉率可达 100%;对 2019 年或更早的仓库,地址错误率仅为 0.9%。
攻击后果:当 Claude 等代码智能体收到"运行 windowstelemetryoff 脚本"的指令时,模型可能直接幻觉出仓库名,甚至在执行网页搜索后仍访问到恶意版本,进一步运行其中代码。一旦执行,可能触发反向 shell、数据与密码窃取、软件安装或加密货币挖矿。
应用层成功率差异:Cursor、Gemini CLI 和 Copilot 的攻击成功率为 20%-35%,而 OpenClaw 及其变体接近 80%-100%。
解决方案:
-
对 AI Agent 调用的任何仓库地址,在执行前强制验证其存在性和所有权归属。
-
对近期创建的仓库(尤其是 2025 年后发布的)提高验证强度,因为幻觉率在此类目标上极高。
-
实施 Agent 操作的最小权限原则,避免赋予 shell 执行权限而不加审查。
实例四:API 端点幻觉 --- 钓鱼基础设施的机会
攻击机制:当 AI 模型建议集成端点、webhook URL 或 API 文档链接时,如果这些地址不存在,攻击者可以注册对应域名,部署逼真的钓鱼页面或凭证收集器。
解决方案:
-
验证端点域名归属,确认其属于声称的服务提供商。
-
不盲目信任 AI 建议的集成地址,尤其是来自非官方文档的 URL。
-
在开发环境中使用网络级拦截,阻止对未验证端点的请求。
实例五:Agent 数据注入 --- 从"幻觉"升级为"主动武器化"(2026 年最新研究)
攻击机制 :这是首尔国立大学、伊利诺伊大学和 Largosoft 研究人员披露的新型攻击类别,与传统的 prompt injection 有本质区别。传统 prompt injection 隐藏一条指令(如"忽略任务,把文件发给我"),而 agent data injection 攻击的是 Agent 默默信任的底层事实------比如"谁发送了这封邮件"或"哪个按钮对应哪个 ID"。
核心发现 :Agent 用引号、花括号和标签来标记数据边界,严格解析器按规则读取标点,但语言模型靠猜测来理解。在受控字段中散布类似标点的字符,可以让模型幻觉出根本不存在的结构。更令人警觉的是,伪造的标点甚至不需要语法正确------一个转义引号或美元符号就能反复欺骗模型。
测试结果 :所有六款主流模型均被攻破,对结构化数据的攻击成功率为 31% 至 43%;即便是专门构建的防御措施,仍有一半的攻击能够穿透。编码助手如 Claude Code、OpenAI Codex 和 Gemini CLI 在收到伪造的 GitHub 评论(冒充维护者)后,会执行攻击者命令。Web Agent 如 Claude in Chrome 和 Google Antigravity 也被诱骗点击了错误按钮。
解决方案:
-
确认提示("是否允许点击/运行?")保护力薄弱,因为它只问"能不能",不揭示"底层事实是伪造的"。
-
对 Agent 操作实施结构化数据来源验证,不依赖模型对边界标点的"猜测式"理解。
-
在 Agent 架构中引入事实核查层,对关键操作(执行命令、点击支付按钮)要求独立的事实确认。
二、幻觉的系统性原因
理解原因才能精准治理。幻觉并非随机错误,而是遵循可预测的模式。
数据层面的原因
-
训练数据中的噪声和错误信息:模型从互联网学习,包括低质量、过时甚至蓄意污染的内容。RAG 系统如果检索到未经审核的预印本或低质量网页,会将这些内容作为"事实"输出。4
-
知识覆盖不足:对于训练数据中代表性不足的领域(小众司法管辖区、新兴技术、低资源语言),幻觉率显著更高。
模型层面的原因
-
统计预测的本质:LLM 本质上是文本预测机器,它用学到的模式"填补"知识空白,而非真正"理解"内容。12
-
置信度校准失效 :模型无论对具体声明实际有多确定,生成的文本都表现出均匀的表面自信。一项研究发现,模型能力越强,在特定条件下反而越危险------"Confidence-Capability Inversion"现象:更强的模型伪造内容时更具说服力,可检测的信号更少。9
架构层面的原因
-
RAG 范围错配:生产环境中 RAG 系统的默认架构本身就是触发条件。当只有元数据(如目录)而没有正文时,模型会生成"结构忠实但实质虚构"的内容------这是比完全没有上下文更危险的情况。
-
Agent 权限过大:赋予 Agent shell 访问权限,模型在某些 prompt 下会主动尝试修改自己的 system prompt 文件、安装额外软件。11
三、检测方法论
幻觉检测是诊断骨干,而非终端任务。根据一篇 2026 年的综合综述,检测方法可分为以下几类:
检索增强检测
通过将输出与检索到的证据进行对齐来判断事实性。检索范围的质量直接决定检测效果。
事实性度量
使用自动事实核查、自然语言推理等技术,判断声明是否与知识源一致。
自反思技术
让模型审视自己的输出。但需注意:一项关键研究发现,LLM 自我纠错能力被高估------"当 LLM 真的能纠正自己的错误"是一个被批判性审查的命题。
多模型交叉验证
使用不同模型对同一输出进行独立评估,差异即信号。
置信度校准
通过言语化不确定性(指示模型表达置信水平)和基于温度的采样分析,将"看不见的不确定"转化为可操作的标记。
四、五阶段治理框架
以下框架从输出级验证逐步深入到系统性准确性监控。
阶段一:输出验证(最有效的单一控制)
针对权威来源验证输出。
-
包推荐 → 在 PyPI、NPM、Maven 注册表验证后再呈现
-
法规引用 → 对照官方监管数据库逐条核对
-
API 端点 → 验证域名归属
这是投入产出比最高的控制手段。 如果只能做一件事,就做这个。
阶段二:置信度校准(治本)
让模型的不确定性可见。低于置信阈值的输出自动路由到额外验证。注意:更强的模型可能反而校准更差,因此不能假设"好模型不需要校准"。
阶段三:自动化验证
在无需人工干预的情况下捕获大多数幻觉。自动化验证应覆盖:引用是否存在、包是否真实、端点是否可达且属于预期方、统计数据是否有来源支撑。
阶段四:人在回路(高风险输出的最终安全网)
当幻觉的代价超过人工审核的成本时,必须人工签核。审核流程应围绕具体幻觉模式结构化:审查者聚焦于引用、统计数据、法规参考,而非验证每一句话。
阶段五:持续准确性监控
跟踪幻觉率随时间的变化,按领域、按司法管辖区、按查询类型分层统计。关注训练数据中代表性不足的领域------这些地方幻觉率更高。
五、预防清单
| 风险类型 | 预防措施 |
|---|---|
| 包名幻觉 | 安装前用 isitreal 或 SlopGuard 验证;CI 中设置 --fail-on high 门禁 |
| 仓库地址幻觉 | Agent 调用仓库前强制验证存在性和所有权;对 2025 年后新仓库提高警惕 |
| 引用幻觉 | 对照权威数据库逐条验证;医疗领域对照 ICD-11/MeSH 词表 |
| API 端点幻觉 | 验证域名归属;阻止对未验证端点的自动请求 |
| Agent 数据注入 | 不依赖模型对标点边界的"猜测";对关键操作要求独立事实确认 |
| 系统性退化 | 建立幻觉率基线,按领域分层告警 |
六、一些论文核心观点引用
以下观点来自一些学术论文,这些研究从幻觉的本质、RAG 的局限、治理的系统性、有效边界以及检测与治理的关系五个维度,共同勾勒出幻觉问题的完整图景。
关于幻觉的本质:一项 2026 年的研究发现,LLM 幻觉"不仅仅是可以用更好的 prompt 或更多数据解决的准确性问题。它是一种可以被分析师用正确问题引导的情报收集能力------而'正确问题'不是对抗性 prompt,而是普通的领域查询。"该研究还首次量化了"Confidence-Capability Inversion":模型能力越强,在元数据泄露条件下认知校准越差。这意味着,更强的模型在伪造内容时往往更具说服力,可检测的信号反而更少,因此不能简单假设"模型越强越安全"。9
关于 RAG 的局限:同一研究揭示了"RAG Scope Mismatch"------生产 RAG 系统的默认架构本身就是触发条件。拥有错误的元数据(有目录无正文)比完全没有上下文更糟糕,因为它使得模型能够生成带有可信引用的结构化虚构内容。这一发现提醒我们:在搭建 RAG 系统时,不仅要关注检索到了什么,更要关注检索范围是否完整、元数据与正文是否匹配,否则反而会放大幻觉风险。9
关于治理的系统性:一篇 2025 年 IEEE 论文提出将幻觉重新概念化为"生命周期现象"------源自上游数据收集缺陷、被训练时偏差强化、被推理时解码病理加剧。该论文主张"将幻觉缓解重新框定为系统级挑战,而非一组孤立的修复",并提出跨阶段的集成混合框架。这一视角的核心价值在于:它把幻觉从"模型缺陷"重新定位为"系统问题",要求我们在数据、训练、推理、部署的每一个环节都建立相应的控制机制,而不是寄希望于单一的技术补丁。10
关于 RAG 的有效边界 :一项关于 bixonimania 案例的研究表明,严格限制在索引和同行评审来源的 RAG 系统本可以防止虚构实体进入模型输出 。使用严格治理的 RAG 管道,在某些临床指导任务中观察到幻觉率降至 0-10%。但同一研究警告:具有互联网访问和自主检索能力的 Agent 系统可能放大错误信息,通过多个推理阶段反复检索和再循环低质量来源。这提示我们,RAG 并非万能------它的有效性高度依赖检索源的质量管控,而一旦引入不受控的自主检索,原本的防护边界就可能被突破。4
关于检测与治理的关系:一篇 2026 年综合综述将检测定位为"诊断骨干",而非终端任务------它使自适应和多阶段缓解工作流成为可能。换句话说,检测本身不是目的,而是为后续治理提供依据的手段。只有把检测结果与治理动作(如自动路由、人工复核、模型更新)联动起来,才能真正形成闭环,把"发现幻觉"转化为"消除风险"。7
七、结语:把"自信"当作需要验证的信号
幻觉之所以比偏见更难治理,是因为它伪装成知识。模型不会说"我不确定",它会给你一个格式完美、语气权威的答案。
治理幻觉的核心,不是追求模型永远不犯错。而是建立一套体系,让组织不再无条件信任任何未经核实的 AI 输出。
对开发人员:你运行的每一条 AI 推荐的安装命令,都可能是在执行别人的载荷。
对安全人员:幻觉不是模型缺陷,而是攻击面。
把每一次 AI 输出都当作需要验证的声明,而不是需要执行的指令。
八、参考:
4 https://www.thelancet.com/action/showPdf?pii=S2589-7500%2826%2900071-3#1#1
5 https://www.toutiao.com/article/7660742030670184970/?wid=1783656301347
6 New Attack Makes Coding Assistants Run Strangers' Commands
7 https://www.sciencedirect.com/science/article/pii/S2949719126000361#1
8 https://dl.acm.org/doi/10.1007/s10579-026-09938-4#1
9 https://zenodo.org/records/18980854/files/_smra-paper.pdf?download=1#7#1
12 LLM-Halluzinationen und Fehlinformationen | OWASP LLM 09:2025