five

CASTLE Benchmark

收藏
github2025-04-04 更新2025-04-15 收录
下载链接:
https://github.com/CASTLE-Benchmark/CASTLE-Benchmark
下载链接
链接失效反馈
官方服务:
资源简介:
CASTLE基准测试是一个全面的数据集和评分方法,用于评估单个或组合的静态分析器,重点关注安全性。它包含250个手工制作的微基准测试程序(近11,000行C代码),覆盖25个常见CWEs。我们还引入了新颖的CASTLE Score指标,以实现公平和可靠的比较,考虑真正例和假正例率,以及工具发现更常见问题的能力。该数据集支持单个工具的比较,以及工具组合的有效性。

The CASTLE Benchmark is a comprehensive dataset and scoring methodology for evaluating standalone or combined static analyzers, with a focus on software security. It includes 250 handcrafted micro-benchmark programs (nearly 11,000 lines of C code) covering 25 common CWEs. We also introduce the novel CASTLE Score metric to enable fair and reliable comparisons, which accounts for true positive rate, false positive rate, and the capability of tools to detect more prevalent issues. This benchmark supports comparisons of individual tools as well as the effectiveness of tool combinations.
创建时间:
2025-03-19
原始信息汇总

CASTLE Benchmark 数据集概述

数据集基本信息

  • 名称: CASTLE Benchmark
  • 类型: 静态分析器评估数据集
  • 语言: C语言
  • 规模: 250个微基准测试程序(约11,000行代码)
  • 覆盖范围: 25个常见CWE(常见弱点枚举)

数据集内容

  • 主数据集文件:
    • CASTLE-C250.json: 包含250个C语言测试的解析和标记数据集
    • CASTLE-C250.min.json: 主数据集的精简版本,适合自动化使用
  • 独立测试文件:
    • CASTLE-C250: 250个独立C语言测试文件,附带Makefile
  • 源代码仓库:
    • CASTLE-Source: 包含数据集、测试、包装器、评估器等源代码

数据集特点

  • 评估方法: 引入CASTLE Score指标,综合考虑真阳性率、假阳性率等
  • 验证过程: 通过专家评审、静态分析器、形式化验证方法和LLMs多次迭代验证
  • 测试工具: 包含25种工具(13个静态分析器、2个形式化验证工具、10个LLMs)

架构与流程

  1. 数据集创建与验证:
    • 选择CWE并创建测试数据集
    • 通过多种方法验证代码正确性
  2. 工具包装与自动化:
    • 为所有工具创建包装器以自动化评估
  3. 手动审查:
    • 验证约7,500个发现并更新TP和FP分类
  4. 结果评估:
    • 计算CASTLE Score并生成最终排名和图表

引用信息

bibtex @misc{dubniczky2025castle, title={CASTLE: Benchmarking Dataset for Static Code Analyzers and LLMs towards CWE Detection}, author={Richard A. Dubniczky and Krisztofer Zoltán Horvát and Tamás Bisztray and Mohamed Amine Ferrag and Lucas C. Cordeiro and Norbert Tihanyi}, year={2025}, eprint={2503.09433}, archivePrefix={arXiv}, primaryClass={cs.CR}, url={https://arxiv.org/abs/2503.09433}, }

搜集汇总
数据集介绍
main_image_url
构建方式
在静态代码分析领域,CASTLE Benchmark的构建体现了严谨的学术方法论。研究团队通过多阶段验证流程,精心设计了250个C语言微基准测试程序,覆盖25种常见CWE漏洞类型。构建过程采用专家评审、静态分析工具、形式化验证方法和大型语言模型(LLM)相结合的迭代验证机制,确保测试用例的准确性和代表性。数据集以JSON和独立C文件两种形式呈现,并配套自动化评估框架,支持对13种静态分析工具、2种形式化验证工具和10种LLM的标准化测试。
使用方法
使用该数据集时,研究者可通过解析标准化的JSON文件获取测试用例及标注信息,其中min版本适用于自动化处理。配套的Makefile支持批量编译执行,而专用包装器实现了对各类分析工具的自动化测试。评估阶段需遵循CASTLE框架的四阶段流程:测试用例验证、工具输出标准化、人工结果复核以及最终评分计算。研究引用时应注意该数据集当前处于同行评审阶段,建议同步关注预印本论文中的方法论更新。
背景与挑战
背景概述
CASTLE Benchmark是由Richard A. Dubniczky等人联合研发的一项专注于安全领域的静态分析工具评估数据集,其核心目标在于系统性地评估单一或组合静态分析工具在检测常见弱点枚举(CWE)方面的效能。该数据集包含250个精心设计的微基准测试程序,覆盖25种常见CWE,总计近11,000行C代码。通过引入创新的CASTLE Score评估指标,该数据集不仅考量了工具的真阳性率和假阳性率,还评估了工具检测常见问题的能力,为静态分析工具的性能比较提供了科学依据。这一研究成果目前正处于同行评审阶段,其预印本已在arXiv平台公开发布,预计将对软件安全分析和工具优化领域产生深远影响。
当前挑战
构建CASTLE Benchmark过程中面临多重挑战。在领域问题层面,如何公平评估不同静态分析工具和LLM在检测多样化CWE方面的性能是一大难题,尤其是当工具报告不同代码行或CWE分类时,需要建立统一的评估标准。在数据集构建过程中,研究团队需通过专家评审、静态分析、形式化验证和LLM等多种方法反复验证C代码的正确性,这一过程耗时且复杂。此外,为25种工具开发统一封装器以实现自动化评估也面临技术挑战,特别是对于部分开源工具需设计容器化测试方案,而商业工具则需处理API集成或手动结果解析等问题。最后,对约7,500个检测结果进行人工验证和分类的工作量巨大,研究团队需进行多轮测试以确保评估结果的可靠性。
常用场景
经典使用场景
CASTLE Benchmark作为静态分析工具和LLMs的评估基准,其经典使用场景主要集中在安全漏洞检测领域。该数据集通过250个精心设计的微基准程序,覆盖了25种常见CWE(通用弱点枚举),为研究人员提供了一个标准化的测试平台。在静态代码分析领域,CASTLE Benchmark常被用于评估不同工具在检测安全漏洞时的性能表现,特别是通过其创新的CASTLE Score指标,能够综合考虑真阳性率、假阳性率等多维度因素,实现工具间的公平比较。
解决学术问题
CASTLE Benchmark有效解决了静态分析工具评估中缺乏标准化基准的学术难题。传统评估方法往往受限于数据集规模小、覆盖漏洞类型有限等问题,而该数据集通过系统性地涵盖多种CWE类型,并引入定量化评分机制,为工具性能评估提供了科学依据。其重要意义在于推动了静态分析工具研究的可重复性和可比性,使学术界能够更客观地衡量不同方法在安全漏洞检测方面的优劣。
实际应用
在实际应用层面,CASTLE Benchmark为软件开发团队选择静态分析工具提供了决策支持。安全工程师可以依据该基准的测试结果,选择最适合其代码基的静态分析工具或工具组合。同时,该数据集也被广泛应用于静态分析工具的开发和优化过程中,工具开发者可通过分析测试结果,针对性改进其产品的漏洞检测能力。在DevSecOps流程中,CASTLE Benchmark的评估结果有助于建立更可靠的安全防护机制。
数据集最近研究
最新研究方向
在软件安全领域,静态代码分析工具和大型语言模型(LLMs)的评估一直缺乏统一标准。CASTLE Benchmark作为一项开创性工作,通过精心设计的250个微基准程序(涵盖25种常见CWE漏洞类型)和创新的CASTLE Score评估指标,为工具性能比较提供了科学依据。该数据集不仅关注传统静态分析工具,还将前沿的LLMs纳入评估体系,揭示了不同技术路线在漏洞检测中的互补性。近期研究热点集中在多工具协同检测策略优化、误报率动态平衡机制以及基于CWE分类的检测能力细粒度评估。这一基准的建立为软件供应链安全、DevSecOps流程中的自动化代码审计等应用场景提供了重要技术支撑,推动了静态分析领域从单一工具测评向系统化评估框架的范式转变。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作