文章总结: PBFuzz是一种创新的智能体引导定向模糊测试框架,用于自动生成漏洞验证输入。它结合大语言模型(LLM)和属性测试,通过四阶段工作流(规划、实现、执行、反思)来推理和解决可达性约束与触发性约束。在Magma基准测试中,PBFuzz在30分钟内触发了57个CVE漏洞,远超传统方法。其优势在于能够处理复杂约束场景,生成高质量输入,并通过属性测试保持输入结构完整性。然而,它也存在一些局限,如对LLM推理能力的依赖和在处理某些边缘场景时的不足。
综合评分: 92
文章分类: 漏洞分析,模糊测试,AI安全,安全工具,漏洞POC
【论文速读】| PBFuzz:面向漏洞利用证明生成的智能体引导定向模糊测试
原创
知识分享者
安全极客
2025年12月9日 17:35
北京
基本信息
原文标题:PBFuzz: Agentic Directed Fuzzing for PoV Generation
原文作者:Haochen Zeng, Andrew Bao, Jiajun Cheng, Chengyu Song
作者单位:加州大学河滨分校(University of California, Riverside),明尼苏达大学双城分校(University of Minnesota, Twin Cities)
关键词:漏洞验证输入生成,定向模糊测试,智能体推理,属性测试,软件安全,LLM辅助
原文链接:https://arxiv.org/pdf/2512.04611
开源代码:暂无
论文要点
论文简介:本文关注于软件安全领域中的关键任务——漏洞验证输入(Proof-of-Vulnerability, PoV)生成。针对传统定向灰盒模糊测试(Directed Greybox Fuzzing, DGF)和基于大语言模型(LLM)的辅助模糊方法在高效、精准生成有效PoV输入上的局限,作者提出了一种Agentic(智能体式)定向模糊测试新范式——PBFuzz。
PBFuzz模拟人类分析者的策略,由LLM作为自主智能体,迭代执行代码理解、语义约束推导、生成器设计、输入生成、执行反馈采集及假说修正等关键步骤。论文详细描述了PBFuzz的四阶段工作流、架构设计,以及多种控件与记忆管理机制。在Magma基准集上的实验显示,在30分钟预算下,PBFuzz能够触发57处实际CVE漏洞,超越所有主流基线方法,且以极高效率和独特性发现了多类别漏洞,充分展示了新方法在自动化和智能化PoV生成上的突出潜力。
研究目的:本文旨在针对当前软件安全自动化领域中的核心挑战——如何高效且自动地生成能够触发特定漏洞的输入,即PoV生成,提出突破性解决思路。现有DGF和基于LLM的fuzzing存在难以精准解析、有效解决“可达性约束”与“触发性约束”的痛点,导致在复杂漏洞场景下效果有限。
作者期望通过智能体式的架构,让LLM不是仅作为辅助,而是作为主动推理和决策主体,将人类专家“迭代分析——约束假设——实验验证——反馈修正”的流程自动化,从而实现“一站式”自动PoV生成,打破传统方法在约束表达、输入构造、推理反馈等方面的局限,并显著提升效率、成功率与发现新型漏洞的能力。
研究贡献:
- 本文提出一种高效可行的漏洞验证输入(PoV)生成新方法:该方法首先通过代码分析提取语义层面的可达性与触发约束条件,再利用属性基测试在输入空间层面求解这些约束条件。
- 本文提出实现并自动化该方法的智能体框架 —— 其智能体 PBFuzz 采用定制化四阶段工作流程,具备自主代码推理、按需工具编排、持久化记忆管理、细粒度执行反馈及属性基测试生成等核心特性。
- 研究者在 Magma 基准测试集上对该方法进行了实验验证,结果表明 PBFuzz 性能超越所有基准方法,包括传统模糊测试工具、大语言模型辅助模糊测试工具及现成的编码智能体。
引言
软件漏洞验证输入(Proof-of-Vulnerability, PoV)生成是现代软件安全中的关键任务,它直接关联到漏洞确认、复现、分类、补丁验证及回归测试等多个核心环节。当前主流的定向灰盒模糊测试方法以特定代码位置(如CVEs)为目标,通过静态分析抽取程序低层级结构(如控制/数据流图、定义-使用图等)计算可达距离,结合运行时反馈对输入进行定向优化。然而,许多研究及本文实验表明,这类定向策略在实际PoV生成任务上并不理想,反而往往不如覆盖率导向的fuzzer。此外,尽管大语言模型(LLMs)近年来在代码理解、推理与输入生成等任务上表现出强大潜力,当被用于PoV自动生成时(例如基于LLM大模型的chatbot prompt),却局限于简单漏洞,对于复杂约束环境和依赖语义推理的场景往往无能为力。
论文深入剖析,PoV输入的生成实质上需要同时解决“可达性约束”(即如何确保执行流抵达漏洞点)和“触发性约束”(即如何满足漏洞被激活的条件)。而现有DGF与LLM辅助fuzzing均难以有效建模和高效求解这两类约束。具体而言,LLM在面对长上下文、多级逻辑依赖及多阶段反馈时,常表现为推理漂移,陷于错误假设不能纠正;而作为直接输入生成器,其效率和成本也远低于传统fuzzer。
为打破现有困境,本文提出借鉴人类漏洞分析专家的工作流——即迭代代码理解、提出假设、实验验证并基于结果修正推理——将其抽象为智能体式agentic PoV生成框架。不同于传统将LLM定位为工具式增强,PBFuzz让LLM作为决策智能体,主动调用分析工具、管理推理记忆、实时采集反馈,并用属性测试方法作输入的高效系统化搜索。论文围绕该理念设计了PBFuzz的完整架构、四阶段流程及配套MCP工具,为自动化、高质量PoV生成提供了一种理论与实践上的新路径。
研究背景
传统模糊测试(fuzzing)广泛用于自动发现软件缺陷,其代表性技术为覆盖率导向的灰盒模糊(Coverage-guided Greybox Fuzzing, CGF),依靠输入变异与轻量级插桩采集的覆盖反馈来进化输入族,对未探索路径不断尝试。AFL、libFuzzer等工具在实际漏洞发现中取得了诸多成功。然而,CGF缺乏专门针对高风险目标(如新补丁代码或敏感操作区域)的优先探索能力,容易将资源浪费在无关代码,导致在定向场景下效率低下。
为此,定向灰盒fuzzing(Directed Greybox Fuzzing, DGF)兴起,并以AFLGo、SelectFuzz等为代表。DGF通过静/动态分析,计算目标点(如漏洞点)与当前路径的距离指导输入调度和变异概率,理论上应实现快速“逼近”特定脆弱代码。但实际研究显示,距离度量对多维约束/复杂依赖场景下的指导有限,甚至不如覆盖率fuzzer表现。例如在Magma基准环境下,AFLGo触发CVE数量远低于AFL++。
近年来,伴随大模型热潮,LLM辅助模糊尝试涌现。相关方案试图利用LLM的语义理解能力提升格式感知输入生成、突破覆盖瓶颈、实现语义级变异甚至漏洞定向输入构造等。然而,单轮prompt难以应对长依赖链与复合约束,模型推理漂移及生成效率瓶颈也限制了实用性。
属性测试(Property-based Testing, PBT)则天然提供了另一种视角——不再枚举具体测试用例,而是定义通用属性、约束的生成器,由自动工具在参数化空间内覆盖更多有效组合。现代属性测试框架如Hypothesis等,通过参数域声明和断言验证,系统性地发现边界、极端组合下的缺陷。本文创新性地发现,PoV输入生成可被视作一种“反例发现”任务:输入需既满足可达路径,又能在目标点违背某一安全属性,因此,属性测试的生成器表达与系统搜索能力,可理想地弥补了集中于语法或浅结构的fuzzing的不足。
在这些背景基础上,PBFuzz提出以LLM为推理智能体,自动推导抽象约束,再用属性测试生成器表达并高效遍历输入参数空间。这种架构打通了从高层语义推理到底层输入生成的全链路,实现了智能属性约束驱动的高效定向模糊。
研究设计
与定向模糊测试工具类似,PBFuzz 的目标是生成漏洞验证输入(proof-of-violation, PoV),以确认被测程序(program under test, PUT)中目标漏洞的存在。本文设定以下两项前提条件:
- 本地漏洞触发条件:假设已通过人工或自动化分析(基于补丁或静态检查工具)识别出可能被违反的安全属性。
- 可达性与触发信号:假设被测程序已(通过人工或自动化方式)植入日志语句,用于指示执行过程中是否抵达漏洞位置以及是否满足触发条件。
本文的核心评估数据集 Magma 基准测试集已满足上述两项前提条件。尽管研究者认为大语言模型智能体可解决这些前提条件相关问题,但这与本文的核心贡献无关,因此将其留作未来研究方向。
PBFuzz 采用四层架构实现智能体属性基定向模糊测试,如图 2 所示。从宏观层面看,工作流层定义了一个包含四个阶段的状态机:PLAN(规划)阶段与 REFLECT(反思)阶段负责推理和优化触发漏洞所需的语义约束;IMPLEMENT(实现)阶段与 EXECUTE(执行)阶段负责将约束编码为输入级参数空间,并实现高效约束求解。工作流层之下,LLM 智能体扮演 “大脑” 角色,承担语义推理核心任务:
(1)生成关于可达性约束与触发约束的假设;
(2)推断漏洞根本原因;
(3)设计合理的约束求解方案;
(4)合成属性基模糊测试求解器;
(5)利用运行时证据诊断失败原因并优化假设。
MCP 工具层提供无状态工具以辅助智能体推理,包括调用图分析、语料库分析、偏差检测,以及集成调试反馈收集功能的通用属性基模糊测试框架。内存层通过持久化 Markdown 文件维护动态演化的假设状态,保留跨迭代工作流阶段的长期项目上下文,可防止长时间推理任务中的记忆偏移,并避免重新探索此前已被否定的假设。
PBFuzz 的架构融合了工作流模式与智能体模式。纯工作流驱动的系统在应对不可预见的漏洞模式和约束发现时缺乏适应性;反之,无约束的智能体可能面临计算成本无界增长的风险,且易因模型幻觉产生连锁推理错误。研究者的混合架构将智能体的自主性约束在工作流定义的状态机及对应的状态不变量范围内,在实现长周期推理的同时保障过程可控。后续章节将详细阐述各工作流阶段及状态执行机制。
- 规划阶段
智能体分析目标代码及漏洞描述,自动提炼出触发约束(bug predicates)及可达性约束(preconditions),借助静态分析和调用图工具,辅以已验证路径案例,推导出简明但涵盖性的触发条件。进一步识别漏洞根因,划分约束分层及难度,为后续生成器参数设计打下基础,并初步构建多种触发计划(trigger plans),通过持久化记忆,确保约束推导的连贯性和可复用性。
- 实现阶段
针对已提取约束,智能体分析如何将其转化为输入级参数空间(typed parameter domains),综合分析已知输入、调用API文档、逻辑约束,自动合成Python等平台的参数化生成器(如generate(**params)),实现输入空间的有效抽样。进一步,智能体探索一批可能直接满足预期约束的具体参数组(concrete parameters),降低搜索成本。为后续反馈精细化,还自动生成调试断点(breakpoints)与程序状态采集配置,捕获运行时关键变量状态用于约束验证和失败分析。
- 执行阶段
系统调用属性测试fuzzer,分两步开展主动搜索:首先用智能体生成的优选参数组进行有针对性测试,若未发现有效PoV,再对整个参数空间采用启发式边界斜优先采样(关注极端值、边界组合等),充分利用reg、type、结构限制等类型信息,保障生成输入天然满足重要结构约束。运行时通过断点/状态采集模块获取细粒反馈,优化后续推理路径。
- 反思阶段
若当前搜索未找到有效PoV,智能体自动回溯并分析失败原因。对未达到目标点的输入,工具自动探测偏离点并定位被违背的约束;对于到达但未触发的输入,回溯依赖分析确定变量取值偏差和潜在约束表达缺失,调用调试器交互修正假设。反馈结果作为新一轮PLAN的基础,形成高效的闭环进化。
PBFuzz还实现了多项工程创新:如分层权限与记忆自动守护,工作流状态严格GATEKEEPER机制,公开API与动态扩展支持等,确保持久记忆的唯一性和安全性,并将LLM潜力最大化地服务于漏洞自动化推理与输入生成。
效果评估
本文围绕 PBFuzz(智能体属性基定向模糊测试工具)的有效性与性能展开系统评估,核心目标为验证其 “迭代式约束推理 – 求解” 架构的 PoV(漏洞验证输入)生成能力,围绕 “H1 智能体可推理并映射约束”“H2 属性基测试可高效求解约束” 两大假设,通过四大研究问题(RQ1-RQ4)完成验证,整体实验以 Magma 基准测试集(9 个开源项目、138 个真实漏洞)为核心,对比三类 SOTA 工具及 9 个近年模糊测试工具,采用 CVE 覆盖率、TTE(漏洞暴露时间)等关键指标,在标准化容器环境中完成测试。
- 整体效果与效率(RQ1)
PBFuzz 展现出碾压性优势:
- 效率上,单轮 30 分钟测试即可触发 57 个漏洞,远超所有基准工具,包括执行 1 个月的 Llamafuzz(47 个)、10 轮 24 小时的AFL++(44 个),TTE 中位数仅339秒,远优于AFL++的 8680 秒、G2Fuzz 的 5400 秒;
- 效果上,独家触发 17 个漏洞,其中 11 个与其他工具使用相同测试用例,且漏洞触发一致性显著更优(18/23 漏洞实现 10/10 稳定触发);
- 成本与扩展性上,平均每个 PoV 成本 1.83 美元,大项目(如 PHP)成本仅为小项目(如 lua)的 3 倍,具备良好 scalability。
- 核心技术优势(RQ2)
PBFuzz 的性能源于四大独特能力:一是自主可达性分析,可识别并解决测试用例适配问题,如为 PHP、SSL 漏洞自主选择 / 合成测试用例,突破 Magma 默认用例限制;二是属性基测试,通过参数化生成器维持输入结构不变量,成功触发 PDF005 等需同步更新多字段的漏洞,避免传统变异工具的结构破坏问题;三是层级语义约束求解,可处理嵌套约束(如 LUA001 的语法 – 语义嵌套要求、XML010 的外部依赖 + 结构嵌套),突破随机变异的概率性局限;四是语义约束求解,能驱动程序状态转换(如 SQL007 的模式重载序列、SND016 的解析器选择),解决距离指标无法捕获的可达性障碍。
- 固有局限性(RQ3)
PBFuzz 的局限源于 LLM 训练目标与漏洞利用需求的矛盾:一是系统性范围限制,PLAN 阶段聚焦局部上下文,遗漏远距离间接依赖(如 XML012 的编码转换触发缓冲区重分配);二是约束搜索缺口,IMPLEMENT 阶段未枚举替代编码、异常标签等边缘场景(如 SSL009 的 ASN.1 长格式零长度编码);三是构造有效性偏向,EXECUTE 阶段受 LLM “生成有效输出” 训练偏好影响,无法生成畸形输入(如 TIF001 的大小不匹配文件、SQL002 的畸形 UNION 查询)。研究同时指出,PBFuzz 与 AFL++ 等变异工具存在互补性,前者擅长复杂约束场景,后者擅长编码变异与畸形输入生成。
- 关键组件贡献(RQ4)
消融实验验证了多组件的协同价值:从 “仅 LLM”(16个漏洞)到 “完整 PBFuzz”(57个漏洞)的性能跃升,核心源于三大关键升级 —— 智能体迭代框架(Cursor 基础版提升137%)、执行反馈机制(新增6个漏洞)、MCP工具集(新增3个漏洞),而工作流+持久化内存与属性基测试的集成是性能突破的核心(新增10个漏洞),前者保障多阶段推理的连贯性,后者实现约束空间的高效搜索。此外,模型适配性至关重要,Claude Sonnet-4.5 因编码推理优势表现最优,而 Grok-4 因工具调用适配不足性能拉胯。
PBFuzz通过“LLM语义推理+属性基测试+结构化工作流”的创新架构,突破了传统模糊测试工具在复杂约束场景的效率与效果瓶颈,同时其与变异工具的互补性为混合模糊测试架构提供了重要研究方向。
优势分析
PBFuzz展现了多方面显著优势:
首先,通过将智能体驱动的语义推理与属性测试的结构表达结合,实现了对“可达性-触发性”复合约束的精准推导和高效解空间遍历,突破了以往DGF仅依赖距离度量、LLM辅助手段陷于静态分析窠臼的瓶颈。其搜索针对性强,能在复杂语法、格式、状态转换等条件下生成仅靠变异无法达到的高质量输入。
其次,PBFuzz工作流的严格分阶段与持久记忆管理,有效防止了LLM推理漂移和遗忘,持续通过细粒反馈自我修正假设,大幅提升了约束抽取和输入合成的迭代效率和可靠性,为自动化漏洞验证输入生成带来了前所未有的确定性和成功率。
第三,通过属性测试方式的输入生成,PBFuzz能原生支持复杂结构嵌套、同步多字段变化,满足“输入成立-触发约束”的天然联动,尤在格式严格与全局依赖场景下远超传统Fuzzing能力。
第四,PBFuzz展现了优良的扩展性和普适性,无论于新语言、未知格式、大体量项目均可凭借属性测试及Agentic智能体模式灵活适配。
然而,PBFuzz也存在一定局限和挑战。部分漏洞触发依赖极为隐蔽的程序状态、长距离间接依赖或非本地语义,可能因LLM推理剪枝、参数空间定义等阶段性疏漏未能完整覆盖。部分场景下,属性测试保持结构合规反而妨碍了对“格式违规触发型”漏洞的测试(如需模拟数据截断、边界违规等case)。此外,PBFuzz对LLM推理能力极度依赖,当前LLM在复杂领域/冷门格式知识覆盖有限时,约束表达和输入生成仍受模型知识面所限。
论文最后也强调,PBFuzz与传统随机变异fuzzer在优势领域上高度互补:前者适合结构化高级推理场景,后者在参数极限、编码多样化的贴合实际边界探索上尚有不可替代的作用。因此,未来可进一步研究两类范式混合架构,以兼并二者优势。
论文结论
本文提出了PBFuzz,一套基于Agentic智能体驱动的定向属性测试PoV输入自动生成框架。通过四阶段工作流、工具集成、持久记忆与属性测试结合,首次实现了从语义约束推理、生成器合成到高效大规模输入空间搜索的全链路自动化。系统在Magma基准的实验验证表明,其在有效性、唯一性、时效性和稳定性上均远超目前主流覆盖率基线、定向灰盒模糊及LLM辅助方法。论文还全面剖析了各环节贡献、特殊案例与现有不足,指出PBFuzz在普适性、多语言兼容、无监督环境支持等方向具有巨大潜力。
未来工作可进一步拓展到支持其他类型漏洞、未知格式、结合传统变异fuzzer实现混合高效自动化漏洞验证,并推动漏洞不可触发性、自动化patch验证等更广泛安全应用场景。PBFuzz的研究证明了LLM智能体在程序安全复杂任务中的自主推理与决策潜能,为Agentic自动化安全系统的发展奠定了坚实基础。
-End-
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全极客 知识分享者《【论文速读】| PBFuzz:面向漏洞利用证明生成的智能体引导定向模糊测试》