Poisoned Pipeline

Poisoned Pipeline / Incidents / AS13

AS13 · 2024-12

Ultralytics PyPI compromise

PyPIGitHub Actions

In December 2024 versions of the Ultralytics Python package on PyPI were
observed shipping a cryptominer. Investigation pointed at a compromised
GitHub Actions workflow used to publish to PyPI, not at a direct PyPI
account password theft. The incident sits at the intersection of T0122
(third-party / CI action abuse), T0109 (malicious artifact), and T0139
(resource hijacking), and shows that "who can publish the package" is
often the CI identity.

Mapped techniques

supply-chain Ultralytics CI publish path

T0122 · Initial Access · Vulnerability in third-party CI/CD actions

A GitHub Actions publishing workflow was the likely injection point
for the malicious release.

T0109 · Resource Development · Publish malicious artifact

Poisoned versions were uploaded to PyPI under the real project name.

T0198 · Defense Evasion · Malicious Build Time Dependencies

The miner was introduced around the build/publish step rather than
as an obvious source-tree commit reviewers would catch.

post-supply-chain PyPI consumers

T0159 · Execution · Malicious artifact execution

pip install ultralytics of the affected versions ran the miner.

T0139 · Impact · Resource hijacking

CPU/GPU of installing hosts was used for cryptocurrency mining.

Sources