Malicious code in airflow-provider-spirit (PyPI)
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.
AI Analysis
Technical Summary
The airflow-provider-spirit PyPI package contains malicious code that installs a persistent telemetry component via a .pth file, causing it to auto-load on every Python interpreter start regardless of package import. This component collects system information such as hostname, OS details, architecture, Python version, CPU count, and a session ID. It uses raw UDP DNS queries to public resolvers to retrieve base64-encoded data from TXT records under attacker-controlled domains, dynamically resolving the beacon destination at runtime to evade blocklists. Additionally, it attempts to download and execute a remote binary from Cloudflare Workers or reconstructs it from DNS TXT records if the primary method fails. The malicious executable is run and then removed, ensuring persistence and covert data exfiltration. The package disguises this activity under the guise of anonymous telemetry and Airflow provider functionality. Affected versions include 0.0.1 (which contains disarmed code), 8.5.3, and 8.5.4.
Potential Impact
This malicious package enables persistent execution on infected systems by auto-loading on every Python interpreter start. It collects and exfiltrates system information and can download and execute arbitrary remote binaries, potentially leading to further compromise. The use of DNS TXT records for command and control and payload delivery allows it to evade traditional network blocklists. The package also overrides the installation process to execute malicious code, increasing infection risk. Overall, it poses a significant threat to confidentiality and system integrity.
Mitigation Recommendations
No official patch or remediation is currently documented for this malicious package. The best mitigation is to avoid installing airflow-provider-spirit from PyPI and remove it if present. Since the package uses a .pth file for persistence, manual removal of the package and any related .pth files from site-packages is necessary. Monitor for and block DNS queries to suspicious domains such as those under dl.well1.site and Cloudflare Workers used by this package. There are undocumented environment variables (DISABLE_TELEMETRY / ANALYTICS_OPT_OUT) that may disable telemetry, but these are not publicly documented and may not fully mitigate the threat. Check vendor or PyPI advisories for updates.
Malicious code in airflow-provider-spirit (PyPI)
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.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The airflow-provider-spirit PyPI package contains malicious code that installs a persistent telemetry component via a .pth file, causing it to auto-load on every Python interpreter start regardless of package import. This component collects system information such as hostname, OS details, architecture, Python version, CPU count, and a session ID. It uses raw UDP DNS queries to public resolvers to retrieve base64-encoded data from TXT records under attacker-controlled domains, dynamically resolving the beacon destination at runtime to evade blocklists. Additionally, it attempts to download and execute a remote binary from Cloudflare Workers or reconstructs it from DNS TXT records if the primary method fails. The malicious executable is run and then removed, ensuring persistence and covert data exfiltration. The package disguises this activity under the guise of anonymous telemetry and Airflow provider functionality. Affected versions include 0.0.1 (which contains disarmed code), 8.5.3, and 8.5.4.
Potential Impact
This malicious package enables persistent execution on infected systems by auto-loading on every Python interpreter start. It collects and exfiltrates system information and can download and execute arbitrary remote binaries, potentially leading to further compromise. The use of DNS TXT records for command and control and payload delivery allows it to evade traditional network blocklists. The package also overrides the installation process to execute malicious code, increasing infection risk. Overall, it poses a significant threat to confidentiality and system integrity.
Mitigation Recommendations
No official patch or remediation is currently documented for this malicious package. The best mitigation is to avoid installing airflow-provider-spirit from PyPI and remove it if present. Since the package uses a .pth file for persistence, manual removal of the package and any related .pth files from site-packages is necessary. Monitor for and block DNS queries to suspicious domains such as those under dl.well1.site and Cloudflare Workers used by this package. There are undocumented environment variables (DISABLE_TELEMETRY / ANALYTICS_OPT_OUT) that may disable telemetry, but these are not publicly documented and may not fully mitigate the threat. Check vendor or PyPI advisories for updates.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-10754
- Osv Schema Version
- 1.7.4
- Aliases
- []
- Ecosystems
- ["PyPI"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a5e79fb2a4a8d59899d3625
Added to database: 07/20/2026, 19:41:47 UTC
Last enriched: 07/20/2026, 19:53:14 UTC
Last updated: 07/30/2026, 10:53:45 UTC
Views: 17
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.