Small World with High Risks: A Study of Security Threats in the npm Ecosystem

02/25/2019
by   Markus Zimmermann, et al.
0

The popularity of JavaScript has lead to a large ecosystem of third-party packages available via the npm software package registry. The open nature of npm has boosted its growth, providing over 800,000 free and reusable software packages. Unfortunately, this open nature also causes security risks, as evidenced by recent incidents of single packages that broke or attacked software running on millions of computers. This paper studies security risks for users of npm by systematically analyzing dependencies between packages, the maintainers responsible for these packages, and publicly reported security issues. Studying the potential for running vulnerable or malicious code due to third-party dependencies, we find that individual packages could impact large parts of the entire ecosystem. Moreover, a very small number of maintainer accounts could be used to inject malicious code into the majority of all packages, a problem that has been increasing over time. Studying the potential for accidentally using vulnerable code, we find that lack of maintenance causes many packages to depend on vulnerable code, even years after a vulnerability has become public. Our results provide evidence that npm suffers from single points of failure and that unmaintained packages threaten large code bases. We discuss several mitigation techniques, such as trusted maintainers and total first-party security, and analyze their potential effectiveness.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/11/2021

I Know What You Imported Last Summer: A study of security threats in thePython ecosystem

The popularity of Python has risen rapidly over the past 15 years. It is...
research
08/29/2023

A Closer Look at the Security Risks in the Rust Ecosystem

Rust is an emerging programming language designed for the development of...
research
08/21/2021

A Survey on Common Threats in npm and PyPi Registries

Software engineers regularly use JavaScript and Python for both front-en...
research
12/12/2018

Breaking the borders: an investigation of cross-ecosystem software packages

Software ecosystems are collections of projects that are developed and e...
research
03/06/2019

Security Issues in Language-based Sofware Ecosystems

Language-based ecosystems (LBE), i.e., software ecosystems based on a si...
research
07/27/2021

A Large-Scale Security-Oriented Static Analysis of Python Packages in PyPI

Different security issues are a common problem for open source packages ...
research
04/07/2020

A first look at an emerging model of community organizations for the long-term maintenance of ecosystems' packages

One of the biggest strength of many modern programming languages is thei...

Please sign up or login with your details

Forgot password? Click here to reset