AI 驱动的代码生成工具正在重塑开发者编写软件的方式,但同时也给软件供应链带来了新的风险。
与大语言模型类似,AI 编程助手也存在幻觉问题。它们会推荐包含不存在软件包的代码。
去年 3 月和 9 月,安全和学术研究人员发现 AI 代码助手会虚构包名。最近的一项研究表明,商业模型约 5.2% 的包建议是不存在的,而开源模型则高达 21.7%。
运行这些代码时,导入不存在的包应该会报错。但不法分子已经意识到可以利用这种幻觉来谋取私利。
他们只需要用虚构的包名创建恶意软件包,然后将其上传到 PyPI 或 npm 等包注册表进行分发。此后,当 AI 代码助手再次产生相同的幻觉时,安装依赖和执行代码的过程就会运行这些恶意软件。
这种重复出现似乎呈双峰模式 - 当重新运行提示时,一些虚构的包名会反复出现,而其他则完全消失 - 这表明某些提示会可靠地产生相同的虚构包。
正如安全公司 Socket 最近指出的,去年研究这个问题的学术研究人员发现,将同一个触发幻觉的提示重复运行 10 次,43% 的虚构包每次都会重复出现,而 39% 则再也不会出现。
利用虚构的包名是一种仿冒攻击,攻击者使用常见术语的变体或拼写错误来欺骗用户。Python 软件基金会的安全开发人员 Seth Michael Larson 将其称为"slopsquatting"(混乱仿冒)- "slop" 是对 AI 模型输出的贬义说法。
专家建议用户在使用 AI 生成的代码、包和信息之前,应该对其进行双重检查。组织可以在内部镜像 PyPI 的子集,以更好地控制开发人员可用的包。
本文链接:http://www.xihao.site/showinfo-1-73392.htmlAI 因虚构软件依赖包而制造安全隐患