人工智能生成代码的危害:安全与高质量代码生成的路线图
最近,大型语言模型 (LLMs) 在理解自然语言和生成编程代码方面表现出了非凡的能力。然而,对于LLMs生成的代码的可靠性和鲁棒性的研究尚未得到深入的探讨。这项研究提出了一个包括1208个编程问题的数据集RobustAPI,用于评估LLMs生成的代码的可靠性和鲁棒性,并发现甚至对于GPT-4而言,62%的生成代码存在API误用,这可能导致意想不到的后果。
Aug, 2023
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码LLMs进行了全面研究,并提出了SecuCoGen数据集,用于评估和增强代码LLMs的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进LLMs训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
作者描述了一个名为SALLM的框架,用于系统地评估大型语言模型生成安全代码的能力,该框架包括一个安全中心的Python提示的新数据集,一个用于测试生成代码的评估环境,以及用于从安全代码生成的角度评估模型性能的新度量标准。
Nov, 2023
大型语言模型(Large Language Models,LLMs)被广泛应用于各种应用中,代码生成作为一个显著例子。本文聚焦于确定和理解在真实场景中,LLMs可有效且安全地用于生成高质量代码的条件和环境。通过对四个先进的LLMs(GPT-3.5和GPT-4,ChatGPT,Bard和Gemini)进行比较分析,使用9个不同任务评估每个模型的代码生成能力。我们将研究情境化,以代表日常工作中开发人员使用LLMs执行常见任务的典型用例。此外,我们强调安全意识,通过使用我们的开发者角色的两个不同版本来表示。总共我们收集了61个代码输出并分析了其功能性、安全性、性能、复杂性和可靠性等方面。这些洞见对于理解模型的能力和限制非常重要,并指导未来在自动化代码生成领域的开发和实际应用。
Feb, 2024
大规模语言模型(LLMs)在代码生成和修复方面取得了重大进展,但它们使用来自GitHub等开源存储库的未经过滤的数据进行训练可能会传播安全漏洞。本文旨在全面评估和增强代码LLMs的安全性,并提出了不同策略来减轻这些安全漏洞。
Jul, 2024
研究通过不同的提示技术研究了大型语言模型在从自然语言生成的代码安全性方面的影响,发现采用递归批评和改进技术后测试的大型语言模型中的安全弱点有所减少,为关于大型语言模型生成的代码安全性的讨论贡献了有价值的见解。
Jul, 2024
本研究评估了大型语言模型(LLMs)生成代码的效率,并将其与人类编写的解决方案进行比较,填补了当前研究中的数据评估空白。提出了一种新方法来测量和比较LLM生成代码的速度,发现LLM生成的代码在性能上与人类代码相当,且平均更为高效。研究结果为理解LLM在代码生成中的能力提供了重要见解,并为未来优化奠定基础。
Jul, 2024
本研究针对大型语言模型生成的代码在安全性方面存在的问题,揭示了提示质量对生成代码安全性的影响。通过对四种主要大语言模型的分析,结果表明,初始生成的代码中有65%被视为不安全,但经过熟练工程师的手动指导后,几乎所有模型都能生成接近100%安全的代码。
Aug, 2024
本研究解决了大语言模型生成代码中存在的严重安全漏洞问题。提出的HexaCoder方法通过自动合成安全代码,显著降低了寻找合适训练数据的工作量,并通过引导数据合成和双步骤生成过程,成功将生成的易受攻击代码减少了高达85%。该研究的成果不仅提高了生成代码的安全性,还确保了功能上的正确性。
Sep, 2024
本研究解决了在源代码错误的情况下,大型语言模型(LLMs)生成测试用例的有效性问题。研究发现,错误的代码会显著误导LLMs生成正确性、覆盖率和缺陷检测效果都较差的测试用例,这对于LLMs在成熟代码和早期代码上的应用具有重要影响,同时强调了提高LLMs对错误代码抵抗力的必要性。
Sep, 2024