调查自动生成代码对软件供应链的安全影响
摘要
近年来,各种软件供应链(SSC)攻击对全球社会构成了重大风险。如果开发者将易受SSC攻击的不安全代码片段集成到其产品中,可能会产生严重后果。特别是代码生成技术(如大语言模型)已在开发者社区中得到广泛应用。然而,已知LLM在生成代码时存在固有问题,包括捏造、错误信息和依赖过时训练数据,这些都可能导致严重的软件供应链威胁。
在本文中,我们研究了这些固有问题对SSC产生的安全威胁。我们检查了三类威胁,包括11种与源代码中外部组件和持续集成配置文件相关的潜在SSC威胁。我们发现LLM生成的代码中的某些威胁可能使攻击者能够劫持软件和工作流,而其他一些威胁可能造成潜在的隐藏威胁,随着时间推移损害软件安全性。
为了理解这些安全影响和严重性,我们设计了一个工具SSCGuard,基于在线收集的SSC相关问题生成439,138个提示,并分析了来自GPT和Llama的四种流行LLM的响应。我们的结果表明,所有已识别的SSC相关威胁持续存在。为减轻这些风险,我们提出了一种新颖的基于提示的防御机制Chain-of-Confirmation来减少捏造,以及一种基于中间件的防御,用于向用户通报各种SSC威胁。
主题分类
密码学与安全(cs.CR);人工智能(cs.AI)