Poisoned Pipeline

Poisoned Pipeline / Techniques / T0120

T0120 · Initial Access · TA03 · observed in 13 incident(s)

Dependency confusion

Artifact Security Container Security Open Source Security CI/CD Posture

Dependency confusion is a type of supply chain attack that occurs when an attacker exploits the way some package managers, such as npm and PyPI, resolve dependencies when installing software libraries.
In a typical software development project, developers rely on a variety of external libraries, often referred to as dependencies, to build their applications.
These libraries are typically stored in a remote repository, and developers use a package manager to install and manage them.
An attacker will utilize prior knowledge of usage of dependencies (*Discover used open-source dependencies*) to upload a malicious package with the same name to a public repository.
This might "confuse" package managers to use to public resource instead of the local one - thus executing or infecting the CI/CD.
This can happen on the developer's machine or the build system and has the potential to further steps of an attack - for example, if the malicious code exfiltrate an access token to production environment

Where this idea came from

Security research

Birsan 2021; Google bin-entry harvesting, TXTBOOK, sl4x0 waves; conference: Black Hat USA 2026 “ThreatForest: Automated Attack Trees from Source Code” and “The 0-Day Engine” formalize how researchers reason about dependency attack paths.

Mitigations

Detections

Observed in incidents (13)

References