Skip to main content
Log in

Understanding vulnerabilities in software supply chains

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Context

Due to the dependency relations among software, vulnerabilities in software supply chains (SSC) may cause more serious security threats than independent software systems. This poses new challenges for ensuring software security including the spread of risks and the increase in maintenance costs.

Objective

To address the challenges, there needs a deep understanding of how a vulnerability is in SSC in terms of vulnerability source, propagation, localization, and repair. However, no studies have been conducted specifically for this purpose.

Method

To fill this gap, we provide an experience study of real-world vulnerability characteristics in the context of SSCs. Specifically, we examine the vulnerability source first and further study the fine-grained vulnerability propagation, localization, and repair of libraries and their corresponding client programs.

Results

The key findings are summarized as follows: a) 99% of vulnerabilities in client programs are caused by their dependencies, and 81.26% of SSC vulnerabilities detected by package-level analysis are false positives; b) for vulnerability localization, the vulnerability database does not have enough information to help direct localization, but the vulnerability descriptions in the open-source vulnerability database provide much important information for indirect localization. c) client developers deal with vulnerable dependencies in many ways including upgrading dependencies, modifying client code, and deleting relevant code or vulnerable dependencies.

Conclusions

Based on these observations, we make suggestions for future research in this direction: a) when testing important client programs, vulnerability detection tools should pay attention to both client code and the dependent libraries; b) localizing vulnerability based on vulnerability descriptions is not straightforward, hence a proper combination of program analysis and description analysis is expected to improve localization accuracy; c) there can be various strategies for dealing with vulnerable libraries, and automating the enforcement of those strategies will be expected.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Data Availability

The source and generating process of datasets are presented in Section 3. Data supporting the findings of this study are publicly available in the GitHub repository, https://github.com/YijunShen/supply_chain_vul

Notes

  1. https://github.com/YijunShen/supply_chain_vul

  2. https://github.com/dependabot

  3. https://owasp.org/www-project-dependency-check/

  4. https://libraries.io is one of the largest open-source data platform which monitors open source packages across 32 different package managers.

  5. https://libraries.io/api#project-dependents

  6. https://cwe.mitre.org/top25/archive/2023/2023_top25_list.html

  7. https://github.com/YijunShen/supply_chain_vul

  8. https://deps.dev

  9. https://neo4j.com

  10. https://github.com/gousiosg/java-callgraph

  11. https://cwe.mitre.org

References

Download references

Acknowledgements

This work was supported partly by National Natural Science Foundation of China under Grant No. 62141209, 62202026, and partly by Guangxi Collaborative Innovation Center of Multi-source Information Integration and Intelligent.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiang Gao.

Ethics declarations

Conflicts of Interest

The authors declared that they have no conflict of interest.

Additional information

Communicated by: Slinger Jansen.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Shen, Y., Gao, X., Sun, H. et al. Understanding vulnerabilities in software supply chains. Empir Software Eng 30, 20 (2025). https://doi.org/10.1007/s10664-024-10581-2

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-024-10581-2

Keywords