CASTLE
收藏arXiv2025-03-12 更新2025-03-14 收录
下载链接:
https://github.com/CASTLE-Benchmark
下载链接
链接失效反馈官方服务:
资源简介:
CASTLE数据集是由网络安全专家手动创建的250个小型C语言程序,涵盖了25种不同的CWE(常见弱点)。每个CWE都有10个测试用例,其中6个是易受攻击的,4个不是。该数据集旨在评估不同工具在漏洞检测方面的能力,并为静态代码分析工具、形式验证方法和基于大型语言模型的方案提供一个标准化的比较基准。
The CASTLE Dataset is a manually curated collection of 250 small C programs developed by cybersecurity experts, covering 25 distinct Common Weakness Enumeration (CWE) categories. For each CWE category, there are 10 test cases, among which 6 are vulnerable and 4 are non-vulnerable. This dataset aims to evaluate the vulnerability detection capabilities of various tools, and serves as a standardized comparative benchmark for static code analysis tools, formal verification methods, and large language model (LLM)-based solutions.
提供机构:
匈牙利罗兰大学(ELTE)等
创建时间:
2025-03-12
搜集汇总
数据集介绍

构建方式
CASTLE数据集由网络安全专家手工构建,包含250个微型C程序,每个程序包含一个常见的CWE漏洞。这些程序涵盖了25种不同的CWE类型,每种类型有10个测试用例(6个易受攻击,4个不易受攻击)。每个程序都能编译无误,以便于形式验证工具的使用。为了简化漏洞的识别,每个测试用例被限制在一个文件中,并且设计为只包含一个或零个漏洞。所有测试用例都经过专家的迭代验证,以确保数据集的质量和可靠性。
使用方法
CASTLE数据集可通过GitHub访问。使用该数据集时,开发者需要准备相应的工具,并使用定制的封装器来自动化工具的安装、配置、执行和结果检索。对于静态分析工具,每个工具都被容器化并通过Python脚本来运行测试用例。对于LLM,使用一个通用脚本来与标准的OpenAI API进行交互。所有封装器生成的结果都存储在自定义的报告格式中,然后用于处理结果并计算工具的指标。
背景与挑战
背景概述
CASTLE数据集,全称为CWE Automated Security Testing and Low-Level Evaluation,是一个用于评估不同方法检测源代码中漏洞能力的基准框架。该数据集由Eötvös Loránd University (ELTE)等机构的研究人员创建,旨在解决现有安全漏洞检测方法中存在的问题。CASTLE数据集包含了250个精心设计的C语言微型基准程序,涵盖了25种常见的CWE(Common Weakness Enumeration)类型。通过使用CASTLE Score这一新的评估指标,研究者可以公平地比较不同工具的漏洞检测能力。该数据集的创建对于推动静态分析工具、形式化验证方法和大型语言模型在漏洞检测领域的应用具有重要意义。
当前挑战
CASTLE数据集面临的挑战包括:1)不同类型漏洞的检测挑战:现有的静态分析工具和形式化验证方法在检测不同类型的漏洞时存在差异,例如ESBMC在形式验证方面表现出色,但在处理诸如弱加密或SQL注入等非形式化问题时能力有限。2)构建过程中的挑战:CASTLE数据集需要包含可编译的程序,以便进行形式化验证等工具的评估,同时还需要平衡漏洞和非漏洞样本,以便进行更准确的评估。此外,由于LLM等工具在处理大型代码库时存在可扩展性问题,因此需要进一步研究和改进相关技术。
常用场景
经典使用场景
在软件安全领域,CASTLE数据集被广泛用于评估不同安全工具对C语言中常见漏洞检测的能力。该数据集提供了250个精心设计的C语言程序,每个程序包含一个特定的CWE(Common Weakness Enumeration)漏洞。通过对这些程序的分析,研究人员可以比较静态分析工具、形式化验证方法和大型语言模型(LLMs)在检测漏洞方面的性能,从而为开发人员和安全实践者提供有关哪些工具最可靠的指导。
解决学术问题
CASTLE数据集解决了当前安全工具评估中存在的几个关键问题。首先,它提供了一个标准化的基准,其中包含了平衡的CWE表示,使得不同类型的漏洞都能得到充分测试。其次,CASTLE数据集包含了可编译的程序,这使得对依赖可编译代码的工具(如形式化验证方法)的评估成为可能。最后,CASTLE数据集引入了CASTLE分数,这是一种新的评估指标,能够公平地比较不同工具的性能,从而解决了现有指标可能导致的评估不准确的问题。
实际应用
在实际应用中,CASTLE数据集被用于开发和改进各种安全工具,包括静态分析工具和LLMs。通过在CASTLE数据集上进行测试,研究人员可以了解这些工具在不同漏洞类型和代码场景下的性能,从而指导它们的设计和实现。此外,CASTLE数据集还可以用于训练和评估新的安全工具,例如,LLMs可以被训练来识别和修复CASTLE数据集中的漏洞,从而提高它们的准确性和实用性。
数据集最近研究
最新研究方向
CASTLE数据集的最新研究方向着重于评估静态代码分析器和大型语言模型(LLMs)在检测CWE(通用弱点枚举)方面的能力。研究结果表明,LLMs在小代码片段的漏洞检测方面表现出色,但随着代码规模的增加,其准确性下降,幻觉现象增加。这表明LLMs在未来安全解决方案中可能发挥关键作用,尤其是在代码补全框架中,它们可以提供实时指导以防止漏洞。另一方面,静态分析器在高假阳性方面存在问题,这增加了开发人员的手动验证工作量。形式验证工具ESBMC在最小化假阳性方面表现突出,但在超出模型检查范围的漏洞(如弱加密或SQL注入)方面存在问题。本研究提出了CASTLE Score这一新的评估指标,以确保不同方法之间的公平比较。
相关研究论文
- 1CASTLE: Benchmarking Dataset for Static Code Analyzers and LLMs towards CWE Detection匈牙利罗兰大学(ELTE)等 · 2025年
以上内容由遇见数据集搜集并总结生成



