使用 SALLMS 评估 LLM 生成代码的安全性
通过研究使用大型语言模型(LLMs)在代码审查中的作用,其中包括检测安全漏洞和验证软件功能的有效性,本文发现大型专有模型在这些任务上的性能显著优于小型开源模型,并证明了 LLMs 能够生成与真实漏洞相关的详细描述。
Mar, 2024
大型语言模型(LLMs)在网络安全应用中显示出潜力,但也因幻觉和缺乏真实性等问题导致信心下降。现有的基准测试提供了一般评估,但不能充分解决 LLMs 在网络安全特定任务中的实际应用方面的问题。为了填补这个空白,我们引入了 SECURE(安全提取、理解与推理评估)基准测试,该基准测试旨在评估 LLMs 在现实网络安全场景中的性能。SECURE 包括六个数据集,重点关注工业控制系统领域,以评估基于行业标准来源的知识提取、理解和推理。我们的研究评估了七种最先进的模型在这些任务上的表现,为改进 LLMs 作为网络咨询工具的可靠性提供了见解和建议。
May, 2024
大型语言模型引入新的安全风险,但缺乏综合评估套件来衡量和减少这些风险。我们提出了 BenchmarkName,这是一个用于量化 LLM 安全风险和能力的新型基准。我们介绍了两个新领域的测试:提示注入和代码解释器滥用。我们评估了多种最先进的 LLMs,包括 GPT-4、Mistral、Meta Llama 3 70B-Instruct 和 Code Llama。我们的结果表明,消除攻击风险的条件仍然是一个尚未解决的问题;例如,所有测试模型在成功的提示注入测试中显示出 26% 到 41% 之间的结果。我们进一步引入了安全效用权衡:将 LLM 条件化以拒绝不安全的提示可能导致 LLM 错误地拒绝回答良性提示,从而降低效用。我们建议使用 False Refusal Rate(FRR)来量化这种权衡。作为示例,我们引入了一个新的测试集来量化网络攻击有用性风险的 FRR。我们发现,许多 LLMs 能够与 “边界线” 良性请求成功地相符,同时拒绝大部分不安全的请求。最后,我们量化了 LLMs 在自动化核心网络安全任务(例如利用软件漏洞)方面的效用。这很重要,因为 LLMs 的进攻能力引起了极大的兴趣;我们通过为四个典型问题创建新的测试集来量化这一点。我们发现具有编码能力的模型优于无编码能力的模型,但 LLMs 在利用生成方面还需要进一步的工作。我们的代码是开源的,可以用于评估其他 LLMs。
Apr, 2024
使用静态代码分析工具 Bandit 的反馈驱动解决方案综合(FDSS)对大型语言模型(LLMs)进行改进,通过与 LLMs 交互生成潜在解决方案来修复安全漏洞,该方法在基准测试中显著改善并超过现有方法,并引入了新的 PythonSecurityEval 数据集进行评估。
Nov, 2023
大型语言模型 (Large Language Models,LLMs) 被广泛应用于各种应用中,代码生成作为一个显著例子。本文聚焦于确定和理解在真实场景中,LLMs 可有效且安全地用于生成高质量代码的条件和环境。通过对四个先进的 LLMs (GPT-3.5 和 GPT-4,ChatGPT,Bard 和 Gemini) 进行比较分析,使用 9 个不同任务评估每个模型的代码生成能力。我们将研究情境化,以代表日常工作中开发人员使用 LLMs 执行常见任务的典型用例。此外,我们强调安全意识,通过使用我们的开发者角色的两个不同版本来表示。总共我们收集了 61 个代码输出并分析了其功能性、安全性、性能、复杂性和可靠性等方面。这些洞见对于理解模型的能力和限制非常重要,并指导未来在自动化代码生成领域的开发和实际应用。
Feb, 2024
在这项工作中,我们提出了 S-Eval,这是一个新的全面、多维度且开放的安全评估基准,通过训练专家测试的大型语言模型 Mt 与一系列测试选择策略相结合,自动构建了一个高质量的测试套件用于安全评估。该论文还介绍了一个四级的风险分类体系,覆盖了全面多维的安全风险,同时提供了灵活配置和适应新风险、攻击和模型的能力。S-Eval 在 20 个流行和代表性的大型语言模型上进行了广泛评估,结果表明相比现有的基准,S-Eval 可以更好地反映和提供大型语言模型的安全风险信息。
May, 2024
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如 GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码 LLMs 进行了全面研究,并提出了 SecuCoGen 数据集,用于评估和增强代码 LLMs 的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进 LLMs 训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
通过使用大型语言模型(LLMs)来辅助发现源代码中的漏洞,相比传统的静态分析工具,我们发现 LLMs 能够找出更多问题,提高漏洞检测的回溯率和 F1 分数,从而使得代码更加安全。
May, 2024
CyberSecEval 是一个全面的基准测试,用于增强作为编程助手的大型语言模型(LLMs)的网络安全。通过对七个模型进行案例研究,CyberSecEval 成功地确定了关键的网络安全风险,并提供了改进这些模型的实用见解,强调了在开发复杂 LLMs 时整合安全考虑的重要性。
Dec, 2023