网络安全

代码库中的幽灵:幻觉依赖如何破坏软件供应链安全

了解 AI 幻觉如何制造关键安全风险,从恶意包抢注到受损的构建流水线,以及如何保卫您的系统。
代码库中的幽灵:幻觉依赖如何破坏软件供应链安全

这一切始于 2026 年初一家中型金融服务公司的一张常规工单。一位资深 DevOps 工程师受命优化一个基于 Python 的旧版中间件,他求助于尖端的的大语言模型 (LLM) 来重构一个复杂的数据验证程序。AI 提供了一个精简的 20 行解决方案,其中包括对名为 fastapi-secure-auth-extension 库的调用。这个库听起来很正规,语法完美,且优雅地解决了问题。几小时内,代码经过审查、合并,并被推送到预发布环境。

问题在于 fastapi-secure-auth-extension 并不存在——至少在三周前还不存在。一个监控常见 LLM 幻觉模式的威胁行为者发现,几个流行模型经常建议使用这个不存在的包。因此,他们在 Python 包索引 (PyPI) 上注册了该名称,并加载了一个隐蔽的多阶段凭据窃取程序。当银行的安全运营中心 (SOC) 注意到指向东欧某个可疑端点的异常出站流量时,其构建流水线的完整性已经遭到破坏。

从风险角度来看,这并非传统防火墙或加密的失败。这是在一个生成内容与可验证现实之间界限模糊的时代,信任的失败。作为一名多年来致力于剖析高级持续性威胁 (APT) 并通过加密 Signal 频道与白帽研究员交流的编辑,我发现这种攻击面的演变格外令人胆寒。我们不再仅仅是在与恶意代码作斗争;我们是在与机器出错的统计概率作斗争。

生成式 AI 的概率陷阱

要理解为什么这些幻觉如此危险,我们必须深入了解 LLM 架构层面的幕后机制。这些模型不是数据库;它们是复杂的自动补全引擎。它们基于标记 (Tokens) 和概率运行,根据训练期间学习到的模式预测下一段文本。当模型遇到冷门的技术查询时,它不会搜索事实答案,而是会幻觉出一个听起来合情合理的答案。

在软件开发领域,这导致了研究人员现在所说的“AI 软件包幻觉” (AI Package Hallucination)。当 LLM 建议一个不存在的库时,它创造了一个真空。恶意行为者现在正主动填补这些真空。他们利用模型本身来识别哪些“虚假”库最常被推荐,然后在 NPM、PyPI 或 GitHub 等公共仓库上注册这些名称,执行数字版的“抢注”。

观察威胁格局,这是对软件供应链的一次高明颠覆。在过去的五年里,我们一直痴迷于零信任 (Zero Trust) 和软件物料清单 (SBOM),然而现在我们正目睹一个后门正通过那些旨在提高生产力的工具被构建出来。撇开补丁不谈,这是一个根本性的数据完整性问题,需要我们转变对待“人为防火墙”的方式。

代码之外:当文档撒谎时

虽然幻觉包是对开发者最直接的威胁,但这种风险比几个恶意库更为普遍。在发生违规事件时,事件响应者通常依靠文档和系统日志来重建时间线。然而,随着组织将 AI 集成到其内部知识库和 SOC 剧本中,“内部幻觉”的风险随之增加。

想象一下,一个自动化的安全副驾驶为一个云环境幻觉出了一个特定的配置设置。如果一名初级管理员遵循了该建议,他们可能会在认为自己遵循最佳实践的情况下,无意中开放了一个完全公开的 S3 存储桶或禁用了关键任务防火墙规则。我最近与一位取证分析师交谈,他发现了一个配置错误的 Kubernetes 集群,这直接源于 AI 建议了一个在当前软件版本中已不再存在的过时且不安全的标志 (Flag)。

这就是现代 AI 的架构悖论:我们越是依赖它来管理复杂的网络,就越是引入了传统扫描工具无法察觉的隐蔽、细微的漏洞。AI 并不是想作恶;它只是想提供帮助,而在这种热切中,它创造了一个数字木马。

CIA 三要素中的完整性危机

在我的报道中,我总是回到 CIA 三要素:机密性 (Confidentiality)、完整性 (Integrity) 和可用性 (Availability)。几十年来,行业一直侧重于机密性(防止数据泄露)和可用性(防止 DDoS 和勒索软件)。然而,AI 幻觉代表了对完整性的直接攻击。

如果我们用于做出安全决策的数据是幻觉出来的,我们的整个防御态势就会变成空中楼阁。评估 2026 年的攻击面要求我们将 AI 输出视为潜在的有毒物质,除非证明其并非如此。这就是为什么许多通过 PGP 与我交流的研究人员现在都在倡导“可验证 AI”框架。这不仅仅是过滤脏话;这是关于将 AI 响应植根于现实世界的权威数据源中——这一过程被称为检索增强生成 (RAG)。

然而,即使是 RAG 也不是万灵药。如果检索到的底层数据被篡改,或者模型误解了检索到的上下文,幻觉依然存在,只是形式更加复杂。从主动防御的角度来看,我们必须将 LLM 视为网络上的不可信用户。

实际防御:如何审计海市蜃楼

我们不能简单地禁用 AI;其带来的生产力提升太显著了,不容忽视。相反,我们必须建立一个韧性框架,将坐在键盘前的那个“才华横溢但病态的谎言家”考虑在内。从最终用户的角度,当然对于企业领导者来说,以下步骤不再是可选的:

  • 对所有 AI 生成的代码实施人工验证: AI 建议的任何库、函数或配置在没有人工验证其在公共或私有仓库中的存在和来源之前,绝不能进入生产环境。
  • 实施具备幻觉感知能力的 SCA: 现代软件成分分析 (SCA) 工具必须配置为标记任何最近注册或没有明确维护历史的库,因为这些是幻觉抢注攻击的主要特征。
  • 沙箱化 AI 测试: AI 生成的任何代码片段或基础设施即代码 (IaC) 模板应首先在隔离的去中心化环境中执行。这允许你在代码接触主网络之前监控未经授权的出站连接。
  • 为 AI 代理设置细粒度的权限控制: 如果你使用的 AI 代理有权对你的环境进行更改,其权限必须受到严格限制。永远不要给 AI “上帝模式”或管理凭据;它应该始终以执行任务所需的最小权限运行。

前行之路:信任,但要核实

几十年前,我们了解到我们不能信任网络边界。我们用零信任取代了过时的护城河——在每个内部门口都设有一名 VIP 俱乐部保镖。今天,我们必须对工具生成的信息应用同样的怀疑态度。影子 IT 曾经是企业网络的暗物质,但今天,影子“智能”是更大的风险。

随着我继续追踪这些新兴威胁,我那健康的偏执感只会与日俱增。每当我看到开发者赞美聊天机器人在几秒钟内解决了一个复杂的漏洞时,我都在想那个解决方案的细则中隐藏着什么。完整性是安全的基石。如果我们失去了区分事实与统计学上的谎言的能力,我们就失去了保卫系统的能力。

你的下一步很明确:今天就审计你的开发工作流。你的工程师是否有验证 AI 建议依赖项的协议?如果答案是否定的,你不仅是在使用 AI;你还在主持一场随时可能发生的数字人质危机。

来源:

  • NIST AI 100-1: Artificial Intelligence Risk Management Framework
  • MITRE ATLAS (Adversarial Threat Landscape for Artificial-Intelligence Systems)
  • OWASP Top 10 for Large Language Model Applications
  • Industry analysis from Snyk and Lasso Security on Package Hallucinations (2024-2025)

免责声明: 本文仅供信息参考和教育目的。它不构成专业的法律或网络安全建议。组织在实施新的安全协议或 AI 集成之前,应进行独立的风险评估并咨询合格的网络安全专业人士。

bg
bg
bg

另一边见

我们的端到端加密电子邮件和云存储解决方案提供了最强大的安全通信手段,确保您的数据安全和隐私。

/ 创建免费账户