Original Sin of npm: A Study on Vulnerability Propagation in JavaScript Dependency Networks
Michael Robinson, Sajal Halder, Muhammad Ejaz Ahmed, Muhammad Ikram, Seyit Camtepe, Hyoungshick Kim

TL;DR
This study analyzes how a small number of vulnerable npm packages lead to widespread vulnerabilities across JavaScript dependency networks, highlighting propagation patterns and mitigation strategies.
Contribution
It provides a comprehensive analysis of vulnerability propagation in npm, revealing the concentration of vulnerabilities and proposing mitigation recommendations.
Findings
61.30% of packages depend on others, facilitating vulnerability spread.
21.60% of packages have at least one known vulnerability.
Top 7 vulnerabilities account for 25% of cases.
Abstract
Understanding vulnerability propagation is essential for assessing how vulnerabilities spread across components of a software package. This supports more accurate impact analysis and enhances threat detection and mitigation. In this paper, we investigate how a small number of vulnerable JavaScript packages contribute to the creation of a disproportionately large number of vulnerable packages. This paper presents insights from 1,515 reported vulnerabilities gathered from a custom-built vulnerability database containing 1,077,946 JavaScript packages sourced from `npm-follower' and their associated dependency networks. Dependency networks were constructed using the deps.dev API, with vulnerabilities identified by parsing package names and version numbers through the Google Open Source Vulnerability API. Our findings reveal that 61.30% (660,748) of packages are reliant on one or more…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
