paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Locus: Agentic Predicate Synthesis for Directed Fuzzing

Locus:面向定向模糊测试的 Agentic 谓词合成
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 7/10 · 论文用 Agent 结合符号执行合成中间谓词来改进定向模糊测试,属于用户关注的“AI→PL:利用 LLM/Agent 改进程序分析”方向,且问题驱动、有真实漏洞发现与加速效果。但定向模糊测试并非用户重点追踪的静态分析/形式化验证,也未涉及浮点或贝叶斯程序分析,因此匹配度中等偏上。引用 13 inbox
Jie Zhu, Chihao Shen, Ziyang Li, Jiahao Yu, Yizheng Chen, Kexin Pei
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 Locus,用智能体合成中间状态谓词引导定向模糊测试,平均加速 41.6 倍并发现 9 个新漏洞。

定向模糊测试旨在寻找能到达指定目标状态的程序输入,但目标状态常深层嵌套,输入搜索空间巨大。现有方法依赖分支距离或人工指定约束:前者难以精确刻画向目标推进的进度,后者往往针对特定漏洞类型、难以泛化。Locus 的核心思想是合成谓词,将模糊测试进度刻画为语义上有意义的中间状态,作为通往目标状态的里程碑。这些谓词被用于插桩被测程序,从而拒绝不太可能到达目标的执行,并提供额外覆盖引导。为自动完成该任务并泛化到多样程序,Locus 采用带程序分析工具的 Agentic 框架,迭代合成与精化候选谓词,同时利用符号执行保证谓词严格放宽目标状态,避免错误拒绝。评估表明,Locus 显著提升八个先进模糊器发现真实漏洞的效率,平均加速 41.6 倍,并已发现九个此前未修补的漏洞,其中三个获得草稿补丁确认。

问题
定向模糊测试需要高效搜索能到达深层目标状态的输入,但现有分支距离或人工约束难以精确、通用地刻画向目标推进的进度。
方法
Locus 合成语义上有意义的中间状态谓词作为里程碑,并用带程序分析工具的 Agentic 框架迭代合成与精化谓词,同时通过符号执行确保谓词严格放宽目标状态以避免误拒。
评估
将 Locus 与八个先进模糊器结合,在真实漏洞发现任务上评估效率提升,平均加速 41.6 倍,并报告发现九个未修补漏洞、三个已有草稿补丁。
原文摘要(Abstract)

Directed fuzzing aims to find program inputs that lead to specified target program states. It has broad applications, such as debugging system crashes, confirming reported bugs, and generating exploits for potential vulnerabilities. This task is inherently challenging because target states are often deeply nested in the program, while the search space manifested by numerous possible program inputs is prohibitively large. Existing approaches rely on branch distances or manually-specified constraints to guide the search; however, the branches alone are often insufficient to precisely characterize progress toward reaching the target states, while the manually specified constraints are often tailored for specific bug types and thus difficult to generalize to diverse target states and programs. We present Locus, a novel framework to improve the efficiency of directed fuzzing. Our key insight is to synthesize predicates to capture fuzzing progress as semantically meaningful intermediate states, serving as milestones towards reaching the target states. When used to instrument the program under fuzzing, they can reject executions unlikely to reach the target states, while providing additional coverage guidance. To automate this task and generalize to diverse programs, Locus features an agentic framework with program analysis tools to synthesize and iteratively refine the candidate predicates, while ensuring the predicates strictly relax the target states to prevent false rejections via symbolic execution. Our evaluation shows that Locus substantially improves the efficiency of eight state-of-the-art fuzzers in discovering real-world vulnerabilities, achieving an average speedup of 41.6 ×. So far, Locus has found nine previously unpatched bugs, with three already acknowledged with draft patches.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{abs-2508-21302,
  title = {Locus: Agentic Predicate Synthesis for Directed Fuzzing},
  author = {Jie Zhu and Chihao Shen and Ziyang Li and Jiahao Yu and Yizheng Chen and Kexin Pei},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773102}
}