Transitive Dependency
A transitive dependency is a software component that a project relies on indirectly, pulled in not by the project itself but by another component it uses directly. In other words, the software you build depends on a package, and that package brings along its own dependencies, which then become part of your application without you choosing them explicitly. These indirect components can introduce risk that is easy to overlook because they are not directly visible in the project's own declared dependencies.
In package and dependency management, a transitive (or indirect) dependency is a component that is not referenced directly by a project but is instead induced by a direct dependency or by another transitive dependency, forming a chain within the dependency tree. Practitioners typically distinguish transitive dependencies from direct dependencies, which are explicitly imported or declared by the project itself. Transitive dependencies are a recurring focus in software composition analysis (SCA) because vulnerabilities, licensing exposure, or provenance concerns can propagate through indirectly referenced components that fall outside a project's explicitly declared dependencies; visibility into deeper tiers of the dependency tree may be limited depending on the tooling and package ecosystem in use. Note that the same term is also used in a distinct database-theory sense, where a transitive dependency refers to a non-key attribute whose value is determined through another non-key attribute rather than directly by the primary key; that meaning is unrelated to the software supply chain usage described here.
Why it matters
Transitive dependencies matter because a significant portion of the code running in a modern application is never chosen or declared by the team that builds it. When an organization pulls in a direct dependency, that component brings along its own dependencies, which in turn bring theirs, forming a chain that can extend several tiers deep. Vulnerabilities, licensing exposure, or provenance concerns can propagate through these indirectly referenced components even though they fall outside a project's explicitly declared dependencies. This creates risk that is easy to overlook precisely because these components are not directly visible in the project's own dependency declarations.
Who it's relevant to
Inside Transitive Dependency
Common questions
Answers to the questions practitioners most commonly ask about Transitive Dependency.
