HexaCoder:通过Oracle引导合成训练数据实现安全代码生成
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码LLMs进行了全面研究,并提出了SecuCoGen数据集,用于评估和增强代码LLMs的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进LLMs训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
作者描述了一个名为SALLM的框架,用于系统地评估大型语言模型生成安全代码的能力,该框架包括一个安全中心的Python提示的新数据集,一个用于测试生成代码的评估环境,以及用于从安全代码生成的角度评估模型性能的新度量标准。
Nov, 2023
为了加强和增强通过Large Language Models生成的代码的安全性,在本文中,我们提出了一种基于强化学习的程序特定修复方法,结合语义和句法奖励机制,重点关注在代码中增加安全和功能性措施。
Jan, 2024
大型语言模型(Large Language Models,LLMs)被广泛应用于各种应用中,代码生成作为一个显著例子。本文聚焦于确定和理解在真实场景中,LLMs可有效且安全地用于生成高质量代码的条件和环境。通过对四个先进的LLMs(GPT-3.5和GPT-4,ChatGPT,Bard和Gemini)进行比较分析,使用9个不同任务评估每个模型的代码生成能力。我们将研究情境化,以代表日常工作中开发人员使用LLMs执行常见任务的典型用例。此外,我们强调安全意识,通过使用我们的开发者角色的两个不同版本来表示。总共我们收集了61个代码输出并分析了其功能性、安全性、性能、复杂性和可靠性等方面。这些洞见对于理解模型的能力和限制非常重要,并指导未来在自动化代码生成领域的开发和实际应用。
Feb, 2024
通过引入新的基准CodeGuard+和两个新的度量标准secure-pass@k和secure@$k_{ ext{pass}}$,本文展示了Code Large Language Models在生成安全和正确代码方面的能力,并指出了一种新的防御方向:约束解码技术,可以同时满足安全性和正确性要求。
Apr, 2024
大规模语言模型(LLMs)在代码生成和修复方面取得了重大进展,但它们使用来自GitHub等开源存储库的未经过滤的数据进行训练可能会传播安全漏洞。本文旨在全面评估和增强代码LLMs的安全性,并提出了不同策略来减轻这些安全漏洞。
Jul, 2024
本研究针对源代码安全性提升中的技术挑战进行了深入分析,确定了数据收集与标注、系统设计与学习、性能评估等三大主要问题。提出的SecRepair系统通过强化学习的微调,能够可靠地识别、描述并自动修复脆弱的源代码,实验证明其在安全代码修复上相较其他模型提高了12%。
Sep, 2024
本研究解决了传统代码生成方法在安全性方面的不足,特别是单一智能体生成代码时容易引入漏洞的问题。提出的AutoSafeCoder框架通过三个智能体的协作,结合静态分析和动态模糊测试,显著提升了代码的安全性。实验结果表明,与基线模型相比,该方法减少了13%的代码漏洞,同时确保了功能的完整性。
Sep, 2024
本研究解决了大规模语言模型(LLM)生成代码的安全隐患和质量问题。通过比较人类编写的代码与LLM生成的代码,发现后者在复杂任务中易出现功能性错误且缺乏安全防护措施,导致更高的安全风险。研究提出了反馈循环的改进方法,但LLM在消除问题方面的表现并不一致,强调了对LLM生成代码的谨慎使用。
Sep, 2024