AntFuzzer: A Grey-Box Fuzzing Framework for EOSIO Smart Contracts
在过去的几年里,针对EOSIO智能合约漏洞的几次攻击给这个流行的区块链平台造成了严重的财务损失。作为一种轻量级的测试生成方法,灰盒模糊技术可以提高EOSIO智能合约的安全性。然而,从头开始为EOSIO智能合约开发一个实用的灰盒模糊器是耗时的,并且需要对EOSIO内部结构有深入的了解。在这项工作中,我们提出了AntFuzzer,这是EOSIO智能合约的第一个高度可扩展的灰盒模糊框架。AntFuzzer实现了一种新颖的方法,该方法与AFL接口,以对EOSIO智能合约进行AFL风格的灰盒模糊。与黑盒模糊工具相比,AntFuzzer可以有效地触发那些难以覆盖的分支。在我们的基准数据集中,它在37.5%的智能合约上实现了代码覆盖率的提高。AntFuzzer为用户提供了统一的接口,以便针对不断出现的漏洞轻松开发新的检测插件。我们在AntFuzzer上实现了6个检测插件,用于检测EOSIO智能合约的主要漏洞。在我们对4,616个真实智能合约进行的大规模模糊测试中,AntFuzzer成功检测到741个漏洞。实验结果证明了AntFuzzer算法和我们的检测算法的有效性和效率。
2022-11-02 cs.CR
APFuzz: Towards Automatic Greybox Protocol Fuzzing
Swinburne University of Technology(斯威本科技大学);CSIRO Data61(澳大利亚联邦科学和工业研究组织数据61)
APFuzz通过状态模型和消息模型的创新设计,提升灰盒协议模糊测试的智能性,通过静态动态分析和字段级变异操作实现更高效的模糊测试。
2026-02-25 cs.CR
Refined Grey-Box Fuzzing with SIVO
我们从头开始设计和实现一个新的模糊称为SIVO,完善多个阶段的灰盒模糊。首先,SIVO以两种方式改进了数据流模糊:(a)它提供了一种新的污点推理引擎,只需要对数的输入大小测试数来推断所有程序分支对输入字节的依赖性,以及(b)它部署了一种新的方法,通过直接有效地求解不等式系统来反转分支。其次,我们的模糊细化准确的跟踪和检测的代码覆盖率简单,易于实现的方法。最后,SIVO细化选择的参数和策略,参数化的所有阶段的模糊,然后动态选择最佳值在模糊。因此,模糊器可以很容易地适应目标程序,并迅速增加覆盖范围。我们比较我们的模糊其他11个国家的最先进的灰盒模糊27个流行的基准。我们的评估显示,SIVO在代码覆盖率和发现的漏洞数量方面得分最高。
2021-07-07 cs.CR
$MC^2$: Rigorous and Efficient Directed Greybox Fuzzing
定向灰盒模糊测试是一种用于有针对性的软件测试的流行技术,旨在找到到达程序中一组目标站点的输入。大多数现有的有向灰盒模糊器没有提供任何理论分析,他们的性能或最优性。在本文中,我们引入了一个复杂性理论框架,将定向灰盒模糊化作为一个Oracle引导的搜索问题,其中一些关于输入空间的反馈(例如,输入与目标站点有多近)通过查询Oracle来接收。我们的框架假设每个Oracle查询都可以返回任意内容,其中包含大量但恒定的信息。因此,我们使用模糊算法找到目标到达输入所需的Oracle查询的数量作为性能度量。使用我们的框架,我们设计了一个随机定向灰盒模糊算法,使对数(wrt。所有可能输入的数量)期望找到目标到达输入的查询数量。我们进一步证明了我们的算法所需的oracle查询的数量是最优的,即,没有模糊算法可以改进(即,最小化)查询计数超过一个常数因子。我们在MC $^2$中实现了我们的方法,并在具有挑战性的基准测试(Magma和Fuzzer测试套件)上超过了最先进的有向灰盒模糊器两个数量级(即,$134\times$)的平均值。MC $^2$还发现了15个以前未发现的错误,这些错误是其他最先进的直接灰盒模糊器未能发现的。
2022-08-30 cs.CR
LLAMAFUZZ: Large Language Model Enhanced Greybox Fuzzing
University of California, Davis(加州大学戴维斯分校);University of Hong Kong(香港大学)
本文提出LLAMAFUZZ,利用大语言模型生成有效输入,提升灰盒模糊测试对结构化数据的处理能力,实验表明其在发现漏洞方面表现优异。
2026-03-17 cs.AI cs.CR cs.SE
PrescientFuzz: A more effective exploration approach for grey-box fuzzing
PrescientFuzz利用目标程序控制流图语义信息,通过输入语料库调度器优先选择接近未覆盖边的输入进行变异,在Google FuzzBench基准测试中实现了领先的平均代码覆盖率和排名。
2025-01-24 cs.CR cs.SE
Harvey: A Greybox Fuzzer for Smart Contracts
我们介绍Harvey,一个用于智能合约的工业灰盒模糊器,智能合约是在区块链上管理账户的程序。灰盒模糊测试是一种轻量级的测试生成方法,可以有效地检测错误和安全漏洞。然而,灰盒模糊器随机地改变程序输入以执行新的路径;这使得覆盖由窄检查保护的代码变得具有挑战性,窄检查仅由几个输入值满足。此外,大多数现实世界的智能合约在其生命周期中会经历许多不同的状态,例如,拍卖中的每一次出价为了探索这些状态并由此检测深层漏洞,灰盒模糊器将需要生成合同交易的序列,例如,通过创建来自多个用户的出价,同时保持搜索空间和测试套件易于处理。在这篇经验论文中,我们解释了Harvey如何通过两种关键的模糊技术来应对这两个挑战,并从中吸取了主要的经验教训。首先,Harvey扩展了标准的灰盒模糊,使用一种方法来预测更有可能覆盖新路径或揭示智能合约中漏洞的新输入。其次,它以有针对性和需求驱动的方式模糊交易序列。我们已经对27份真实合同进行了评估。我们的实验表明,底层技术显着提高了Harvey在实现高覆盖率和检测漏洞方面的有效性,在大多数情况下,速度更快;它们还揭示了有关合同代码的新见解。
2019-05-15 cs.CR cs.SE
Directed Greybox Fuzzing via Large Language Model
本文提出HGFuzzer,利用大语言模型将路径约束转化为代码生成任务并设计专用mutator,显著提升定向灰盒模糊测试效率,在20个真实漏洞中触发17个并发现9个新CVE漏洞。
2025-05-06 cs.CR
Smart Greybox Fuzzing
基于覆盖率的灰盒模糊检测(CGF)是最成功的自动漏洞检测方法之一。给定一个种子文件(作为一个比特序列),CGF随机翻转、删除或比特以生成新文件。CGF通过保留那些增强覆盖率的生成文件来迭代地构建(和模糊化)种子语料库。然而,对于处理复杂文件格式的应用程序,随机位翻转不太可能产生有效文件(或文件中的有效块)。在这项工作中,我们引入智能灰盒模糊(SGF),它利用种子文件的高层次结构表示来生成新的文件。我们定义了创新的变异算子,工作在虚拟文件结构,而不是位的水平,使SGF探索全新的输入域,同时保持文件的有效性。我们引入了一种新的基于有效性的电源调度,使SGF花更多的时间生成更有可能通过程序的解析阶段的文件,这可以暴露更深层次的处理逻辑中的漏洞。我们的评估证明了SGF的有效性。在解析结构复杂文件的几个库上,我们的工具AFL Smart探索了比基线AFL更多的路径(高达200%),并暴露了更多的漏洞。我们的工具AFLSmart在广泛使用的、经过良好测试的工具和库中发现了42个零日漏洞;到目前为止,分配了17个CVE。
2018-11-23 cs.CR
WEIZZ: Automatic Grey-box Fuzzing for Structured Binary Formats
近年来,模糊技术发展迅速,以不断增加的深度和速度揭示程序中的错误。然而,使用复杂格式的应用程序更难接受,因为输入需要满足某些特定于格式的特征,以通过初始解析阶段并达到程序的更深层次行为。不同于以前的建议,手动编写的格式规范的基础上,在本文中,我们提出了一种技术,自动生成和变异输入未知的基于块的二进制格式。我们提出了一种技术,以确定输入字节和比较指令之间的依赖关系,并在以后使用它们来分配标签的程序的处理逻辑的特点。标签成为结构感知突变的构建块,涉及输入的块和字段。我们表明,我们的技术执行结构感知模糊的建议,需要人类的帮助。我们的原型实现WEIZZ揭示了广泛使用的程序中的16个未知错误。
2020-08-12 cs.CR
SDLLMFuzz: Dynamic-static LLM-assisted greybox fuzzing for structured input programs
SJTU-Paris Elite Institute of Technology, Shanghai Jiao Tong University(上海交通大学巴黎卓越工程师学院);School of Computer Science, Shanghai Jiao Tong University(上海交通大学计算机科学与技术学院)
本文提出SDLLMFuzz框架,结合LLM生成结构化输入并利用静态崩溃分析,通过动态-静态反馈机制提升模糊测试效率,实验表明其在漏洞发现和时间效率上优于传统方法。
2026-04-20 cs.CR cs.PL
Icicle: A Re-Designed Emulator for Grey-Box Firmware Fuzzing
本研究提出Icicle,一个专为模糊测试设计的多架构模拟框架,支持架构无关插桩,以低开销实现高效灰盒固件模糊测试,并在多种ISA及MSP430上发现新错误。
2023-06-21 cs.CR
Augmenting Greybox Fuzzing with Generative AI
University of California Riverside(加州大学河滨分校)
本研究针对结构化输入程序的模糊测试瓶颈,提出融合生成式AI的灰盒模糊测试工具ChatFuzz,通过LLM生成符合格式的高质量种子变体,在12个目标程序上较AFL++提升12.77%的边覆盖率,明确语法规则程序的漏洞检测表现更优。
2023-06-11 cs.AI cs.CR
Path Transitions Tell More:Optimizing Fuzzing Schedules via Runtime Program States
覆盖率引导的灰盒模糊搜索(CGF)是一种最成功和最广泛使用的错误搜索技术。采用两种主要方法来优化CGF:(i)通过推断输入字节和路径约束之间的关系来减少输入的搜索空间;(ii)制定模糊过程(例如,路径转换)并建立概率分布以优化功率调度,即,每个种子生成的输入数量。然而,前者是主观的推断结果,其中可能包括额外的字节的路径约束,从而限制了路径约束的决议,代码覆盖发现,和错误暴露的效率;后者的形式化,集中在功率调度单独的种子,是不注意的调度字节的种子。在本文中,我们提出了一个轻量级的模糊方法,Truzz,以优化现有的覆盖率指导灰盒模糊(CGF)。为了解决上述两个挑战,Truzz识别与验证检查相关的字节(即,检查保护错误处理代码),并保护这些字节不被频繁地改变,使得大多数生成的输入检查程序的功能,而不是被验证检查拒绝。字节式关系确定减轻了当模糊器推断字节约束关系时加载额外字节的问题。此外,Truzz中提出的路径转换可以有效地将种子优先级定为新路径,收获许多新边,并且新路径可能属于具有许多未发现代码行的代码区域。实验结果表明,平均而言,Truzz可以生成16.14%的输入流入函数代码,除了24.75%的新边缘比香草模糊。最后,我们的方法暴露了8个目标程序中的13个错误,其中6个错误还没有被香草模糊器识别出来。
2022-01-12 cs.CR cs.SE
Investigating Metamorphic Fuzz Oracle Enhancement via Large Language Models
Tsinghua University(清华大学)
提出基于大语言模型的MetaFOE框架,自动生成和集成蜕变关系以增强模糊测试预言,在OSS-Fuzz驱动上平均提升18.7%边覆盖并触发1528个独特崩溃。
2026-06-15 cs.CR cs.SE
Better Pay Attention Whilst Fuzzing
Fuzzing是漏洞检测的主流方法之一。然而,即使是最先进的模糊方法在一段时间后也变得无效,即,由于现有方法不能有效地将模糊注意力集中在覆盖难以触发的程序路径上,因此覆盖率几乎没有提高。换句话说,他们不能生成可以打破瓶颈的输入,因为在捕获测试输入和程序覆盖之间的复杂关系方面存在根本性的困难。特别地,现有的模糊器受到以下主要限制:1)缺乏对程序的总体分析以识别最“有回报”的种子,以及2)缺乏可以连续地选择和变异种子的更相关的“字节”的有效变异策略。在这项工作中,我们提出了一种称为ATTuzz的方法来系统地解决这两个问题。首先,我们提出了一个轻量级的动态分析技术,估计“奖励”覆盖每个基本块,并选择最有价值的种子。其次,我们根据神经网络模型对所选种子进行变异,该模型预测给定种子的某些字节上的某些变异是否会覆盖某个“奖励”块。该模型是一个配备了注意力机制的深度学习模型,该机制在模糊化的同时定期学习和更新。我们的评估表明,ATTuzz在实现更高的边缘覆盖率和发现新错误方面,在13个流行的现实世界程序上显着优于5个最先进的灰盒模糊器。特别是,ATTuzz在24小时运行中实现了2倍于AFL的边缘覆盖率和4倍于AFL的bug检测。此外,ATTuzz从长远来看持续改善边缘覆盖,即,在5天内实现比AFL多50%的覆盖率。
2021-12-14 cs.CR cs.SE
FuzzDistill: Intelligent Fuzzing Target Selection using Compile-Time Analysis and Machine Learning
University of Virginia(弗吉尼亚大学)
针对模糊测试在大规模代码库中耗时久、资源消耗大的问题,提出FuzzDistill方法,结合编译时信息分析与机器学习筛选高优先级测试目标,可大幅缩短真实软件的测试时间。
2024-12-11 cs.CR cs.LG cs.SE
ColorGo: Directed Concolic Execution
本文提出ColorGo,一种结合编译式符号执行与增量着色的定向白盒模糊测试器,在保持高精确性的同时实现高可扩展性,在真实程序上比AFLGo快达100倍。
2025-05-27 cs.CR cs.SE
PBFuzz: Agentic Directed Fuzzing for PoV Generation
University of California, Riverside(加州大学河滨分校);University of Minnesota, Twin Cities(明尼苏达大学双城分校)
PBFuzz通过模拟人类专家流程,自动提取语义约束并高效生成漏洞证明输入,实验表明其在效率和漏洞触发性能上优于现有方法。
2026-10-27 cs.CR cs.SE
Intelligent Graybox Fuzzing via ATPG-Guided Seed Generation and Submodule Analysis
George Mason University(乔治梅森大学);University of Florida(佛罗里达大学)
PROFUZZ通过结合ATPG的结构分析能力,提升灰盒模糊测试的效率和扩展性,有效解决传统方法在大规模电路中的局限性。
2026-01-26 cs.CR
MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing
Northeastern University(东北大学);Stony Brook University(石溪大学)
排种是决定杂交水稻产量的一个重要因素。现有的混合模糊调度种子的基础上,旨在预测输入实用程序的固定算法。然而,这种方法是不可推广的,因为不存在适用于不同程序的一刀切的规则。它们可能在它们所源自的程序上工作得很好,但在其他程序上就不行了。为了克服这个问题,我们设计了一个机器学习增强的混合模糊系统(MEUZZ),它采用监督机器学习的自适应和泛化的种子调度。MEUZZ基于从相同或类似程序上做出的过去种子调度决策中学到的知识来确定哪些新种子预计会产生更好的模糊产量。MEUZZ的学习基于一系列通过代码可达性和动态分析提取的特征,这会产生可忽略的运行时开销(以微秒为单位)。此外,MEUZZ通过评估每个选定种子的模糊性能来自动推断数据标签。因此,MEUZZ通常适用于各种程序,并在各种程序上表现良好。我们的评估表明,MEUZZ显着优于国家的最先进的灰盒和混合模糊,实现27.1%以上的代码覆盖率比QSYM。学习的模型是可重用和可转移的,这将模糊性能平均提高了7.1%,并改善了56个跨程序模糊活动中的68%。MEUZZ发现了47个隐藏得很深的、以前未知的bug--其中21个已经被开发人员确认并修复--在模糊化8个经过良好测试的程序时,这些程序的配置与以前的工作相同。
2020-07-22 cs.AI cs.CR
WhisperFuzz: White-Box Fuzzing for Detecting and Locating Timing Vulnerabilities in Processors
WhisperFuzz提出首个结合静态分析的白盒模糊测试器,通过提取微架构状态转换并测量执行时间,检测并定位处理器时序漏洞,在RISC-V处理器中发现12个新漏洞。
2024-03-14 cs.CR
Learn&Fuzz: Machine Learning for Input Fuzzing
Microsoft Research(微软研究院);The Technion(以色列理工学院)
Fuzzing包括使用修改的或模糊的输入反复测试应用程序,目的是找到输入解析代码中的安全漏洞。在本文中,我们将展示如何自动生成一个输入语法适合使用样本输入和基于神经网络的统计机器学习技术的输入模糊。我们提出了一个详细的案例研究与复杂的输入格式,即PDF,和一个大型复杂的安全关键的解析器,这种格式,即嵌入在微软的新边缘浏览器的PDF解析器。我们讨论(和测量)冲突的学习和模糊目标之间的紧张关系:学习想要捕获格式良好的输入的结构,而模糊想要打破这种结构,以覆盖意外的代码路径和发现错误。我们还提出了一种新的算法,这种学习和模糊的挑战,它使用一个学习的输入概率分布,智能地指导在哪里模糊输入。
2017-01-25 cs.AI cs.CR cs.LG
HyperGo: Probability-based Directed Hybrid Fuzzing
本文针对定向灰盒模糊测试的挑战,提出HyperGo定向混合模糊测试器,通过基于概率的距离适应度指标和OSEC互补方案优化测试效率,在基准测试中实现显著加速并发现37个未公开漏洞。
2025-02-12 cs.CR
IntelliGen: Automatic Driver Synthesis for FuzzTesting
Fuzzing是一种广泛应用于漏洞检测的技术。这个过程通常涉及编写有效的模糊驱动程序,如果手动完成,可能会非常劳动密集型。以前的自动化尝试在自动化程度或产出质量方面都有许多不足之处。在本文中,我们提出了智能,自动构建有效的模糊驱动程序的框架。首先,IntelliGen确定一组入口函数,并评估它们各自表现出漏洞的可能性。然后,IntelliGen通过分层参数替换和类型推断为入口函数生成模糊驱动程序。我们实现了智能并评估了其在现实世界中的程序从Android开源项目,谷歌的模糊测试套件和工业合作者选择的有效性。与最先进的模糊驱动合成器FUDGE和FuzzGen相比,IntelliGen平均覆盖了1.08 - 2.03倍的基本块和1.36 - 2.06倍的路径。IntelliGen的性能与手动编写的驱动程序相当,并发现了10个以上的错误。
2021-03-01 cs.CR cs.SE
Security Audit of intel ICE Driver for e810 Network Interface Card
Department of Electronics & Computer Engineering(电子与计算机工程系);Intel NXNE Hardware Architecture(英特尔NXNE硬件架构)
本研究对 Intel ICE 驱动程序进行安全审计,通过静态分析、模糊测试和时序侧信道评估,发现其在正常条件下输入验证较强,但易受时序侧信道攻击,导致 VF 占用状态信息泄漏及 RCU 同步缺陷。
2025-11-05 cs.CR