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