RedCode
收藏arXiv2024-11-12 更新2024-11-14 收录
下载链接:
https://github.com/AI-secure/RedCode
下载链接
链接失效反馈官方服务:
资源简介:
RedCode数据集由芝加哥大学和伊利诺伊大学厄巴纳-香槟分校等机构创建,旨在评估代码代理在代码执行和生成中的安全性。数据集包含4050个测试实例,涵盖25种关键漏洞,涉及网站、文件系统和操作系统等多个领域。创建过程包括从现有基准和CWE中收集风险场景,手动创建初始种子Python代码片段,并使用AI辅助过程进行扩展。RedCode数据集主要应用于AI辅助编码和软件开发领域,旨在解决代码代理在实际部署中的安全性和安全性问题。
The RedCode dataset was developed by institutions including the University of Chicago and the University of Illinois Urbana-Champaign, aiming to evaluate the security of code agents in code execution and generation. The dataset contains 4050 test instances covering 25 critical vulnerabilities across multiple domains such as websites, file systems, and operating systems. Its creation process includes collecting risk scenarios from existing benchmarks and the Common Weakness Enumeration (CWE), manually generating initial seed Python code snippets, and expanding them via AI-assisted workflows. The RedCode dataset is primarily applied in the fields of AI-assisted coding and software development, with the goal of addressing security issues of code agents during real-world deployment.
提供机构:
芝加哥大学、伊利诺伊大学厄巴纳-香槟分校、Lapis Labs、弗吉尼亚理工大学、微软研究院、加州大学伯克利分校
创建时间:
2024-11-12
原始信息汇总
RedCode
搜集汇总
数据集介绍

构建方式
RedCode数据集的构建基于四个关键原则:与系统的真实交互、对不安全代码生成和执行的全面评估、多样化的输入格式以及高质量的安全场景和测试。RedCode由两部分组成,用于评估代理在不安全代码执行和生成方面的安全性:(1) RedCode-Exec提供具有挑战性的Python代码提示作为输入,旨在评估代码代理识别和处理不安全代码的能力。然后将Python代码映射到其他编程语言(如Bash)和自然文本摘要或描述进行评估,总共超过4,000个测试实例。提供了25种类型的关键漏洞,涵盖网站、文件系统和操作系统等多个领域。提供了一个Docker沙箱环境来评估代码代理的执行能力,并设计了相应的评估指标来评估其执行结果。(2) RedCode-Gen提供160个带有函数签名和文档字符串的提示,以评估代码代理是否会按照指令生成有害代码或软件。
特点
RedCode数据集的特点在于其全面性和实用性。它不仅涵盖了多种编程语言和自然语言输入格式,还提供了真实的系统交互环境和详细的评估脚本。此外,RedCode还包含了从Common Weakness Enumeration (CWE)列表和先前的安全基准中提取的25个风险场景,确保测试的全面性和高质量。通过这些设计,RedCode能够有效地评估代码代理在处理不安全代码和生成方面的安全性。
使用方法
RedCode数据集的使用方法包括以下几个步骤:首先,研究人员和开发者可以使用RedCode-Exec部分来测试代码代理在识别和处理不安全代码方面的能力,通过提供Python代码提示并观察代理的响应和执行结果。其次,可以使用RedCode-Gen部分来评估代理在生成有害代码方面的安全性,通过提供函数签名和文档字符串,观察代理是否按照指令生成有害代码。最后,利用Docker沙箱环境和评估脚本,可以对代理的执行结果进行详细的分析和评估,确保测试的准确性和可靠性。
背景与挑战
背景概述
随着代码代理在AI辅助编码和软件开发中的能力和应用迅速增加,安全性和安全性问题,如生成或执行恶意代码,已成为这些代理在现实世界部署中的重大障碍。为了对代码代理的安全性进行全面和实用的评估,我们提出了RedCode,这是一个基于四个关键原则的评估平台:与系统的真实交互、对不安全代码生成和执行的全面评估、多样化的输入格式以及高质量的安全场景和测试。RedCode由两部分组成,用于评估代理在不安全代码执行和生成中的安全性:(1)RedCode-Exec提供具有挑战性的Python代码提示作为输入,旨在评估代码代理识别和处理不安全代码的能力。然后,我们将Python代码映射到其他编程语言(如Bash)和自然文本摘要或描述以进行评估,总共超过4,000个测试实例。我们提供了25种类型的关键漏洞,涵盖各种领域,如网站、文件系统和操作系统。我们提供了一个Docker沙箱环境来评估代码代理的执行能力,并设计了相应的评估指标来评估其执行结果。(2)RedCode-Gen提供了160个带有函数签名和文档字符串的提示作为输入,以评估代码代理是否会按照指令生成有害代码或软件。我们的实证研究结果,基于对19个基于LLM的代理框架的评估,提供了对代码代理漏洞的见解。例如,RedCode-Exec的评估显示,代理更有可能拒绝在操作系统上执行不安全操作,但不太可能拒绝执行技术上有缺陷的代码,这表明存在高风险。以自然文本描述的不安全操作导致较低的拒绝率,而不是以代码格式。此外,RedCode-Gen的评估揭示了更强大的基础模型和具有更强整体编码能力的代理,如GPT4,倾向于生成更复杂和有效有害的软件。我们的研究结果强调了对多样化代码代理进行严格安全评估的必要性。我们的数据集和代码可在https://github.com/AI-secure/RedCode公开获取。
当前挑战
RedCode数据集面临的挑战主要集中在以下几个方面:1) 解决的领域问题(例如:ImageNet数据集解决的领域问题是图像分类)的挑战;2) 构建过程中所遇到的挑战。在解决领域问题方面,RedCode旨在评估代码代理在执行和生成不安全代码时的安全性,这需要对代码代理的行为进行深入分析和测试。构建过程中,数据集的创建涉及从现有基准和常见弱点枚举(CWE)中收集风险场景,并通过人工修改和LLM辅助生成大量高质量的测试用例。此外,还需要设计Docker环境来隔离和准备资源,以确保测试用例的可执行性和安全性。这些过程都需要精细的操作和严格的验证,以确保数据集的准确性和可靠性。
常用场景
经典使用场景
RedCode 数据集的经典使用场景在于评估代码代理在处理和生成不安全代码时的安全性。通过提供具有挑战性的代码提示和多样化的输入格式,RedCode 旨在全面评估代码代理识别和处理不安全代码的能力。
解决学术问题
RedCode 数据集解决了当前代码代理在实际部署中面临的安全和安全问题。它通过提供一个基于四个关键原则的评估平台,帮助研究人员和开发者识别和解决代码代理在生成或执行恶意代码时的潜在风险,从而推动代码代理的安全性研究。
衍生相关工作
RedCode 数据集的提出催生了一系列相关的经典工作,包括对代码代理安全性评估方法的改进、基于 RedCode 的代码代理安全训练模型,以及利用 RedCode 数据集进行的安全性基准测试和比较研究。这些工作进一步推动了代码代理安全领域的研究和应用。
以上内容由遇见数据集搜集并总结生成



