随着生成式AI工具在编程领域的普及,一种名为“slopsquatting”的新型供应链攻击悄然浮现。这种攻击利用了AI模型在生成代码时“幻觉”出不存在的软件包名称的特性,威胁不容小觑。
从“拼写错误”攻击到“AI幻觉”攻击
“Slopsquatting”这一术语由安全研究员Seth Larson首次提出,灵感来源于传统的“typosquatting”(拼写错误蹲守)。Typosquatting通过伪造与热门软件库名称相似的恶意包,诱骗开发者安装。而Slopsquatting则更进一步:它并不依赖拼写错误,而是利用AI模型生成代码时推荐的“虚构”包名。
攻击者可以在PyPI、npm等包索引上注册这些AI常“幻觉”出的包名,植入恶意代码。开发者若不加验证直接安装,系统安全将面临严重威胁。
触目惊心的幻觉代码
2025年3月发布的一篇关于软件包幻觉的研究论文揭示了问题的严重性。研究分析了57.6万份AI生成的Python和JavaScript代码样本,发现约20%的代码推荐了不存在的软件包。
情况在开源大模型(如CodeLlama、DeepSeek、WizardCoder和Mistral)上尤为严重,幻觉率高企。而即使是商业工具如ChatGPT-4,幻觉率仍有约5%,看似不高,但考虑到使用规模,影响不容忽视。

主流大模型的“代码幻觉率排名” 来源:arxiv.org
研究还发现:
规模庞大:样本中记录了超过20万个独特的幻觉包名。高度重复:43%的幻觉包名在相似提示下反复出现,58%在十次运行中至少再次出现一次。来源多样:38%的幻觉包名受真实包名启发,13%源于拼写错误,51%则是完全凭空捏造。脆弱的“幻觉包”攻击面

AI幻觉软件供应链攻击示意图 来源:arxiv.org
开源网络安全公司Socket的研究人员警告,尽管目前尚未发现攻击者大规模利用Slopsquatting,但这些幻觉包名具有三大特点:普遍性、重复性、语义合理性,这使其成为一个可预测且易于武器化的攻击面。
“58%的幻觉包名在十次运行中重复出现,这表明它们并非随机噪声,而是模型对特定提示的固定输出,”Socket团队解释道,“这种可重复性对攻击者来说是金矿,只需观察少量模型输出,就能锁定Slopsquatting的目标。”
如何应对?
面对这一新兴威胁,防御的关键在于不盲目信任AI生成的代码。以下是一些实用建议:
手动验证包名:永远不要假设AI推荐的包名真实或安全。使用依赖管理工具:通过依赖扫描器、锁文件和哈希验证,确保安装的包来自可信版本。调整AI参数:研究表明,降低AI的“温度”设置(减少随机性)可显著降低幻觉率,开发者在使用AI辅助编码时应注意。安全测试环境:在生产环境运行AI生成代码前,务必在隔离环境中测试。写在最后
Slopsquatting的出现提醒我们,AI的便利性背后潜藏着新的安全风险。生成式AI在编程领域的广泛应用,正不断改变开发者的工作方式,但也为攻击者提供了新的可乘之机。永不信任、始终验证,是每一位开发者在AI时代必须修炼的“基本素养”。
(本文数据参考2025年3月相关研究论文及Socket公司分析报告)
参考链接:
http://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks