AI 编码工具如何通过虚假软件包为黑客打开大门
快速阅读: 据《AZoAI》称,UTSA的一项研究发现,AI编码助手可能生成虚构软件包,使黑客通过单一命令劫持代码。研究显示,高达21.7%的代码样本出现包幻象现象,尤其在JavaScript中更为常见。研究人员呼吁在LLMs开发阶段解决根本问题,并已向多家模型提供商通报发现。
德克萨斯圣安东尼奥大学
2025年4月9日
一项新的UTSA研究揭示了人工智能编码助手如何生成虚构的软件包——为黑客通过单一可信命令劫持你的代码提供了捷径。
**研究:**
《我们为你准备了一个包!代码生成大型语言模型的包幻象全面分析》
图片来源:布莱恩·杰克逊 / Shutterstock
*重要通知:*
arXiv发布的初步科学报告未经同行评议,因此不应被视为最终结论性成果,不可用于指导开发决策或作为人工智能研究领域的权威资料。
UTSA的研究人员近期完成了迄今为止关于使用AI模型开发软件风险的最全面研究之一。在一篇新论文中,他们展示了特定类型的错误可能对使用AI辅助编写代码的程序员构成严重威胁。
乔·斯普雷肯,UTSA计算机科学专业的博士研究生,主导了这项关于大型语言模型(LLMs)频繁生成不安全代码的研究。他的团队论文已被接受在2025年的USENIX安全研讨会上发布,这是顶级的网络安全和隐私会议之一。
这项跨机构合作还包括来自UTSA的三位额外研究人员:博士研究生A.H.M.纳兹穆斯·萨基布、博士后研究人员拉文·W·维杰维克拉马以及副教授穆图扎·贾德利瓦拉博士,他是SPriTELab(计算研究实验室的安全、隐私、信任与伦理研究实验室)的主任。其他合作者包括俄克拉荷马大学的阿尼迪亚·迈塔(曾是UTSA的博士后研究人员)和弗吉尼亚理工大学的比马尔·维什纳特。
LLMs中的幻象现象发生在模型生成的内容在事实上错误、毫无意义或完全与输入任务无关时。大多数当前的研究主要集中在经典自然语言生成和预测任务(如机器翻译、摘要生成和会话式AI)中的幻象现象上。
研究团队专注于包幻象现象,即当LLM生成或推荐使用实际上并不存在的第三方软件库时发生的情况。
包幻象成为研究的有趣领域在于如此简单的事务——一条日常命令——如何导致严重的安全风险。
“不需要复杂的环境或某些晦涩的事情发生,”斯普雷肯说。“只需输入一个大多数人每天都在使用的编程语言命令。仅此而已。它非常直接又简单。”
“它也非常常见,”他补充道。“你用基础的Python编码语言可以做的事情很少,自行编写代码需要耗费大量时间,所以依赖开源软件来扩展编程语言的能力以完成特定任务是很常见的。”
LLMs正变得越来越受开发者的欢迎,他们使用AI模型来协助组装程序。根据这项研究,高达97%的软件开发者将生成式AI融入到他们的工作流程中,今天所写的代码中有30%是由人工智能生成的。此外,许多流行的编程语言,如PyPI(用于Python)和npm(用于JavaScript),依赖于集中式的包存储库。由于这些存储库通常是开源的,恶意行为者可以上传伪装为合法包的恶意代码。
多年来,攻击者采用了各种技巧诱使用户安装他们的恶意软件。包幻象是最新的一种手段。
“假定我请求ChatGPT帮我写一些代码,它真的写了。现在假定在生成的代码中包含了一些包的链接,我信任它并执行了代码,但这个包并不存在,它是一个虚构的包。狡猾的对手/黑客可以看到这种行为(LLM的行为)并意识到LLM正在指示人们使用这个不存在的包,这个虚构的包。然后对手可以轻松创建一个与LLM推荐的虚构包同名的新包,并在其中植入一些恶意代码。现在,下次LLM在生成的代码中推荐相同的包,一个不知情的用户执行了代码,这个恶意包就会被下载并安装在用户的机器上,”贾德利瓦拉解释说。
UTSA的研究人员评估了不同编程语言、设置和参数下包幻象现象的发生情况,探索了错误包推荐的可能性并找出根本原因。
在UTSA研究人员开展的30次测试中,他们在使用LLM模型生成的223万个Python和JavaScript代码样本中,有440,445个代码样本引用了虚构包。研究指出,在测试的LLMs中,“GPT系列模型的幻象率比开源模型低四倍,GPT系列模型的幻象率为5.2%,而开源模型为21.7%”。研究人员发现Python代码比JavaScript更不容易受到幻象现象的影响。
这些攻击通常涉及命名恶意包以模仿合法包名称,这种手法被称为包混淆攻击。在包幻象攻击中,不知情的LLM用户会被推荐使用生成的代码中的包,信任LLM后便下载对手创建的恶意包,从而导致系统被攻陷。
这一漏洞的关键点在于利用了人们对LLMs日益增长的信任。随着用户在编码任务上的熟练度提升,他们更有可能盲目信任输出内容并可能成为此类攻击的受害者。
“如果你经常编码,很容易理解这种情况是如何发生的。我们与很多人交谈过,几乎每个人都说他们在编码时注意到过包幻象现象,但他们从未考虑过这可能会被恶意利用,”斯普雷肯解释说。“你对包发布者有极大的隐性信任,相信他们分享的代码是合法的而非恶意的代码。但每次你下载一个包时,你实际上是在下载可能的恶意代码,并给予它完全控制你的机器的权限。”
尽管交叉核验生成的包与主列表可能有助于减少幻象现象,但UTSA的研究人员表示,最佳解决方案是在LLMs自身开发期间解决其根本问题。研究团队已将其发现通报给模型提供商,涵盖OpenAI、Meta、DeepSeek和Mistral AI。
*重要通知:*
arXiv发布的初步科学报告未经同行评议,因此不应被视为最终结论性成果,不可用于指导开发决策或作为人工智能研究领域的权威资料。
**来源:**
德克萨斯圣安东尼奥大学
**期刊参考:**
初步科学报告。
斯普雷肯,J.;维杰维克拉马,R.;萨基布,A. H.;迈塔,A.;维什纳特,B.;贾德利瓦拉,M.(2024)。《我们为你准备了一个包!代码生成LLMs的包幻象全面分析》。ArXiv。
https://arxiv.org/abs/2406.10279
(以上内容均由Ai生成)