新研究揭示软件开发中人工智能威胁
2025-05-16 14:50
来源:德克萨斯大学圣安东尼奥分校
收藏

德克萨斯大学圣安东尼奥分校(UTSA)的研究人员最近完成了迄今为止最全面的研究之一,探讨了使用人工智能模型开发软件的风险。在一篇新论文中,他们展示了一种特定类型的错误如何对使用人工智能辅助编写代码的程序员构成严重威胁。

德克萨斯大学圣安东尼奥分校计算机科学博士生乔·斯普拉克伦 (Joe Spracklen) 领导了一项关于大型语言模型(LLM) 如何频繁生成不安全代码的研究。

他的团队的论文发表在arXiv预印本服务器上,并且已经被网络安全和隐私会议USENIX 安全研讨会 2025接受发表。

此次多机构合作还包括来自 UTSA 的另外三名研究人员:博士生 AHM Nazmus Sakib、博士后研究员 Raveen Wijewickrama 和副教授 Murtuza Jadliwala 博士(SPriTELab(计算机研究实验室的安全、隐私、信任和伦理)主任)。

其他合作者包括俄克拉荷马大学的 Anindya Maita(前 UTSA 博士后研究员)和弗吉尼亚理工大学的 Bimal Viswanath。

当模型生成的内容与事实不符、毫无意义或与输入任务完全无关时,就会出现法学硕士 (LLM) 中的幻觉现象。迄今为止,大多数研究主要集中在经典自然语言生成和预测任务(例如机器翻译、摘要和对话式 AI)中的幻觉现象。

研究团队重点研究了包幻觉现象,即当 LLM 生成或建议使用实际上并不存在的第三方软件库时发生的现象。

包裹幻觉之所以成为一个令人着迷的研究领域,是因为如此简单的事情——一个日常命令——可能会导致严重的安全风险。

“这不需要复杂的环境或一些晦涩难懂的事情,”斯普拉克伦说。“只需要输入一个命令,大多数使用这些编程语言的人每天都会输入这个命令。这就足够了。它非常直接,非常简单。”

“它也无处不在,”他补充道。“用基本的 Python 编程语言,你能做的事情非常少。自己编写代码要花很长时间,所以依靠开源软件来扩展编程语言的功能来完成特定任务,是一种普遍的做法。”

LLM 在开发人员中越来越受欢迎,他们使用 AI 模型来协助组装程序。

根据研究,高达 97% 的软件开发人员将生成式人工智能纳入他们的工作流程,目前编写的代码中有 30% 是由人工智能生成的。

此外,许多流行的编程语言,例如 Python 的 PyPI 和 JavaScript 的 npm,都依赖于集中式软件包存储库。由于这些存储库通常是开源的,因此不法分子可以上传伪装成合法软件包的恶意代码。

多年来,攻击者使用各种手段诱骗用户安装恶意软件。“软件包幻觉”是最新的伎俩。

Jadliwala 解释说:“假设我让 ChatGPT 帮我写一些代码,它确实写出来了。现在,假设生成的代码中包含指向某个包的链接,我信任它并运行了代码,但这个包并不存在,它是一个被幻觉的包。精明的对手/黑客可以看到(LLM 的)这种行为,并意识到 LLM 正在告诉人们使用这个不存在的包,这个被幻觉的包。”

“然后,对手可以简单地创建一个与幻觉包同名的新包(由 LLM 推荐)并在其中注入一些坏代码。

“现在,下次 LLM 在生成的代码中推荐相同的包并且毫无戒心的用户执行该代码时,这个恶意包就会被下载并在用户的机器上执行。”

UTSA 的研究人员评估了不同编程语言、设置和参数中软件包幻觉的发生情况,探索了错误软件包推荐的可能性并找出了根本原因。

在 UTSA 研究人员进行的 30 项不同测试中,他们使用 LLM 模型在 Python 和 JavaScript 中生成的 223 万个代码样本中有 440,445 个引用了幻觉包。

研究指出,在接受测试的法学硕士(LLM)课程中,“GPT系列模型生成幻觉程序包的可能性比开源模型低四倍,幻觉程序包生成率为5.2%,而开源模型为21.7%”。研究人员发现,Python代码比JavaScript更不容易产生幻觉。

这些攻击通常涉及将恶意软件包命名为模仿合法软件包,这种策略被称为“软件包混淆攻击”。在“软件包幻觉攻击”中,毫无戒心的LLM用户会在生成的代码中被推荐该软件包,而用户信任该LLM后,就会下载攻击者创建的恶意软件包,最终导致系统被入侵。

此漏洞的隐蔽之处在于它利用了人们对 LLM 日益增长的信任。随着用户在编程任务中越来越熟练,他们更有可能盲目信任 LLM 的输出,并可能成为此类攻击的受害者。

“如果你经常写代码,就不难理解这种情况是如何发生的。我们和很多人交流过,几乎每个人都说他们在写代码时注意到了包裹幻觉,但他们从未考虑过这种幻觉可能会被恶意利用,”斯普拉克伦解释道。

你对软件包发布者抱有很大的信任,相信他们共享的代码是合法的,而非恶意的。但每次下载软件包时,你都在下载潜在的恶意代码,并让这些代码完全访问你的计算机。

虽然将生成的程序包与主列表进行交叉引用可能有助于缓解幻觉,但 UTSA 的研究人员表示,最好的解决方案是在 LLM 自身开发过程中解决其基础问题。该团队已将其研究结果披露给包括 OpenAI、Meta、DeepSeek 和 Mistral AI 在内的模型提供商。

更多信息: Joseph Spracklen 等人,《我们为你准备了一个软件包!通过代码生成法学硕士 (LLM) 对软件包幻觉的全面分析》,arXiv (2024)。期刊信息: arXiv

本简讯来自全球互联网及战略合作伙伴信息的编译与转载,仅为读者提供交流,有侵权或其它问题请及时告之,本站将予以修改或删除,未经正式授权严禁转载本文。邮箱:news@wedoany.com