聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
Lasso Security 公司发布的这份报告是对去年关于攻击者滥用 LLM 幻觉或生成看似令人信服但实际毫无根据报告的跟进分析。
去年发布的报告关注当软件开发人员要求启用了AI的聊天机器人在开发环境中提供帮助时,ChatGPT 伪造代码库名称的倾向。换句话说,当开发人员询问聊天机器人推荐项目使用的包时,它有时会给出公开代码仓库中并不存在的程序包的链接。
这两份报告的作者 Bar Lanyado 发现,攻击者可在 ChatGPT 所指的位置轻松释放真正的恶意包,并将其命名为与所幻想的程序包相同的名称。根据 ChatGPT 建议下载该程序包的任何开发人员最终可能会在开发环境中引入恶意软件。
他发布的跟进报告查看了四种不同大语言模型中的包幻觉问题的普遍性:GPT-3.5-Turbo、GPT-4、Gemini Pro(此前名称为 Bard)以及Coral (Cohere)。他还测试了每种模型用不同编程语言生成幻想包的倾向以及频率。
Lanyado 为测试编译了由数千个“how to”问题组成的一份清单,而这些问题正是不同开发语言(Python、node.js、go、.net、ruby)在开发环境中常常寻求帮助的问题。他之后询问每个模型一个编程相关的问题以及与该问题相关的包建议。另外,他要求每个模型推荐其它10个更多的程序包来解决同一个问题。
所得到的结果令人担心。在Lanyado 与 Gemini 的“会话”中,竟然64.5% 生成了幻想包;Coral 会话中生成的幻想包比例是29.1%;其它的LLMs 如 GPT-4 是24.2%、GPT3.5是22.5%,也好不到哪里去。
Lanyado 将同样的问题向每个模型询问了100次,以查看模型幻想同一个包的频率。结果同样令人惊讶。例如,Cohere 给出幻想包的比例是24%;Chat GPT-3.5和 Gemini 大约是144%,GPT-4为20%。在多个实例中,不同的模型幻想同样或相似的程序包。幻想次数最多的是 GPT-3.5和 Gemini。
Lanyado 表示,即使不同的开发人员就同一个主题询问但表述方式不同,LLM也可能给出相同的幻想包。换句话说,使用LLM进行编程协助的任何开发人员都可能遇到同样的幻想包。
报告指出,“问题可能完全不同但主题类似,幻觉仍然可能发生,这就使得这种技术非常有效。在目前的研究中,我们收到了来自不同问题、主题甚至是不同模型的‘重复性包’,这样就提高了这些幻想包被利用的可能性。”
例如,拥有一些幻想包名称的攻击者可将具有相同名称的程序包,上传到LLM很可能将开发人员指向的仓库中。为了演示这种威胁并非仅存在于理论上,Lanyado 在测试中遇到的名为 “huggingface-cli” 的幻想包中,并将具有相同名称的空包上传到机器学习模型的 Hugging Face 仓库中。他提到,开发人员下载了超过3.2万次。
从威胁者的角度而言,包幻觉对于分发恶意软件提供了相对简单的向量。他提到,“从研究结果来看,这样做并不困难。”对于近4.8万个问题,所有模型幻觉总比率是35%。GPT-3.5的幻觉比例最低;Gemini 次之;所有四种模型的重复性比率是18%。
Lanyado 建议开发人员在接受 LLMs 给出的包建议时如无法完全确认其准确性,则要保持警惕。他还提到当开发人员发现不熟悉的开源包时,需要访问包仓库并检查社区规模、维护记录、已知漏洞以及总体参与率。再将包引入开发环境前,开发人员还应进行全面扫描。
https://www.darkreading.com/application-security/pervasive-llm-hallucinations-expand-code-developer-attack-surface
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~