作为近年来最成功、最有效的软件测试技术之一,模糊测试已经发现了现代软件(包括网络协议软件)中的大量错误和漏洞。与其他模糊目标相比,网络协议软件表现出其独特的特征和挑战,引入了在网络协议模糊器的设计和实现中需要解决的大量研究问题。虽然一些研究工作对通用模糊技术的知识进行了高水平的评估和系统化,但针对特定于网络协议的模糊研究缺乏类似的分析和总结。本文全面阐述了网络协议软件的模糊测试相关功能,并对网络协议模糊测试自诞生以来的一些代表性进展进行了系统回顾。我们总结了各个方面最先进的策略和解决方案,提出了统一的协议模糊过程模型,并介绍了模型每个阶段涉及的技术。同时,本文还总结了协议模糊测试领域有前景的研究方向,以促进社区内对更高效、更智能的现代网络协议模糊测试技术的探索 ...

0 0 0 0 2025/12/09 arXiv:2402.17394v1 abc123897035432

测试网络协议实现对于确保分布式系统的可靠性、安全性和互操作性至关重要。协议行为中的错误可能会导致漏洞和系统故障,尤其是在实时和关键任务应用程序中。协议测试的常见方法包括构建捕获协议的状态转换和预期行为的马尔可夫模型。然而,构建此类模型通常需要大量的领域专业知识和手动工作,使得该过程非常耗时并且难以跨不同协议和实现进行扩展。我们提出了一种利用大型语言模型(LLM)自动生成用于测试网络协议实现的序列的新颖方法。我们的方法首先定义全套可能的协议状态, LLM 从中选择一个子集来对目标实现进行建模。使用这种基于状态的模型,我们提示 LLM 生成产生状态序列的代码。该程序用作特定于协议的序列生成器。然后,序列生成器生成测试输入以在各种条件下调用协议实现。我们在三种广泛使用的网络协议实现上评估了我们的方法,并成功识别了 12 个以前未知的漏洞。我们已将这些情况报告给各自的开发商以供确认。这证明了我们的 LLM 辅助模糊测试框架在发现现实世界安全问题方面的实际有效性 ...

0 0 0 0 2025/12/06 arXiv:2508.01750v1 abc123897035432

传统的协议模糊测试技术,例如基于 AFL 的系统所采用的技术,由于对复杂协议语法的语义理解有限和严格的种子突变策略,通常缺乏有效性。 ChatAFL 等最近的工作集成了大型语言模型 (LLM) 来指导协议模糊测试并解决这些限制,从而推动协议模糊测试器对协议状态空间进行更广泛的探索。但 ChatAFL 仍然面临着输出不可靠、LLM 幻觉以及 LLM 对协议规范知识的假设等问题。本文介绍了 MultiFuzz,这是一种新颖的基于密集检索的多智能体系统,旨在通过集成语义感知上下文检索、专用智能体和结构化工具辅助推理来克服这些限制。 MultiFuzz 利用协议文档(RFC 文档)的代理块在矢量数据库中构建嵌入,用于检索增强生成(RAG)管道,使代理能够生成更可靠和结构化的输出,通过增强的状态覆盖和遵守句法约束来增强模糊器改变协议消息的能力。该框架将模糊测试过程分解为模块化的代理组,这些代理组通过思想链推理进行协作,以根据检索到的上下文知识动态调整模糊测试策略。对实时流协议 (RTSP) 的实验评估表明,与 NSFuzz、AFLNet 和 ChatAFL 等最先进 (SOTA) 模糊器相比,MultiFuzz 显着提高了分支覆盖率,并探索了更深层次的协议状态和转换。通过结合密集检索、代理协调和语言模型推理,MultiFuzz 建立了自主协议模糊测试的新范式,为未来基于智能代理的模糊测试系统的研究提供了可扩展和可扩展的基础 ...

0 0 0 0 2025/12/06 arXiv:2508.14300v1 abc123897035432

模糊测试在发现各种软件系统中的错误和漏洞方面取得了巨大的成功。以编程或形式语言作为输入的被测系统 (SUT),例如编译器、运行时引擎、约束求解器和具有可访问 API 的软件库,尤其重要,因为它们是软件开发的基本构建块。然而,此类系统的现有模糊器通常针对特定语言,因此不能轻松应用于其他语言,甚至同一语言的其他版本。此外,现有模糊器生成的输入通常仅限于输入语言的特定功能,因此很难揭示与其他或新功能相关的错误。本文介绍了 Fuzz4All,这是第一个通用的模糊器,因为它可以针对许多不同的输入语言以及这些语言的许多不同特征。 Fuzz4All 背后的关键思想是利用大型语言模型 (LLM) 作为输入生成和变异引擎,这使得该方法能够为任何实际相关的语言生成多样化且真实的输入。为了实现这一潜力,我们提出了一种新颖的自动提示技术,该技术创建非常适合模糊测试的 LLM 提示,以及一种新颖的 LLM 支持的模糊循环,它迭代更新提示以创建新的模糊输入。我们在九个接受测试的系统上评估 Fuzz4All,这些系统采用六种不同的语言(C、C++、Go、SMT2、Java 和 Python)作为输入。评估表明,在所有六种语言中,通用模糊测试比现有的特定语言模糊测试实现了更高的覆盖范围。此外,Fuzz4All 在 GCC、Clang、Z3、CVC5、OpenJDK 和 Qiskit 量子计算平台等广泛使用的系统中发现了 98 个错误,其中 64 个错误已被开发人员确认为以前未知的 ...

0 0 0 0 2025/12/04 arXiv:2308.04748v3 abc123897035432

在软件发挥着举足轻重作用的现代时代,软件安全和漏洞分析对于安全软件开发至关重要。模糊测试作为一种高效、传统的软件测试方法,已被广泛应用于各个领域。同时,大型语言模型(LLM)的快速发展促进了其在软件测试领域的应用,并展现出卓越的性能。由于现有的模糊测试技术并未完全自动化,并且软件漏洞不断发展,人们越来越有兴趣利用大型语言模型来生成模糊测试。在本文中,我们系统地概述了利用大型语言模型进行模糊测试的进展。据我们所知,这是第一个涵盖三个领域交叉的工作,包括 LLM 、模糊测试和基于 LLM 生成的模糊测试。通过总结最新提交的最新方法,对文献进行统计分析和讨论。我们的工作还调查了 LLM 生成的模糊测试技术在未来广泛部署和应用的潜力,强调了它们对推进自动化软件测试实践的承诺 ...

0 0 0 0 2025/11/30 arXiv:2402.00350v3 abc123897035432

通信协议构成了我们互联世界的基石,但其实施中的漏洞构成了重大的安全威胁。最近的发展见证了基于模糊测试的研究激增,致力于发现协议实现中的这些漏洞。然而,仍然缺乏对协议模糊化的系统概述来回答诸如独特的挑战是什么、现有的工作如何解决这些问题等基本问题。为了弥补这一差距,我们对学术界和工业界的相关工作进行了全面的调查。我们的研究包括对协议模糊测试中具体挑战的详细总结,并对现有研究工作进行系统分类和概述。此外,我们探索并讨论了协议模糊测试未来潜在的研究方向。这项调查可作为该领域的研究人员和从业者的基本指南 ...

0 0 1 1 2025/11/29 arXiv:2401.01568v3 abc123897035432

物联网 (IoT) 设备通过 Web 界面、Web VPN 和其他基于 Web 的服务提供便利,所有这些都依赖于 HTTP 协议。然而,这些外部公开的 HTTP 服务存在重大的安全风险。尽管模糊测试在识别 IoT HTTP 服务中的漏洞方面显示出一定的有效性,但大多数最先进的工具仍然依赖于随机突变策略,导致难以准确理解 HTTP 协议的结构并生成许多无效的测试用例。此外,这些模糊器依赖一组有限的初始种子进行测试。虽然这种方法启动了测试,但种子的数量和多样性有限,阻碍了物联网 HTTP 服务中复杂场景的全面覆盖。在本文中,我们调查并发现大型语言模型 (LLM) 在解析 HTTP 协议数据和分析代码逻辑方面表现出色。基于这些发现,我们提出了一种新颖的LLM引导的物联网HTTP模糊测试方法ChatHTTPFuzz,它自动解析协议字段并分析服务代码逻辑以生成符合协议的测试用例。具体来说,我们使用 LLM 来标记 HTTP 协议数据中的字段,创建种子模板。其次,LLM分析服务代码以指导生成与代码逻辑一致的附加数据包,丰富种子模板及其字段值。最后,我们设计了一种基于探索平衡因子和变异潜力因子的增强汤普森采样算法来调度种子模板。我们在 14 种不同的现实世界物联网设备上评估 ChatHTTPFuzz。它比 SNIPUZZ、BOOFUZZ 和 MUTINY 发现更多的漏洞。 ChatHTTPFuzz 已发现 103 个漏洞,其中 68 个是独特的,23 个已分配 CVE ...

0 0 0 0 2025/11/29 arXiv:2411.11929v1 abc123897035432

检测深度学习 (DL) 库(例如 TensorFlow/PyTorch)中的错误对于几乎所有下游 DL 系统来说对于确保最终用户的有效性/安全性至关重要。同时,传统的模糊测试技术对于这样一个具有挑战性的领域几乎无效,因为输入深度学习程序需要满足输入语言(例如Python)语法/语义和张量计算的深度学习API输入/形状约束。为了解决这些限制,我们提出了 TitanFuzz - 第一种直接利用大型语言模型 (LLM) 为模糊 DL 库生成输入程序的方法。 LLM 是经过数十亿代码片段训练的巨型模型,可以自动回归生成类似人类的代码片段。我们的主要见解是,现代 LLM 还可以在其训练语料库中包含大量调用 DL 库 API 的代码片段,因此可以隐式学习语言语法/语义和复杂的 DL API 约束,以生成有效的 DL 程序。更具体地说,我们使用生成式和填充式 LLM(例如 Codex/InCoder)来生成和变异有效/多样化的输入 DL 程序以进行模糊测试。我们的实验结果表明,与 TensorFlow/PyTorch 上最先进的模糊器相比,TitanFuzz 的代码覆盖率可以提高 30.38%/50.84%。此外,TitanFuzz 能够检测到 65 个错误,其中 41 个已被确认为以前未知的错误。本文证明,现代 LLM 可以直接执行数十年来研究的基于生成和基于突变的模糊测试,同时完全自动化、可推广,并且适用于对传统方法(例如深度学习系统)具有挑战性的领域。我们希望 TitanFuzz 能够在 LLM 模糊测试这个有前景的方向上激发更多的工作 ...

0 0 0 0 2025/11/29 arXiv:2212.14834v4 abc123897035432

网络协议测试是现代网络基础设施的基础。然而,传统的网络协议测试方法是劳动密集型的且容易出错,需要手动解释规范、测试用例设计以及转换为可执行工件,通常每个测试用例需要一个人一天的工作量。现有的基于模型的方法提供了部分自动化,但仍然涉及大量的手动建模和专家干预,导致成本高昂,并且对多样化和不断发展的协议的适应性有限。在本文中,我们提出了一种名为 NeTestLLM 的首创系统,该系统利用多代理大型语言模型 (LLM) 进行端到端自动化网络协议测试。 NeTestLLM 采用分层协议理解来捕获复杂的规范、迭代测试用例生成来提高覆盖率、用于生成可执行工件的特定于任务的工作流程以及用于调试和细化的运行时反馈分析。 NeTestLLM 已在生产环境中部署了几个月,并收到了领域专家的积极反馈。在实验中,NeTestLLM 为 OSPF、RIP 和 BGP 生成了 4,632 个测试用例,涵盖了 41 个历史 FRRouting 错误,而当前国家标准为 11 个。与手动方法相比,生成可执行工件的过程还将测试效率提高了 8.65 倍。 NeTestLLM 提供了第一个实用的 LLM 支持的解决方案,用于异构网络协议的自动化端到端测试 ...

0 0 1 1 2025/11/28 arXiv:2510.13248v1 abc123897035432

协议实现是有状态的,这使得它们难以测试:发送相同的测试输入消息两次可能每次都会产生不同的响应。我们的建议是将消息序列视为覆盖定向灰盒模糊测试的种子,将每条消息与相应的协议状态相关联,并最大化状态空间和代码的覆盖范围,该提议于 2020 年在一篇简短的工具演示论文中首次发布。 AFLNet 是第一个代码和状态覆盖引导的协议模糊器;它使用响应代码作为当前协议状态的指示器。在过去的五年里,该工具论文已经获得了数百次引用,代码存储库被分叉了近 200 次,并收到了来自从业者和研究人员的 30 多个拉取请求,我们最初的提案在许多重要方面得到了改进。在本文中,我们首先对 AFLNet 的技术贡献进行了扩展讨论和全面的实证评估,然后反思了我们的方法和工具在过去五年中对协议模糊测试的研究和实践的影响 ...

0 0 0 0 2025/11/27 arXiv:2412.20324v3 abc123897035432