Source: https://arxiv.org/pdf/2104.07460.pdf
Authors: Guixin Ye, Zhangyong Tang, Shin Hwei Tan, etc.
Download Note:
https://jbox.sjtu.edu.cn/l/XFikWG
Contributor: pdh
Overview
本文介绍了一种名为Comfort的JS引擎fuzz的框架,能够检测出JS引擎编译代码得到的结果和ECMAScript标准定义的不一致的bug。它利用基于transformer的自然语言生成模型GPT-2,根据开源的JS代码语料库,来生成有效的JS测试代码实例,再利用差分测试的方法,来探测出JS引擎中可能存在的漏洞。
本文实现的框架对10种主流引擎(JSC in Safari, V8 in Chrome, ChakraCore in Edge, SpiderMonkey in Firefox, 以及一些移动端的引擎包括Hermes, QuickJS, Rhino, Nashorn, JerryScript, Graaljs)进行了检测,共发现了158个特定JS引擎的bug,其中129个被验证了,115个被修复了。除此之外,21个由Comfort生成的测试用例被加入了ECMAScript官方提供的的标准测试集Test262。