airflow-provider-spirit (PyPI) · Malicious Code
Affects airflow-provider-spiritSource GCVE Database
Malicious package : remove airflow-provider-spirit and rotate any secrets on hosts that installed it.
Data as of 26 Oct 2026, 16:07 UTC
Malicious package
Published to PyPI · OSV MAL-2026-10754
What to do
Remove airflow-provider-spirit from every project, lockfile and image that pulls it in. Treat any host that installed it as compromised: rotate the credentials, tokens and keys it could read, from a clean machine.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIairflow-provider-spirit | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
The airflow-provider-spirit package on PyPI is a malicious package masquerading as an Airflow provider. It contains minimal legitimate functionality but installs a persistent telemetry mechanism that auto-loads on every Python interpreter start. This mechanism collects system information and uses DNS TXT records from attacker-controlled domains to dynamically resolve and download a remote executable, which it then runs and deletes. The package uses a .pth file for persistence and attempts to evade detection by using DNS-based covert channels and multiple fallback download methods. Versions 0.0.1, 8.5.3, and 8.5.4 are affected.
References
- pypi.org/project/airflow-provider-spirit/0.0.1/ (opens in a new tab)
- bad-packages.kam193.eu/pypi/package/airflow-provider-spirit (opens in a new tab)
- virustotal.com/gui/file/06f1c2f0c66cf13ab6702414e8dce7c4115939f3e9cf95e9a8baade58961c016/detection (opens in a new tab)
- virustotal.com/gui/file/230f81f18608800912def92e18999874e004cd9fb4a554f759f77e4dd2030081/detection (opens in a new tab)
- virustotal.com/gui/file/c98444d6aebfd87f2f4412e1d7aafe8fe3fe080139ca1111049ea83fe828cd1d/detection (opens in a new tab)
- virustotal.com/gui/file/1360bb7437f5e7790747bc4e31eedcd19f88f23b20362a42368f4179b8b9e27d/detection (opens in a new tab)
- tria.ge/260720-teqmlshs6y/behavioral1 (opens in a new tab)
- pypi.org/project/airflow-provider-spirit/8.5.4/ (opens in a new tab)
- pypi.org/project/airflow-provider-spirit/8.5.3/ (opens in a new tab)