Do Neutral Prompts Produce Insecure Code? FormAI-v2 Dataset: Labelling Vulnerabilities in Code Generated by Large Language Models

2024年04月29日
  • 简介
    本研究对最先进的大型语言模型(LLMs)进行了比较分析,分析它们在使用中性零-shot提示编写简单的C程序时生成漏洞的可能性。我们填补了文献中关于这些模型生成的代码的安全性质在没有特定指令的情况下的研究空白。N. Tihanyi等人在PROMISE '23上介绍了FormAI数据集,其中包含112,000个由GPT-3.5生成的C程序,其中超过51.24%被识别为易受攻击的。我们通过引入FormAI-v2数据集来扩展该工作,该数据集包括使用各种LLMs生成的265,000个可编译的C程序,包括强大的模型,例如Google的GEMINI-pro,OpenAI的GPT-4和TII的1800亿参数Falcon,以Meta的专业的13亿参数CodeLLama2和其他各种紧凑型模型。数据集中的每个程序都基于通过使用高效的基于SMT的上下文有界模型检查器(ESBMC)对其源代码检测到的漏洞进行形式验证而进行标记。该技术通过提供反例消除了假阳性,并通过完成验证过程确保了假阴性的排除。我们的研究揭示了至少63.47%的生成程序存在漏洞。模型之间的差异很小,因为它们都显示出类似的编码错误,略有不同。我们的研究强调,虽然LLMs为代码生成提供了有前途的能力,但部署其输出到生产环境中需要进行风险评估和验证。
  • 图表
  • 解决问题
    本论文旨在分析最新的大语言模型在生成简单C程序时是否会产生漏洞,并比较它们之间的差异。论文填补了关于这些模型生成代码的安全性质的文献空白。
  • 关键思路
    本论文使用新的FormAI-v2数据集,对不同的大语言模型生成的265,000个可编译C程序进行了安全性质验证,并发现至少63.47%的程序存在漏洞。虽然不同模型之间存在细微的差异,但它们都存在类似的编码错误。因此,虽然大语言模型在代码生成方面具有很大的潜力,但在生产环境中部署其输出需要进行风险评估和验证。
  • 其它亮点
    论文介绍了FormAI-v2数据集和使用的安全性质验证技术,揭示了大语言模型生成代码时存在的漏洞问题。实验结果表明,不同的大语言模型之间存在一定的差异,但它们都存在漏洞。值得进一步研究的工作包括如何在大语言模型生成的代码中自动检测和修复漏洞。
  • 相关研究
    最近的相关研究包括N. Tihanyi等人在PROMISE '23上介绍的FormAI数据集,以及其他关于大语言模型在代码生成方面的研究,如OpenAI的GPT-4和Meta的CodeLLama2。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论