ProfMal: Detecting Malicious NPM Packages by the Synergy between Static and Dynamic Analysis
Authors:
- 16 November 2025
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 419-431
Abstract
Open source software (OSS) has become the foundation of modern applications, but its transitive dependencies make it especially vulnerable to supply chain attacks. One common tactic is to inject malicious code into third-party packages. NPM, in particular, due to its widespread use and large volume of packages, has become the popular target of malicious code injection. While various detectors have been proposed, they suffer three limitations, i.e., inadequate behavior modeling of obfuscated code, ignoring object-centric features of JavaScript, and lack of synergy between static and dynamic analysis. These limitations lead to imprecise modeling of program behavior and hinder detection effectiveness.To address these limitations, we propose ProfMal to identify malicious NPM packages, which leverages the synergy between static and dynamic analysis to construct behavior graphs for each package. Specifically, our static analysis constructs the behavior graphs through object-sensitive analysis, while identifying sensitive API calls and locating statically unresolved calls. Our dynamic analysis augments the behavior graphs by resolving those statically unresolved calls. Based on these comprehensive behavior graphs, we train a graph-based classifier to identify maliciousness. Our evaluation has indicated that ProfMal achieves the highest F1-score of 92.4%, outperforming the state-of-the-arts by 6.2% to 48.8%. During a three-month real-world detection, ProfMal has detected 496 previously unknown malicious NPM packages, and all of them have been confirmed and removed from NPM.Keywords
Funding Information
- National Natural Science Foundation of China
This publication has 27 references indexed in Scilit:
- Leveraging Large Language Models to Detect NPM Malicious Packages2025
- MalWuKong: Towards Fast, Accurate, and Multilingual Detection of Malicious Code Poisoning in OSS Supply Chains2023
- An Empirical Study of Malicious Code In PyPI Ecosystem2023
- SoK: Taxonomy of Attacks on Open-Source Software Supply Chains2023
- Anomalicious: Automated Detection of Anomalous and Potentially Malicious Commits on GitHub2021
- Defending Against Package Typosquatting2020
- Improved Code Summarization via a Graph Neural Network2020
- Backstabber’s Knife Collection: A Review of Open Source Software Supply Chain Attacks2020
- Heterogeneous Graph Transformer2020
- Detecting Suspicious Package Updates2019