人工智能产生的虚假代码使用正成为新的供应链风险

嘶吼

  ·  

2025-04-25 04:00:00

  ·  

0次阅读

随着用于编码的生成式人工智能工具的使用日益增多,且相关模型存在 “臆造” 出不存在的软件包名称的倾向,一种名为 “slopsquatting” 的新型供应链攻击已经出现。

slopsquatting这个术语是由安全研究人员Seth Larson创造的,是对typosquatting的一种解释。typosquatting是一种攻击方法,通过使用与流行库非常相似的名称来欺骗开发人员安装恶意软件包。

与typposquatting不同,slopsquatting不依赖于拼写错误。相反,威胁者可以在PyPI和npm等索引上创建恶意包,这些索引通常由AI模型在编码示例中组成。

2025年3月发表的一篇关于包幻觉的研究论文表明,在大约20%的研究案例(576,000个生成的Python和JavaScript代码样本)中,推荐的包不存在。

像CodeLlama、DeepSeek、WizardCoder和Mistral这样的开源法学管理软件的情况更糟,但像ChatGPT-4这样的商业工具仍然以5%的速度出现新的“仿造款”,这是很值得关注的。

rates.webp.png

各种LLM的相似率

虽然在研究中记录“臆想”包装名称数量很大,超过20万,其中43%的名称在类似的提示中持续重复,58%的名称在10次运行中至少再次出现一次。

研究表明,这些捏造的包装名称中,有38%的名字似乎是受到真实名字的启发,13%是拼写错误的结果,剩下的51%完全是捏造的。

尽管没有迹象表明攻击者已经开始利用这种新型攻击,但有安全研究人员警告说, “臆造” 出不存在的软件包名称是常见的,可重复的,并且在语义上是合理的,创造了一个可预测的攻击面,可以很容易地武器化。

总的来说,58%的“臆想”包装在10次运行中重复了不止一次,这表明大多数“臆想”不仅仅是随机的噪音,而是模型对某些提示的反应的可重复的人工制品。这种可重复性增加了它们对攻击者的价值,使其更容易通过观察少量模型输出来识别可行的相关目标。

attack-overview.webp.png

供应链风险概述

减轻这种风险的唯一方法是手动验证包名称,并且永远不要假设ai生成的代码片段中提到的包是真实的或安全的。

使用依赖扫描器、锁文件和哈希验证将包锁定到已知的可信版本是提高安全性的有效方法。

研究表明,降低与人工智能的黏性可以减少“臆想”,在生产环境中运行或部署ai生成的代码之前,始终在安全、隔离的环境中对其进行测试也是明智之举。