本文针对C/C++软件中模糊测试(fuzz testing)的关键瓶颈——fuzz harness(连接模糊器和库API的程序)的正确性问题,提出了一种自动化生成高质量harness的系统QuartetFuzz。现有的自动化harness生成工具无法系统性地确保harness的正确性,导致逻辑错误、API误用和生命周期违规等问题在源代码层面被忽视。随着基于大语言模型(LLM)的生成技术使harness创建规模化,缺乏质量控制反而使规模成为负担。QuartetFuzz的核心是四个原则框架:逻辑正确性(P1)、API协议合规(P2)、安全边界尊重(P3)和入口点充分性(P4),这是首个在源代码层面定义harness正确性的框架,包含数学规范与可实现的检查。该系统将这四个原则操作化为一个自主LLM智能体,通过“生成-检查-修复”循环,在模糊测试开始前确保生成的harness满足P1-P4。在涵盖C/C++、Java和JavaScript的23个开源项目上部署后,系统提交了42个漏洞报告,其中29个已被上游修复或确认(包括3个CVE),仅有2个被拒绝(误报率4.8%)。在生成过程中,内置的P1/P2检查自动拦截了58个由harness引起的崩溃,否则这些崩溃将成为误报。当作为质量审核工具应用于70个项目的586个现有生产环境harness时,系统识别出53个违规(45个已确认,35个已修复)。此外,作者发布了包含100个标注harness的数据集以供可复现评估。该工作对于提升模糊测试的有效性、减少误报、以及自动化安全测试基础设施有重要意义。
💡 推荐理由: 该研究首次从源代码层面定义并实现了fuzz harness的正确性框架,解决了LLM生成harness时质量失控的问题,显著降低了模糊测试中的误报率,并已产出实际漏洞修复(含3个CVE),对安全测试工程师和自动化工具开发者具有直接参考价值。
🎯 建议动作: 研究跟进