Harnessing Large Language Models for Seed Generation in Greybox Fuzzing
针对灰盒模糊测试中高质量初始种子生成不足的问题,提出SeedMind系统,利用大型语言模型(LLMs)创建测试用例生成器,通过迭代反馈优化种子生成,提升代码覆盖并发现漏洞,效用优于现有基于LLM的方案。
2024-11-27 cs.CR cs.SE
Superion: Grammar-Aware Greybox Fuzzing
近年来,基于覆盖率的灰盒模糊技术已被证明是在实践中发现安全漏洞的最有效的技术之一。特别是美国的Fuzzy Lop(简称AFL)算法,被认为在相对简单的测试输入的模糊化方面取得了巨大的成功。然而,当遇到XML和JavaScript等结构化测试输入时,AFL中的语法盲裁剪和变异策略阻碍了AFL的有效性和效率。为此,我们提出了一个基于覆盖率的模糊处理结构化输入的灰盒模糊方法。鉴于语法(这往往是公开的)的测试输入,我们引入了一个语法感知修剪策略修剪测试输入在树级使用的抽象语法树(AST)解析的测试输入。此外,我们引入了两种语法感知的突变策略(即,增强的基于字典的突变和基于树的突变)。具体来说,基于树的变异通过使用解析的测试输入的AST替换子树来工作。该方法具有语法感知能力,可以将模糊推理的探索扩展到广度和深度。我们实现了我们的方法作为一个扩展AFL,命名为Escapon;和评估Escapon在现实生活中的大型程序(XML引擎libplist和三个JavaScript引擎WebKit,Jerryscript和ChakraCore)的有效性。我们的研究结果表明,ESPON可以提高代码覆盖率(即,行和函数覆盖率分别为16.7%和8.8%)和缺陷发现能力(即,31个新漏洞,其中我们发现了21个新漏洞,分配了16个CVE,并通过AFL和jsfunfuzz获得了3.2K美元的漏洞奖励。我们还证明了我们…
2019-01-23 cs.CR cs.SE
Peeling Off the Cocoon: Unveiling Suppressed Golden Seeds for Mutational Greybox Fuzzing
Nanjing University(南京大学);State Key Laboratory for Novel Software Technology(新型软件技术国家重点实验室)
PoCo通过去除障碍条件语句并深入种子选择,提升现代覆盖引导的种子选择技术性能。
2026-02-27 cs.SE
RERS-Fuzz : Combining Greybox Fuzzing with Interval Analysis for error reachability in reactive softwares
模糊测试是软件维护和演化领域中一个被广泛研究的领域。近年来,基于覆盖率的灰盒模糊测试通过发现工业级软件中的关键安全级别和show-stopper错误而获得了极大的关注。灰箱模糊测试以覆盖率最大化为目标函数,并采用反馈驱动的进化算法来实现。在我们的工作中,我们利用灰盒模糊测试的力量,结合区间分析来解决序列和工业RERS(反应式软件的严格检查)2019基准测试中的可达性问题。
2019-07-26 cs.SE
Triggering and Detecting Exploitable Library Vulnerability from the Client by Directed Greybox Fuzzing
Zhejiang University(浙江大学);Central University of Finance and Economics(中央财经大学)
本文提出LiveFuzz方法,基于定向灰盒模糊测试检测客户端程序触发库漏洞的可利用性,无需证明概念,通过目标元组扩展DGF技术,引入抽象路径映射机制和风险自适应突变策略,提升路径覆盖率和漏洞暴露速度。
2026-04-05 cs.CR cs.SE
ColorGo: Directed Concolic Execution
本文提出ColorGo,一种结合编译式符号执行与增量着色的定向白盒模糊测试器,在保持高精确性的同时实现高可扩展性,在真实程序上比AFLGo快达100倍。
2025-05-27 cs.CR cs.SE
Linear-time Temporal Logic guided Greybox Fuzzing
软件模型检验是一种广泛用于检验软件系统时态特性的验证技术。尽管它是一种属性验证技术,但它在实践中的常见用法是“bug查找”,即查找对时态属性的违反。出于这种观察和利用模糊的最新进展,我们建立了一个灰盒模糊框架,以发现违反线性时间时序逻辑(LTL)属性。我们的框架需要作为输入的C/C ++编写的顺序程序,和LTL属性。它发现有状态软件系统中LTL属性的违规或反例痕迹;然而,它没有实现验证。我们的工作大大扩展了直接灰盒模糊见证任意复杂的事件排序。我们注意到,现有的定向灰盒模糊方法仅限于见证到达一个位置或见证简单的事件排序,如使用后免费。同时,与模型检查器相比,我们的方法可以更快地找到反例,从而在给定的时间预算内找到更多的反例。我们的LTL-Fuzzer工具,建立在AFL fuzzer之上,被证明是有效的,在著名的协议实现,如OpenSSL和SSL的检测错误。我们使用LTL-Fuzzer再现已知漏洞(CVEs),通过检查从RFC(已分配12个CVEs)中提取的属性来查找15个零日错误,并在现实世界的协议实现中找到违反安全性和活性属性的行为。我们的工作代表了一个实际的进步,在软件模型检查-同时代表了一个概念上的进步,在现有的灰盒模糊。因此,我们的工作为理解软件模型检验和灰盒模糊化之间未探索的协同作用提供了一个起点。
2022-04-19 cs.SE
Harvey: A Greybox Fuzzer for Smart Contracts
我们介绍Harvey,一个用于智能合约的工业灰盒模糊器,智能合约是在区块链上管理账户的程序。灰盒模糊测试是一种轻量级的测试生成方法,可以有效地检测错误和安全漏洞。然而,灰盒模糊器随机地改变程序输入以执行新的路径;这使得覆盖由窄检查保护的代码变得具有挑战性,窄检查仅由几个输入值满足。此外,大多数现实世界的智能合约在其生命周期中会经历许多不同的状态,例如,拍卖中的每一次出价为了探索这些状态并由此检测深层漏洞,灰盒模糊器将需要生成合同交易的序列,例如,通过创建来自多个用户的出价,同时保持搜索空间和测试套件易于处理。在这篇经验论文中,我们解释了Harvey如何通过两种关键的模糊技术来应对这两个挑战,并从中吸取了主要的经验教训。首先,Harvey扩展了标准的灰盒模糊,使用一种方法来预测更有可能覆盖新路径或揭示智能合约中漏洞的新输入。其次,它以有针对性和需求驱动的方式模糊交易序列。我们已经对27份真实合同进行了评估。我们的实验表明,底层技术显着提高了Harvey在实现高覆盖率和检测漏洞方面的有效性,在大多数情况下,速度更快;它们还揭示了有关合同代码的新见解。
2019-05-15 cs.CR cs.SE
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
Fuzzing Symbolic Expressions
近年来,软件测试取得了广泛的成果,探索了不同的方法和方法,从模糊器到符号引擎,以及介于两者之间的各种实例,如concolic执行和混合模糊。其中许多工具的一个关键组成部分是可满足性模理论(SMT)求解器,用于对分析期间收集的符号表达式进行推理。在本文中,我们研究是否可以借用模糊域的技术来检查是否符号公式是可满足的concolic和混合模糊引擎的背景下,提供了一个可行的替代经典SMT解决技术。我们设计了一个新的近似求解器,FUZZY-SAT,并表明它是竞争和互补的最先进的求解器,如Z3处理混合模糊器产生的查询。
2021-02-12 cs.CR cs.SE
Reviewing KLEE's Sonar-Search Strategy in Context of Greybox Fuzzing
符号执行和模糊测试的自动测试用例生成技术是学术界和工业界最广泛使用的发现漏洞的方法。然而,这两种方法都存在基本的缺点,这些缺点阻止它们实现高路径覆盖,因此,这可能导致在静态分析的数值尺度上发现漏洞。在这个演示文稿中,我们检查系统测试(SUTs)在功能的粒度级别,并假设实现更高的功能覆盖率(在程序中的功能执行至少一次)比,符号执行和模糊可能是发现更多的漏洞比这两个必要条件。我们将从KLEE的目标搜索策略的设计开始,声纳搜索,优先考虑通往目标功能的路径,而不是最大化程序中的整体路径覆盖。然后,我们将展示在函数级别(组合分析)检查SUT会发现比从单个入口点执行符号更多的漏洞。利用这一发现,我们将,然后,演示一个灰盒模糊方法,可以实现更高的功能覆盖率比符号执行。最后,我们将提出一个框架,以有效地管理漏洞和评估其严重性。
2018-03-13 cs.SE
Beyond Imprecise Distance Metrics: Trace-Guided Directed Greybox Fuzzing via LLM-Predicted Call Stacks
Peking University(北京大学)
通过LLM预测调用栈引导的定向灰盒模糊测试,提升漏洞触发效率并发现新漏洞。
2026-01-31 cs.CR cs.PL cs.SE
ChainFuzzer: Greybox Fuzzing for Workflow-Level Multi-Tool Vulnerabilities in LLM Agents
Sun Yat-sen University(中山大学)
本文提出ChainFuzzer,通过可审计证据发现和复现多工具漏洞,利用TPS合成稳定提示并结合防护机制提升漏洞触发率,验证了20个流行开源LLM代理应用中的365个可复现漏洞。
2026-03-13 cs.CR cs.SE
StateAFL: Greybox Fuzzing for Stateful Network Servers
模糊网络服务器是一项技术挑战,因为目标服务器的行为取决于其在多个消息序列中的状态。现有的解决方案成本高昂且难以使用,因为它们依赖于手动定制的工件,如协议模型、协议解析器和学习框架。这项工作的目的是开发一个灰盒模糊器(StateaAFL)的网络服务器,只依赖于轻量级的分析的目标程序,没有手动定制,以类似的方式实现无状态程序的AFL模糊。建议模糊仪器的目标服务器在编译时,插入探针的内存分配和网络I/O操作。在运行时,它通过获取长期内存区域的快照,并通过应用模糊哈希算法(局部敏感哈希)将内存内容映射到唯一的状态标识符,来推断目标服务器的当前协议状态。模糊器逐步建立一个协议状态机,用于指导模糊。我们实现并发布了StateaAFL作为开源软件。作为可重复实验的基础,我们将StateaAFL与一系列流行协议的网络服务器集成在一起,无需手动定制以适应协议。实验结果表明,模糊器可以适用于一个大的网络服务器上流行的协议,没有手动定制,它可以实现可比的,甚至更好的代码覆盖率和错误检测比定制的模糊。此外,我们的定性分析表明,从内存推断的状态更好地反映服务器的行为,而不是只使用响应代码的消息。
2022-10-04 cs.CR cs.OS cs.SE
On Interaction Effects in Greybox Fuzzing
University of Zurich(苏黎世大学);Max Planck Institute for Security and Privacy(马克斯·普朗克安全与隐私研究所)
本文研究灰色盒模糊测试中突变器顺序对测试效果的影响,提出MuoFuzz通过学习突变器序列提升覆盖率和缺陷发现能力。
2025-10-22 cs.SE
Stateful Greybox Fuzzing
针对协议实现中需特定状态才能触发的缺陷,本文提出自动识别 enum 具名常量状态变量并跟踪状态序列的有状态灰盒模糊测试方法,显著提升状态覆盖、代码覆盖和漏洞发现效率。
2022-05-16 cs.CR cs.SE
QFuzz: Quantitative Fuzzing for Side Channels
侧信道对软件系统的机密性构成了重大威胁。此类漏洞的检测和评估具有挑战性,因为它们来自软件的非功能属性,例如执行时间,并且需要对多个执行跟踪进行推理。最近,无干扰的概念已被采用在静态分析,符号执行,和灰盒模糊技术。然而,不干涉是一个严格的概念,即使信息泄漏的强度很弱,也可能拒绝安全性。安全性的定量概念允许放松不干涉,并容忍小的(不可避免的)泄漏。尽管近年来取得了进展,但现有的定量方法在实践中具有可扩展性限制。在这项工作中,我们提出了QFuzz,灰盒模糊技术定量评估的强度侧通道的最小熵为重点。最小熵是一种基于可区分的观察(分区)数量的度量,用于评估来自试图一次尝试就泄露秘密的攻击者的威胁。我们开发了一种新的灰盒模糊配备了两个分区算法,试图最大限度地提高可区分的意见和它们之间的成本差异。我们评估QFuzz的一个大的基准集从现有的工作和现实世界的图书馆(共70个科目)。QFuzz与三种最先进的检测技术相比毫不逊色。QFuzz提供了超出所有三种技术能力的关于泄漏的定量信息。至关重要的是,我们比较QFuzz的一个国家的最先进的量化工具,并发现QFuzz显着优于工具的可扩展性,同时保持类似的精度。总的来说,我们发现我们的方法可以很好地扩展到现实世界的应用程序,并提供有用的信息来评估由此产生的威胁。此外,QFuzz还识别了一个零D...
2021-07-08 cs.CR cs.SE
Legion: Best-First Concolic Testing
The University of Melbourne(墨尔本大学);LMU Munich(慕尼黑大学)
Concolic执行和模糊是两种互补的基于覆盖率的测试技术。如何实现两者的最佳效果仍然是一个公开的挑战。为了解决这个研究问题,我们提出并评估军团。Legion重新设计了人工智能文献中的蒙特卡罗树搜索(MCTS)框架,将自动测试生成视为不确定性下的顺序决策问题。它的最佳优先搜索策略提供了一种原则性的方法来学习最有希望的程序状态,以在每次搜索迭代时进行调查,基于从先前迭代中观察到的奖励。军团采用了一种形式的定向模糊,我们称之为近似路径保持模糊(APPFuzzing)调查程序状态选择的MCTS。APPFuzzing作为蒙特卡洛模拟技术,并通过扩展约束采样的先前工作来实现。我们在Test-Comp 2020覆盖类别的2531个基准上评估了Legion与竞争对手的对比,并测量了其对超参数的敏感性,证明了其在各种输入程序上的有效性。
2020-09-23 cs.LG cs.SE
Failure-Guided Fuzzing for Hybrid Quantum-Classical Programs
University of Maryland, Baltimore County(马里兰大学巴尔的摩县分校)
本文研究了混合量子-经典程序的基于失败的模糊测试,通过两阶段策略发现非收敛种子并局部模糊量子电路参数,实验表明利用失败信息能提升测试效果,但协同种子发现的效果依赖于工作负载。
2026-05-14 cs.SE quant-ph
Exposing Go's Hidden Bugs: A Novel Concolic Framework
Telecom Paris(巴黎电信学院);Ledger Donjon
本文提出Zorya框架,结合具体和符号执行技术全面评估Go程序,通过系统探索执行路径发现传统测试无法检测的漏洞,并利用Ghidra的P-Code中间表示进行分析。
2025-05-26 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
DeepGo: Predictive Directed Greybox Fuzzing
College of Computer, National University of Defense Technology(计算机学院,国防科技大学)
针对现有定向灰盒模糊测试依赖启发式算法、对未执行路径缺乏预见导致效率低的问题,提出DeepGo工具,结合路径转移模型、VEE预测与RLF模型及动作组概念,通过最优路径高效抵达目标位点。
2025-07-29 cs.LG cs.SE
Rare-Seed Generation for Fuzzing
从一个随机的初始种子开始,模糊器搜索触发错误或漏洞的输入。然而,模糊器往往无法生成输入的程序路径保护的限制性分支条件。在本文中,我们表明,通过首先识别程序中的稀有路径(即,具有不可能被随机输入生成满足的路径约束的程序路径),然后生成触发稀有路径的输入/种子,可以提高模糊工具的覆盖率。特别是,我们提出的技术1)使用定量符号分析来识别稀有路径,以及2)生成可以使用路径引导的concolic执行来探索这些稀有路径的输入。我们将这些输入作为初始种子集提供给三个最先进的模糊器。我们的一组程序(包含很多限制性分支条件)的实验评估表明,模糊实现更好的覆盖率与稀有路径为基础的种子集相比,随机初始种子。
2022-12-18 cs.CR cs.SE
Greybox Fuzzing of Distributed Systems
本文提出首个分布式系统灰盒模糊测试框架 Mallory,通过 Lamport 时间线抽象和 Q-learning 自适应注入故障,相比 Jepsen 探索更多行为并更快发现缺陷,在 Braft、Dqlite 和 Redis 等系统中发现 22 个零日缺陷。
2023-08-12 cs.SE
InsightQL: Advancing Human-Assisted Fuzzing with a Unified Code Database and Parameterized Query Interface
针对模糊测试易因阻塞点陷入覆盖率瓶颈、人工分析成本高的问题,提出带统一数据库和参数化查询界面的人类辅助框架InsightQL,在FuzzBench基准测试中显著提升代码覆盖率。
2025-10-06 cs.SE
ct-fuzz: Fuzzing for Timing Leaks
基于测试的方法,如模糊能够分析复杂的软件,这是不服从传统的形式化方法,如验证,模型检验,抽象解释。尽管在许多流行的软件项目中暴露了无数的安全漏洞,但基于测试的方法的应用主要针对检查传统的安全属性,如内存安全。虽然这类属性无疑很重要,但它并不能精确地表征其他重要的安全方面,如信息泄漏,例如,通过侧通道。在这项工作中,我们扩展了基于测试的软件分析方法的两个安全属性,这使得复杂的软件中的信息泄漏的精确发现。特别是,我们提出了ct-fuzzz工具,它使覆盖率指导灰盒模糊检测两个安全属性违规的能力。我们的方法是能够暴露违反任何两个安全属性表示为两个程序的痕迹之间的平等。从经验上讲,我们证明了ct-fuzz迅速揭示流行的加密实现中的时间泄漏。
2019-04-15 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
NeuroSCA: Neuro-Symbolic Constraint Abstraction for Smart Contract Hybrid Fuzzing
The University of Tokyo(东京大学)
NeuroSCA通过神经符号约束抽象技术,提升智能合约混合模糊测试的效率和效果。
2026-03-01 cs.SE
AFLNet Five Years Later: On Coverage-Guided Protocol Fuzzing
本文回顾了首个代码与状态覆盖率引导的协议模糊测试器AFLNet五年来的技术贡献、实证评估及其对协议模糊测试研究与实践的深远影响。
2025-04-29 cs.SE
Program Environment Fuzzing
本文提出一种基于灰盒模糊测试扩展的程序环境模糊测试方法,通过记录系统调用并选择性变异来搜索导致崩溃的环境,无需人工环境建模,其 EnvFuzz 工具在真实软件中发现 33 个未知缺陷(含 16 个 CVE)。
2024-09-02 cs.SE
Fuzzwise: Intelligent Initial Corpus Generation for Fuzzing
University of Texas at Dallas(德克萨斯大学达拉斯分校)
FuzzWise通过基于LLM的多代理框架,高效生成初始语料,提升模糊测试的代码覆盖和错误触发效率。
2025-12-24 cs.LG cs.SE
HDR-Fuzz: Detecting Buffer Overruns using AddressSanitizer Instrumentation and Fuzzing
缓冲区溢出是软件库和应用程序中普遍存在的漏洞。模糊测试是检测漏洞的有效技术之一。灰盒模糊器,如AFL自动生成一个序列的测试输入一个给定的程序使用健身指导搜索过程。文献中最近提出的方法引入了一种称为“净空”的缓冲区溢出特定适应性度量,该度量跟踪每个生成的测试输入与暴露漏洞的接近程度。这种方法显示了良好的初始承诺,但由于其依赖于保守的点到分析,因此有些不精确和昂贵。受上述方法的启发,在本文中,我们提出了一种新的自上而下的方法来检测缓冲区溢出漏洞。这种方法使用与模糊器并行运行的ASAN(地址消毒器)的扩展版本,并向模糊器报告恰好更接近暴露缓冲区溢出漏洞的测试输入。ASAN风格的插装是精确的,因为它不依赖于指向分析。在本文中,我们描述了我们的方法,以及实施和评估的方法。
2021-04-21 cs.SE cs.SY eess.SY
PerfGen: Automated Performance Benchmark Generation for Big Data Analytics
针对大数据分析性能症状难以由输入触发的问题,本文提出 PerfGen,通过性能监控引导、分阶段模糊测试、LLM 伪逆转换和倾斜变异自动生成性能基准,最高显著减少迭代并实现至少11倍加速。
2024-12-06 cs.SE
Scalable Test Generation to Trigger Rare Targets in High-Level Synthesizable IPs for Cloud FPGAs
本文提出一种针对云FPGA中HLS设计IP的测试方法,结合灰盒模糊测试与符号执行技术,有效检测隐藏在罕见条件下的硬件木马,显著提升了覆盖率与效率。
2024-05-30 cs.CR cs.SE
Evaluating LLM-Based Regression Test Generation
MPI-SP(Max Planck Institute for Software Process Engineering);University of California at Los Angeles(加州大学洛杉矶分校);University of Padua(帕多瓦大学)
研究利用大语言模型为特定程序即时生成回归测试,将其作为机器翻译任务,通过对多个项目测试,反馈导向的零样本原型Cleverest表现良好,还探讨了提交消息对其效果的影响。
2026-07-07 cs.AI cs.SE
Agentic Planning for Symbolic Execution
Carnegie Mellon University(卡内基梅隆大学)
该研究提出智能体规划系统Agolic,利用早期符号执行运行的证据配置后续有界符号执行,在C/C++程序上平均覆盖3倍以上分支,覆盖更多分支及对比语料库未覆盖的分支,扩展了符号执行的实际覆盖范围。
2026-08-10 cs.AI cs.PL cs.SE