计算机安全 人工智能幻觉对软件供应链构成新威胁

人工智能幻觉对软件供应链构成新威胁

对于依赖人工智能进行编码的开发者和组织来说,一个令人不寒而栗的新发现是,研究人员发现了一种由代码生成模型中的人工智能幻觉所造成的新型供应链威胁。这种被称为“slopsquatting”的新兴攻击媒介,可能允许恶意行为者利用大型语言模型 (LLM) 产生的虚假程序包渗透到软件生态系统中。

危险在于,LLM 课程经常会对软件包产生“幻觉”——建议或插入根本不存在的软件依赖项的引用。德克萨斯大学圣安东尼奥分校、俄克拉荷马大学和弗吉尼亚理工大学联合开展的一项研究发现,接受测试的 16 门热门 LLM 课程无一幸免于这种现象。

什么是 Slopsquatting 以及它是如何运作的?

恶意代码抢注利用了这种幻觉缺陷,并将其转化为武器。当 LLM 在代码生成过程中建议使用一个不存在的软件包时,网络犯罪分子可以快速以该名称注册一个恶意软件包。一旦发布,任何相信 AI 生成代码的开发人员都可能在不知情的情况下导入并运行该恶意软件包。这不仅会危及单个项目,如果受感染的代码被重复使用或共享,还可能蔓延到整个软件供应链。

研究发现,在 Python 和 JavaScript 测试场景中生成的 223 万个包中,近 44 万个(约占 19.7%)是幻觉包。其中,高达 205,474 个是独一无二的虚构包名。大多数幻觉包(81%)对于生成它们的特定模型而言都是独一无二的,这表明不同 LLM 之间存在行为不一致。

商业AI模型至少在5.2%的情况下会出现幻觉包裹,而开源模型的表现则更糟,幻觉率高达21.7%。令人担忧的是,这些错误并非偶然。超过一半的幻觉包裹(58%)在短短10次迭代中反复出现,显示出明显的持续性趋势。

人工智能生成代码在软件开发中的风险不断上升

虽然先前的研究已经确认了域名抢注(攻击者利用错误输入或误导性的软件包名称)的威胁,但这种新的域名抢注攻击代表了一种被忽视且潜在危险性更高的变体。与利用人为错误的域名抢注不同,域名抢注利用的是人工智能生成代码的权威性和可信度。

或许最令人着迷——也同样令人担忧——的是,研究人员发现LLM能够识别自身的许多幻觉。这表明,LLM拥有尚未开发的自我调节潜力,可用于未来的安全机制。这也暗示了部署模型内检测工具的可能性,以防止错误或危险代码的传播。

开发人员如何防范 AI 软件包幻觉

为了应对这一威胁,研究人员提出了一系列缓解措施。这些措施包括先进的即时工程技术,例如检索增强生成 (RAG)、即时调整和自我改进。在模型开发方面,监督微调和改进解码算法等策略可以帮助降低幻觉发生率。

随着生成式人工智能持续变革软件开发,这项研究深刻地提醒我们,便捷性是有代价的。开发人员必须对人工智能生成的代码保持警惕和批判性,尤其是在依赖项管理方面。在安装任何推荐的软件包之前,集成静态分析工具和手动审核现在比以往任何时候都更加重要。

威胁形势瞬息万变,正如这项研究表明的那样,我们的防御能力也必须随之提升。曾经看似科幻的人工智能——想象并不存在软件——如今已成为一个切实存在的网络安全隐患,影响深远。

正在加载...