论文

FuzzAgent:用于进化库模糊测试的多代理系统

FuzzAgent: Multi-Agent System for Evolutionary Library Fuzzing

智能体系统Agent 协作

摘要

库模糊测试对于强化软件供应链至关重要,但大规模采用它仍然昂贵。从业者仍然在环境设置上花费了大量精力,难以生成遵守复杂 API 约束的工具,并且缺乏可靠的方法来区分真正的库错误和工具引起的崩溃。最近基于 LLM 的系统自动化了该管道的一部分,但它们通常作为一次性代码生成器运行,忽略运行时反馈,这限制了它们达到的代码深度和它们报告的错误的有效性。我们认为,有效的库模糊测试本质上是迭代的:每个活动都会暴露新的覆盖瓶颈和崩溃,下一个活动应该从这些信号中发展,而不是从头开始。基于这一见解,我们提出了 FuzzAgent,这是一个多代理系统,它将库模糊测试转变为一个进化过程,其中专业代理团队在整个模糊测试生命周期中进行协作,并将每个决策基于具体的运行时证据,以便安全套件不断完善,以实现更深入的覆盖范围和更高保真度的跨轮崩溃分析。我们根据四个最先进的基线(OSS-Fuzz、OSS-Fuzz-Gen、PromptFuzz 和 PromeFuzz)在 20 个现实世界的 C/C++ 库上评估 FuzzAgent。 FuzzAgent 在没有人工干预的情况下完成了所有 20 个库的完整模糊生命周期,达到 179619 个分支,分别超过 OSS-Fuzz、PromptFuzz、PromeFuzz 和 OSS-Fuzz-Gen 45.1%、73.2%、92.1% 和 191.2%。 FuzzAgent 还识别出 102 个真正的库错误,其中 78 个已被上游维护者确认并修复。