AI生成的代码可能是软件供应链的灾难。这就是原因。

在AI中,当LLM产生实际上不正确,荒谬或与已分配给它的任务无关的郊游时,发生幻觉。长期以来,幻觉具有LLM,它会降低其有用性和可靠性,并且很难预测和补救。在 纸 他们提交给USENIX 2025安全研讨会,绰号为“包装的幻觉”。
在这项研究中,研究人员在JavaScript中进行了30次测试,在Python中进行了16次测试,每次测试产生了19,200个代码样本,总共有576,000个代码样本。在这些样品中包含的223万个包装参考中,有440,445份或19.7%,指示不存在的软件包。在这440,445个包装幻觉中,有205,474个具有独特的包装名称。
使供应链攻击中潜在有用的包装幻觉的一件事是,有43%的包装幻觉已在10个请求中重复。研究人员写道,“另外” 58%的时间,幻觉包的重复多次以上是十分之二,这表明大多数幻觉不仅是随机错误,而是一个可重复的现象,在几次迭代中持续存在。这很重要。这很重要,因为这是一个持续的幻觉,因此对众多的幻觉更有价值,这些幻觉更有价值,这些幻觉是为了剥削这个脆弱性,并使其能够剥削这个脆弱性。
换句话说,许多软件包幻觉不是随机的偶尔错误。相反,不存在的包装的特定名称重复重复。攻击者可以通过识别多次幻觉的不存在的包裹来掌握该图案。然后,攻击者将使用这些名称发布恶意软件,并等待大量开发人员访问它们。
该研究揭示了LLM和编程语言的差异,这些差异产生了最多的包装幻觉。开源LLM(例如Codellama和DeepSeek)生产的包装幻觉的平均百分比几乎为22%,而商业型号的平均百分比为5%。用Python编写的代码导致的幻觉量少于JavaScript代码,而JavaScript的平均值近16%,而JavaScript的幻觉却少于21%。当被问到是什么原因引起了差异时,Spracklen写道: