More than 75% of all vulnerabilities reside in indirect dependencies:
The vast majority of security vulnerabilities in open-source projects reside in indirect dependencies rather than directly and first-hand loaded components.
"Aggregating the numbers from all ecosystems, we found more than three times as many vulnerabilities in indirect dependencies than we did direct dependencies," Alyssa Miller, Application Security Advocate at Snyk, told ZDNet in an interview discussing Snyk's State of Open Source Security for 2020 study.
The report looked at how vulnerabilities impacted the JavaScript (npm), Ruby (RubyGems), Java (MavenCentral), PHP (Packagist), and Python (PyPI) ecosystems.
Snyk said that 86% of the JavaScript security bugs, 81% of the Ruby bugs, and 74% of the Java ones impacted libraries that were dependencies of the primary components loaded inside a project.
[...] Snyk argues that companies scanning their primary dependencies for security issues without exploring their full dependency tree multiple levels down would release or end up running products that were vulnerable to unforeseen bugs.
So dear Soylentils, how do you track vulnerabilities in libraries that you use in your projects and do you scan beyond direct dependencies?
Previously:
(2020-05-16) Nine in Ten Biz Applications Harbor Out-of-Date, Unsupported, Insecure Open-Source Code, Study Shows
(Score: 2) by TheRaven on Friday July 03 2020, @09:15PM
It's obvious because it's completely missing basic graph theory. The cause of 75% (or some similarly large number) of anything in software is going to be in indirect dependencies. If there's a bug in my program, it affects my program. If there's a bug in a library that things use directly, it affects everything that uses that library. If there's a bug in a library that is used indirectly by other libraries, it will affect anything that uses that library indirectly. A bug in any library that is used by two other libraries that are used independently will show up in more things than a bug in either of the libraries that use it.
Equally, fixing a bug in a library that is used indirectly by thousands of programs is significantly cheaper than fixing thousands of instances of different bugs in different reimplementations of the same ideas.
sudo mod me up