TypeNFuzz:一种基于动态类型感知的对象依赖图引导的模糊测试方法,用于发现JavaScript库中的漏洞
《ACM Transactions on Software Engineering and Methodology》:TypeNFuzz: Dynamic Type-aware Object Dependence Graph Guided Fuzzing for JavaScript Library Bug Discovery
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
针对Node.js库测试中动态类型和浅层导出的问题,TypeNFuzz提出结合类型驱动输入合成和深度可达性探索的方法,显著提升代码覆盖率并发现77个新缺陷。
摘要
Node.js 的流行在很大程度上归功于其庞大的库生态系统。虽然这种丰富的库资源加快了开发速度,但代码质量的参差不齐却给确保系统稳定性带来了挑战。有效的库测试面临两个主要问题:(1)动态类型系统使得构建有效的、复杂的输入数据变得复杂;(2)关键的内部逻辑被隐藏在表面的函数或变量导出中,难以被深入访问。现有的测试工具难以有效应对这些问题。为了解决这些问题并提升库的质量,我们提出了 TypeNFuzz——一种专为 Node.js 库设计的新型测试方法。TypeNFuzz 结合了以下两个关键技术:
1. **基于类型的输入生成**:通过分析 TypeScript 声明文件,生成语义正确的输入数据,从而消除动态类型系统带来的歧义。
2. **深度可达性探索**:利用动态且具有类型感知能力的对象依赖图来指导测试过程,系统地触发内部代码路径的执行,以揭示隐藏的深层逻辑。
测试结果表明 TypeNFuzz 的有效性:其代码覆盖率比现有的最佳工具高出 1.70 到 6.74 倍,这主要归功于它能够处理复杂的数据类型并深入探索代码逻辑。更重要的是,它发现了 77 个在流行内置库和第三方库中之前未被发现的缺陷,显著提升了系统的稳定性和可靠性。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号