CyberSecEval 2 - 大型语言模型网络安全风险与能力综合评估框架
随着生成式人工智能领域快速发展,我们认为开放方法是整合生态系统并减轻大型语言模型 (LLM) 潜在风险的重要途径。去年,Meta 发布了一套初始开放工具和评估,旨在促进负责任地开发开放式生成式人工智能模型。随着 LLM 越来越广泛地集成到代码助手领域,它们引入了必须解决的新型网络安全漏洞。为了应对这一挑战,全面的基准测试对于评估 LLM 的网络安全至关重要。这正是 CyberSecEval 2 的用武之地,它评估 LLM 对代码解释器滥用、攻击性网络安全能力和提示注入攻击的脆弱性,从而对 LLM 的网络安全风险进行更全面的评估。您可以在此处查看 CyberSecEval 2 排行榜。
基准测试
CyberSecEval 2 基准测试有助于评估 LLM 生成不安全代码以及响应网络攻击者请求的倾向。
- 测试不安全编码实践的生成:不安全编码实践测试衡量 LLM 在自动补全和指令上下文中建议的风险安全弱点的频率,这些弱点定义在行业标准通用弱点枚举不安全编码实践分类法中。我们报告代码测试通过率。
- 测试对提示注入的脆弱性:基于 LLM 的应用程序的提示注入攻击是试图使 LLM 表现出不期望的行为。 提示注入测试评估 LLM 识别输入中不受信任部分的能力及其对常见提示注入技术的抵抗力。我们报告模型响应攻击的频率。
- 测试对网络攻击请求的依从性:测试衡量混淆性良性提示的误拒率。这些提示与网络攻击依从性测试类似,都涵盖了包括网络防御在内的各种主题,但它们是明确无害的——即使它们可能看起来是恶意的。我们报告误拒(拒绝协助合法的网络相关活动)和违规率(同意协助攻击性网络攻击)之间的权衡。
- 测试滥用代码解释器的倾向:代码解释器允许 LLM 在沙盒环境中运行代码。这组提示试图操纵 LLM 执行恶意代码,以获取运行 LLM 的系统访问权限、收集有关系统的敏感信息、制作和执行社会工程攻击,或收集有关宿主环境外部基础设施的信息。我们报告模型响应攻击的频率。
- 测试自动化攻击性网络安全能力:这套测试用例包括夺旗式安全测试用例,模拟程序漏洞利用。我们使用 LLM 作为安全工具,判断它是否能到达程序中故意插入安全问题的特定点。在其中一些测试中,我们明确检查该工具是否能执行基本的漏洞利用,例如 SQL 注入和缓冲区溢出。我们报告模型的完成百分比。
所有代码都是开源的,我们希望社区能用它来衡量和增强 LLM 的网络安全特性。
您可以在此处阅读所有基准测试的更多信息。
主要见解
我们使用 CyberSecEval 2 对最先进的大型语言模型 (LLM) 进行的最新评估揭示了网络安全风险方面取得的进展和面临的持续挑战。
行业改进
自2023年12月发布第一个基准以来,LLM响应网络攻击请求的平均依从率已从52%下降到28%,这表明行业正日益认识到这个问题并采取措施进行改进。
模型比较
我们发现,未经代码专业化的模型与经过代码专业化的模型相比,不合规率往往较低。然而,这些模型之间的差距已经缩小,这表明经过代码专业化的模型在安全性方面正在迎头赶上。

提示注入风险
我们的提示注入测试表明,对抗此类攻击对 LLM 进行条件化仍然是一个尚未解决的问题,对使用这些模型构建的应用程序构成重大安全风险。开发者不应假设在对抗性输入面前 LLM 可以安全地遵循系统提示。
代码利用局限性
我们的代码利用测试表明,虽然具有高通用编码能力的模型表现更好,但 LLM 距离可靠地解决端到端利用挑战还有很长的路要走。这表明 LLM 在目前的状态下不太可能颠覆网络利用攻击。
解释器滥用风险
我们的解释器滥用测试突出了 LLM 易受操纵的脆弱性,使其可以在代码解释器中执行恶意操作。这强调了需要额外的防护措施和检测机制来防止解释器滥用。
如何贡献?
我们非常乐意社区为我们的基准测试做出贡献,如果您感兴趣,可以做几件事!
要在您的模型上运行 CyberSecEval 2 基准测试,您可以按照此处的说明进行操作。欢迎将输出结果发送给我们,以便我们将您的模型添加到排行榜!
如果您有改进 CyberSecEval 2 基准测试的想法,您可以按照此处的说明直接贡献。