arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2301.05097cs.CR
收藏

用于Node.js包中漏洞检测的JavaScript静态分析工具研究

Study of JavaScript Static Analysis Tools for Vulnerability Detection in Node.js Packages

Tiago Brito, Mafalda Ferreira, Miguel Monteiro, Pedro Lopes, Miguel Barros, José Fragoso Santos, Nuno Santos

AI总结:

本文首次对Node.js代码漏洞检测的静态分析工具进行实证研究,构建了包含957个漏洞的最大精选数据集,测试九种工具发现最佳组合仅检测出57.6%的漏洞且精确率极低,为该领域提供了新基准。

摘要:

随着Node.js生态系统的出现,JavaScript已成为实现服务器端Web应用程序的广泛使用的编程语言。在本文中,我们提出了针对Node.js代码中漏洞检测的静态代码分析工具的首次实证研究。为了进行全面的工具评估,我们创建了已知最大的Node.js代码漏洞精选数据集。我们通过分析npm advisory报告中包含的信息,对一组957个漏洞进行了表征和标注。我们测试了九种不同的工具,发现任何工具都无法检测到出现在OWASP Top-10中的许多重要漏洞。表现最好的三种工具组合在一起最多只能检测到数据集中所有漏洞的57.6%,但精确率非常低,仅为0.11%。我们的精选数据集提供了一个新的基准,有助于表征现有的Node.js代码漏洞,并促进更好的Node.js代码漏洞检测工具的开发。

英文摘要:

With the emergence of the Node.js ecosystem, JavaScript has become a widely-used programming language for implementing server-side web applications. In this paper, we present the first empirical study of static code analysis tools for detecting vulnerabilities in Node.js code. To conduct a comprehensive tool evaluation, we created the largest known curated dataset of Node.js code vulnerabilities. We characterized and annotated a set of 957 vulnerabilities by analyzing information contained in npm advisory reports. We tested nine different tools and found that many important vulnerabilities appearing in the OWASP Top-10 are not detected by any tool. The three best performing tools combined only detect up to 57.6% of all vulnerabilities in the dataset, but at a very low precision of 0.11%. Our curated dataset offers a new benchmark to help characterize existing Node.js code vulnerabilities and foster the development of better vulnerability detection tools for Node.js code.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑