five

Common Corpus

收藏
github2023-08-17 更新2024-05-31 收录
下载链接:
https://github.com/isosceles-security/common-corpus
下载链接
链接失效反馈
官方服务:
资源简介:
Common Corpus 用于构建覆盖最小化的语料库数据集,用于模糊测试。

The Common Corpus is utilized for constructing a dataset that covers a minimized corpus, specifically designed for fuzz testing.
创建时间:
2023-08-03
原始信息汇总

Common Corpus (common-corpus)

用途

Common Corpus 用于构建用于模糊测试的覆盖最小化语料库数据集。

使用步骤

  1. 遵循 Isosceles 博客上 "如何构建模糊测试语料库" 的初始设置指南(步骤 1 至 7)。
  2. 使用 SanitizerCoverage 启用编译目标二进制(例如使用 -fsanitize=address -fsanitize-coverage=trace-pc-guard)。
  3. common_corpus.py 的头部设置配置变量,包括文件格式、目标命令行和用于读取 S3 上 Common Crawl 数据的访问密钥。
  4. 运行 common_corpus.py 脚本,并将上述创建的 CSV 文件作为第一个参数提供。

输出

语料库文件将创建在 out 目录中。工具将输出一个 "+" 表示每个添加到语料库的有趣文件,以及一个 "." 表示未导致新代码覆盖的测试。

搜集汇总
数据集介绍
main_image_url
构建方式
Common Corpus数据集的构建过程主要依赖于覆盖率最小化的语料库生成技术。该过程首先通过遵循Isosceles博客中的指导步骤,配置并编译目标二进制文件,确保启用了SanitizerCoverage功能。随后,用户在`common_corpus.py`脚本中设置必要的配置变量,包括文件格式、目标命令行以及用于访问S3上Common Crawl数据的密钥。通过这些步骤,脚本能够自动化地从大量数据中筛选出能够增加代码覆盖率的文件,从而构建出高效的语料库。
特点
Common Corpus数据集的特点在于其专注于为模糊测试提供覆盖率最小化的语料库。该数据集通过自动化工具筛选出能够触发新代码路径的文件,从而确保语料库的高效性和针对性。数据集中的每个文件都经过精心挑选,以确保其在模糊测试中能够最大化地覆盖目标代码的潜在路径。这种设计使得Common Corpus成为模糊测试领域中一个极具价值的资源。
使用方法
使用Common Corpus数据集时,用户需首先按照Isosceles博客中的步骤配置环境并编译目标二进制文件。接着,在`common_corpus.py`脚本中设置相关配置变量,包括文件格式、目标命令行以及访问S3数据的密钥。运行脚本时,用户需提供一个CSV文件作为输入参数。脚本执行后,生成的语料库文件将存储在`out`目录中。工具会通过输出符号“+”和“.”来指示哪些文件增加了代码覆盖率,哪些没有。
背景与挑战
背景概述
Common Corpus数据集由Isosceles团队开发,旨在为模糊测试(Fuzzing)构建覆盖率最小化的语料库。模糊测试是一种广泛应用于软件安全领域的自动化测试技术,通过生成大量随机输入来检测软件中的潜在漏洞。Common Corpus的创建时间可追溯至2010年代中期,其核心研究问题在于如何高效地生成能够最大化代码覆盖率的测试用例,从而提升模糊测试的效率和效果。该数据集通过整合Common Crawl等公开数据源,为研究人员和开发者提供了一个标准化的工具集,极大地推动了模糊测试技术的发展,并在软件安全领域产生了深远影响。
当前挑战
Common Corpus数据集在构建和应用过程中面临多重挑战。首先,模糊测试的核心问题在于如何生成能够触发新代码路径的输入数据,这对语料库的多样性和覆盖率提出了极高要求。其次,数据集构建过程中需要处理海量的原始数据,如何高效地筛选和优化这些数据以生成高质量的测试用例,是一个复杂且耗时的任务。此外,Common Corpus依赖于外部数据源如Common Crawl,如何确保数据的实时性和完整性,以及如何高效地从分布式存储中提取和处理数据,也是技术实现中的关键难点。这些挑战不仅考验了数据处理能力,也对算法的设计和优化提出了更高要求。
常用场景
经典使用场景
Common Corpus数据集在软件测试领域中被广泛用于构建覆盖率最小化的语料库,特别适用于模糊测试(Fuzzing)。通过该数据集,研究人员能够生成一系列输入文件,这些文件能够最大化地覆盖目标程序的代码路径,从而有效检测软件中的潜在漏洞。其经典使用场景包括自动化测试工具的开发与优化,尤其是在安全测试中,帮助识别和修复代码中的缺陷。
衍生相关工作
基于Common Corpus的研究成果,衍生了许多经典的模糊测试工具和方法。例如,AFL(American Fuzzy Lop)和LibFuzzer等工具都借鉴了其覆盖率最小化的思想,进一步优化了模糊测试的算法和实现。此外,该数据集还启发了大量关于代码覆盖率分析和漏洞检测的研究,推动了软件测试和安全领域的学术进展。这些相关工作不仅扩展了Common Corpus的应用范围,也为后续研究提供了重要的理论基础和实践经验。
数据集最近研究
最新研究方向
在软件安全领域,模糊测试(Fuzzing)作为一种自动化漏洞挖掘技术,近年来备受关注。Common Corpus作为构建覆盖率最小化语料库的工具,为模糊测试提供了高效的数据支持。当前研究热点集中在如何通过优化语料库生成算法,进一步提升模糊测试的效率和覆盖率。例如,结合机器学习技术,动态调整语料库生成策略,以更精准地触发目标程序的边缘路径。此外,随着开源软件生态的蓬勃发展,Common Corpus在跨平台、跨语言的模糊测试中也展现出广泛的应用潜力。其影响不仅限于提升漏洞检测能力,还为软件安全研究提供了新的数据驱动范式。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作