返回
Extraction and Mutation at a High Level: Template-Based Fuzzing for JavaScript Engines
DOI:10.1145/3763154.png)
摘要
En 中文
JavaScript (JS) 引擎通过实现复杂的语言语义和优化策略来支持 JS 的动态特性,这使得它们难以进行彻底测试,并且容易产生细微但影响安全的关键性错误。现有的模糊测试工具(fuzzers)往往难以生成多样且有效的测试用例。它们要么依赖缺乏语义感知的语法级变异,要么对具体代码执行有限且局部的变异,从而无法探索更深、更复杂的程序行为。本文提出了一种新型模糊测试框架 TEMUJS,它在高层次上执行提取和变异操作,基于从真实 JS 程序中派生的抽象模板进行工作。这些模板通过语义占位符捕获粗粒度的程序结构,能够实现语义感知的变异,在保持原始代码高层意图的同时丰富其行为表现。通过将变异与具体语法解耦,并利用结构化的中间表示形式处理模板,TEMUJS 探索了更广泛且更有意义的程序行为空间。在三大主要 JS 引擎 V8、SpiderMonkey 和 JavaScriptCore 上的评估显示,TEMUJS 发现了 44 个错误,相较于现有最先进的模糊测试工具,平均提升了 10.3% 的边覆盖率。我们的结果表明,高层模板变异模糊测试在 JS 引擎测试中是有效的。
Keyword:
JavaScript engine
fuzzing
security
Just-in-time compilation
期刊
P
IF:
2.8
论文数:
308
被引数:
4.7K
机构
引用论文
Fuzzing JavaScript Interpreters with Coverage-Guided Reinforcement Learning for LLM-Based Mutation基于覆盖引导的强化学习的模糊JavaScript解释器,用于基于LLM的突变

