该论文聚焦于 JavaScript 引擎的安全测试难题。现代 Web 安全高度依赖 JS 引擎的正确性,而引擎本身结构复杂、长期存在高危缺陷。当前最先进的模糊测试器(fuzzer)面临一个关键瓶颈——覆盖度平台期(coverage plateau):一旦 fuzzer 把引擎的控制流图基本走遍,基于边覆盖(edge coverage)的反馈就失去了引导能力,难以继续发现更深层的缺陷。根本原因在于,JS 引擎中许多复杂且安全相关的内部行为——例如 JIT 的多级优化分层(optimization tiers)、隐藏类转换(hidden class transitions)等——在边覆盖指标上表现完全相同,因此传统覆盖度指标对'引擎当前处于哪种内部配置/状态'是盲视的,也就无法引导测试用例去触达那些触发深层错误的特定状态。 为弥补这一缺口,作者提出 StateLens 框架,利用大语言模型(LLM)自动发现引擎的深层内部状态。直接在所有状态上布置插桩探针是不可行的:状态空间极其庞大,且运行时开销过高。StateLens 因此设计了一条新颖的、基于智能体(agent)的推理流水线,模拟安全研究者的直觉判断:智能体迭代地遍历源码与开发者注释,从中筛选出高价值的插桩目标,把真正驱动逻辑的状态变量与无关数据区分开来,从而自动合成高信噪比的反馈探针,将引擎隐藏的内部配置映射出来。这些插桩结果进一步馈入一个'双反馈'机制,把 fuzzer 引导向尚未探索的引擎语义空间。评估结果表明,StateLens 显著优于当前最先进的 fuzzer,并额外发现 68 个新缺陷。论文的贡献可归纳为三点:一是明确定位并形式化了覆盖面盲区这一 fuzzing 瓶颈;二是提出 LLM 智能体驱动的状态识别与插桩合成方法;三是通过实测证明其在真实 JS 引擎上发现了大量新 bug,验证了状态感知反馈的有效性。适合模糊测试、程序分析、编译器/JIT 安全及 LLM for security 方向的研究者与工程人员阅读。
💡 推荐理由: JS 引擎是浏览器与 Node.js 等关键组件的信任根基,其深层缺陷往往直接导致 RCE。该工作指出现有覆盖度导向 fuzzing 已进入平台期,并给出用 LLM 智能体自动定位内部状态、合成反馈探针的可落地思路,为引擎类大型软件的漏洞挖掘提供了新的增益方向。
🎯 建议动作: 研究跟进