自动生成代码对软件供应链的安全影响研究

本研究探讨了大语言模型自动生成代码对软件供应链的安全威胁,分析了11种潜在威胁类型,开发了SSCGuard工具测试四种主流LLM,并提出了Chain-of-Confirmation提示防御和中间件防御两种缓解方案。

调查自动生成代码对软件供应链的安全影响

摘要

近年来,各种软件供应链(SSC)攻击对全球社会构成了重大风险。如果开发者将易受SSC攻击的不安全代码片段集成到其产品中,可能会产生严重后果。特别是代码生成技术(如大语言模型)已在开发者社区中得到广泛应用。然而,已知LLM在生成代码时存在固有问题,包括捏造、错误信息和依赖过时训练数据,这些都可能导致严重的软件供应链威胁。

在本文中,我们研究了这些固有问题对SSC产生的安全威胁。我们检查了三类威胁,包括11种与源代码中外部组件和持续集成配置文件相关的潜在SSC威胁。我们发现LLM生成的代码中的某些威胁可能使攻击者能够劫持软件和工作流,而其他一些威胁可能造成潜在的隐藏威胁,随着时间推移损害软件安全性。

为了理解这些安全影响和严重性,我们设计了一个工具SSCGuard,基于在线收集的SSC相关问题生成439,138个提示,并分析了来自GPT和Llama的四种流行LLM的响应。我们的结果表明,所有已识别的SSC相关威胁持续存在。为减轻这些风险,我们提出了一种新颖的基于提示的防御机制Chain-of-Confirmation来减少捏造,以及一种基于中间件的防御,用于向用户通报各种SSC威胁。

主题分类

密码学与安全(cs.CR);人工智能(cs.AI)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计