G²FUZZ:LLM 合成输入生成器的非文本输入模糊测试

2026.07.28

G²FUZZ:LLM 合成输入生成器的非文本输入模糊测试

1. 任务简介

本次汇报解读 USENIX 2025 论文《Low-Cost and Comprehensive Non-textual Input Fuzzing with LLM-Synthesized Input Generators》。工作面向图像、音频、视频和 PDF 等结构复杂的非文本输入,探索如何让 LLM 自动编写输入生成器,并与 AFL++ 的覆盖率引导测试结合。

2. 研究动机

非文本格式包含丰富语法与语义约束。通用字节级模糊器难以生成能通过解析阶段的有效样本,因而难以触达深层逻辑;结构感知方法则依赖专家手工编写格式模板,面对 TIFF、MP4 等复杂格式时成本高、覆盖不足。直接让 LLM 生成二进制文件又会面临成本、多样性和持续变异能力的限制。

3. 方法设计

G²FUZZ 将 LLM 驱动的生成器合成与 AFL++ 的反馈循环结合。框架先分析目标格式的可组合特征,再为各类特征生成相应的 Python 输入生成器,用其构造语法有效的初始种子。当测试探索停滞时,系统根据覆盖反馈调用 LLM 迭代修改生成器,以产生包含更多复杂特征的新样本。

4. 实施细节

生成器合成阶段通过提示词提取目标格式的特征,并要求 LLM 按结构化方式描述或实现这些特征。生成器运行后将产物加入模糊测试队列;AFL++ 负责覆盖率引导的变异和执行。对于支持多种格式的目标程序,框架可分别构造输入生成器。生成器迭代机制避免只在原始种子上进行盲目字节扰动。

5. 实验与结论

报告表明,LLM 合成生成器能够降低复杂格式模糊测试对人工模板的依赖,并提高生成样本的有效性与特征覆盖。G²FUZZ 的关键在于将 LLM 的格式理解能力用于生成器构造,再由传统模糊器承担高频执行和反馈搜索。其局限包括 LLM 生成代码的正确性、格式特征覆盖的完整性以及迭代调用带来的成本和安全控制问题。

本次组会演示文稿下载