TL;DR
Over 84% of codebases contain at least one open source vulnerability. Managing your dependencies is no longer optional — it’s what separates secure software teams from breached ones. This post breaks down the risks, practical fixes, and how Secure.com’s AppSec Teammate keeps your supply chain clean.
Key Takeaways
- The average application carries 13 critical or high-severity vulnerabilities per year from open source dependencies alone.
- Over 80% of vulnerable dependencies go unpatched for more than a year — even when fixes are available.
- Transitive dependencies (dependencies of dependencies) are invisible to most teams but carry the same level of risk.
- License violations can be just as damaging as security flaws, exposing your company to legal and compliance risk.
- Secure.com’s Digital Security Teammate consolidates SCA findings and blocks risky packages from reaching production automatically.
Why Open Source Dependency Risk Management is Important
- Scale makes manual tracking impossible. The average Java application has around 150 direct and transitive dependencies. Reviewing each one by hand isn’t realistic.
- Attackers know developers trust open source. Typosquatting, dependency confusion, and backdoored packages are growing attack vectors specifically designed to exploit developer workflows.
- Regulatory pressure is rising. New rules like the EU Cyber Resilience Act require organizations to maintain an SBOM and report vulnerabilities within defined timelines.
- Unfixed vulnerabilities compound over time. Over 80% of vulnerable dependencies remain unpatched for more than a year. That backlog doesn’t disappear — it grows.
- License misuse can cost millions. Using a GPL-licensed library inside a proprietary product without compliance can trigger forced code disclosure or lawsuits.
What are the Common Risks of Open Source Dependencies?
Licensing Issues
Not all open source licenses are the same. MIT and Apache licenses are permissive — GPL and AGPL are not. Using a restrictively licensed library in the wrong context can force you to open-source your proprietary code, expose you to legal claims, or trigger contract violations with enterprise customers. License compliance needs to be reviewed before a package is added, not after your product ships.
Security Vulnerabilities
The Log4Shell vulnerability (CVE-2021-44228) in Log4j hit thousands of organizations overnight because so many products quietly depended on the same library.
This is the nature of open source risk: one flaw in a widely used package becomes everyone’s problem at once. The average codebase now has 581 known open source vulnerabilities; double the count from just one year ago. Most organizations lack the tooling and processes to systematically address this growing backlog.
Malware Injection
Malicious actors plant harmful code inside open source packages — either by publishing look-alike packages with typo names (typosquatting), injecting code into trusted packages, or compromising maintainer accounts.
The 2024 XZ Utils backdoor showed that even long-trusted contributors can be bad actors. Traditional malware scanners don’t catch these attacks, which is what makes them so dangerous.
Transitive Dependencies
A direct dependency is the library you add to your project. A transitive dependency is the library that library depends on — and the one after that, and so on. A simple 12-package Node.js application can balloon to 345 installed packages once transitive dependencies are included. Each of those packages carries its own vulnerabilities. Most teams have no visibility into this layer at all.
Unmaintained Dependencies
When a maintainer stops updating a project, no security patches get released. Vulnerabilities discovered after that point go unfixed forever. Teams that continue using abandoned libraries are betting that no one will exploit those gaps — a bet that rarely pays off.
What are the Strategies to Reduce Open Source Dependency Risks?
Managing dependency risk doesn’t require overhauling your entire development process at once. The most effective approach is methodical and incremental.
Start Small
Don’t try to fix everything at once. Begin your SCA program with one team and one codebase. Let that team build the muscle for reviewing and remediating dependency risks before expanding to the rest of the organization. The initial scan will almost always surface a backlog larger than expected — starting small keeps that from becoming paralyzing.
Find Out How You Can Handle License Compliance
License compliance doesn’t have a one-size-fits-all answer. The right policy depends on what your own code’s license is, where the software is deployed, and how your legal team interprets risk. Work with your legal contact to define approved and prohibited licenses for each type of application you build. Create multiple license profiles for different use cases — internal tools vs. customer-facing products and enforce those profiles through your tooling.
Enforce a Quality Gate on Coding
Start by enforcing quality gates on new code only, not your entire legacy codebase. This keeps development moving while making sure no new critical vulnerabilities get merged in. A good starting condition: block merges where any new dependency risk is rated higher than “Info.” Once the team handles new issues quickly, tighten the gate to cover existing code too.
Track Everything
You can only improve what you measure. Track the number of open dependency risks over time, their severity distribution, and how fast your team resolves them. An SBOM (Software Bill of Materials) is the foundation of this visibility — projects using an SBOM fixed vulnerabilities 264 days faster on average than those that didn’t.
Mitigate Existing Risk
Once quality gates stop new risks from entering your codebase, focus on burning down the backlog. Start with Blocker and High severity findings. Work with your development team to assess each one: Can the dependency be upgraded? Does the vulnerability actually affect your usage of the library? Structured triage turns an overwhelming list into a prioritized work plan.
How Secure.com Can Help in Open Source Dependency Risk Management
- Build-time dependency scanning continuously checks source code, containers, and open source packages during development and CI/CD pipelines
- SCA signal consolidation aggregates findings from multiple Software Composition Analysis tools, including Sonar, SNYK, and GitHub Code Scanner, cutting out duplicate alerts and giving teams one prioritized view of dependency risk.
- Supply chain context adds application and business context to each finding, so engineers understand the real-world impact of a vulnerable dependency — not just its CVSS score. This contextual risk prioritization evaluates exploitability, exposure, and business importance to generate a ‘fix-first’ list aligned to actual risk.
- Automated CI/CD gating blocks critical open source vulnerabilities from reaching production, with human approval required for high-impact actions from reaching production without requiring manual security reviews on every pull request.
- Remediation routing sends fixes directly to the developers who own the affected code through Slack, Teams, or Jira, cutting the time between discovery and resolution. Every action is logged for audit readiness.
Conclusion
Open source dependencies are not going away — they are what makes modern software development possible. But speed without visibility creates risk, and that risk is growing. The average app carries hundreds of vulnerable dependencies. Most go unpatched for over a year. Malicious packages are multiplying. Manual review doesn’t scale.
The good news: this problem is solvable. A structured approach — starting small, enforcing quality gates, tracking your inventory, and using tools that automate the hard parts — turns an unmanageable backlog into a controlled, improving baseline. Secure.com’s Digital Security Teammate gives teams the governance layer that turns noisy SCA alerts into prioritized, automated remediation workflows.
The question isn’t whether to manage open source risk. It’s whether you’ll do it proactively (with the right tools and processes) or reactively after a breach forces your hand.