Dirty-Waters: Detecting Software Supply Chain Smells
arXiv:2410.16049 · doi:10.1145/3696630.3728578
Abstract
Using open-source dependencies is essential in modern software development. However, this practice implies significant trust in third-party code, while there is little support for developers to assess this trust. As a consequence, attacks have been increasingly occurring through third-party dependencies. These are called software supply chain attacks. In this paper, we target the problem of projects that use dependencies while unaware of the potential risks posed by their software supply chain. We define the novel concept of software supply chain smell and present Dirty-Waters, a novel tool for detecting software supply chain smells. We evaluate Dirty-Waters on three JavaScript projects across nine versions and demonstrate the prevalence of all proposed software supply chain smells. Not only are there smells in all projects, but there are many of them, which immediately reveal potential risks and provide clear indicators for developers to act on the security of their supply chain.
References in corpus (8)
- Understanding the Factors that Impact the Popularity of GitHub Repositories
- Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations
- Small World with High Risks: A Study of Security Threats in the npm Ecosystem
- Dependency Smells in JavaScript Projects
- Challenges of Producing Software Bill Of Materials for Java
- Python Crypto Misuses in the Wild
- On the Security Blind Spots of Software Composition Analysis
- Analyzing the Accessibility of GitHub Repositories for PyPI and NPM Libraries