As developers rely more and more on open source components to build software, the number of transitive dependencies increases significantly. These “hidden” dependencies can create complex dependency chains that are difficult to detect, manage, and test for security vulnerabilities and license conflicts.
The size and complexity of open source projects show no signs of abating anytime soon. The 2025 “Open Source Security and Risk Analysis” (OSSRA) report reveals that the average open source project now includes over 1,200 dependencies—a 30% increase from the previous year—and exceeds 100 MB in size. Transitive dependencies are the largest driver of the exponential growth in open source dependencies, and they contribute heavily to the growth in the sheer size of projects as well.
This year’s OSSRA report includes several other key findings that also highlight the prevalence of transitive dependencies and their impact.
These issues require organizations to adopt robust management practices to mitigate risks and leverage the advantages that open source provides.
When a developer adds a library or package to a project, that library likely relies on additional libraries and packages to function properly. This creates a chain of dependencies in which third-party, fourth-party, and “nth-party” code becomes part of software. The complexity of this dependency graph is what makes it so challenging to detect, manage, and test all parts of an application.
Several factors contribute to the complexity of managing transitive dependencies.
The increase in size and complexity of open source projects leads to several issues that development and security teams need to be aware of.
Transitive dependencies can propagate vulnerabilities throughout the software supply chain. A single vulnerable dependency can impact multiple projects, making it difficult to track and mitigate risks. Limited visibility into these dependencies magnifies their impact, contributing to undetected vulnerabilities and security breaches. And patch management is more complex and time-consuming due to the sheer number of dependencies in projects. Package managers offer ways to update dependencies, but forcing such updates is risky and can potentially break other parts of the application.
Visibility is key in mitigating the risks of transitive dependencies. You can’t fix the issues you can’t see or find. A software composition analysis (SCA) tool that offers a combination of discovery techniques gives teams complete visibility into all dependencies within their applications, whether direct or transitive.
Other essential practices for managing transitive dependencies include
For more detailed information about how to effectively manage transitive dependencies and prevent them from introducing risk to your applications, talk to Black Duck to see how we can help, or download our latest white paper, “Managing Transitive Dependencies in Open Source Software.”