【发布时间】:2020-08-24 12:15:01
【问题描述】:
American Fuzzy Lop 和概念上相关的 LLVM libfuzzer 不仅会生成随机模糊字符串,而且还会观察被测代码的分支覆盖率,并使用遗传算法尝试覆盖尽可能多的分支。这会增加下游更有趣代码的命中频率,否则大多数生成的输入将在某些反序列化或验证中提前停止。
但这些工具在本机代码级别工作,这对 JavaScript 应用程序没有用处,因为它会试图覆盖解释器,而不是真正的解释代码。
那么有没有办法通过覆盖率指导来模糊 JavaScript(最好在浏览器中,但在 node.js 中运行的测试也会有所帮助)?
我查看了this old question 中提到的工具,但那些使用 javascript 的工具似乎没有提到任何关于覆盖率分析的内容。虽然radamsa 提到可选择将其与覆盖分析配对,但我还没有找到任何有关如何实际执行此操作的文档。
如何使用覆盖率指导对 Java 脚本(在浏览器中)应用程序进行模糊测试?
【问题讨论】:
标签: javascript fuzzing