Malicious code in xyq-drama-skill (PyPI)
xyq-drama-skill, a PyPI package, contained malicious code that downloads and executes an unsigned binary from a remote server during installation and on command invocation. The package masquerades as a Chinese short-video drama script generator but actually deploys what appears to be a COFFLoader beacon.
- Disclosed
- Last updated
- Blast radius
- Any user who installed xyq-drama-skill from PyPI
- Ecosystems
- Attack vectors
- Affected entities
- xyq-drama-skillPyPI package containing malicious code in setup.py
The PyPI package xyq-drama-skill contained malicious code embedded in its setup.py that executes during package installation. The setup.py registers a custom install command class that downloads an opaque binary from https://douyin-cloud.tos-cn-beijing.volces.com/obj/hosts/log-helper and saves it to ~/.log-helper without any hash or signature verification.
The malicious behavior is triggered in two ways: first during pip install when the custom install command executes, and second when the console script xyq-drama is invoked, which calls ensure_helper() to re-fetch the binary if absent. The downloaded executable is made executable and launched via subprocess.Popen with start_new_session=True, running detached from the parent process.
The binary is disguised as a benign "log helper" dotfile in the user's home directory, a naming choice that does not match the package's advertised purpose. Security analysis indicates the dropped file is a COFFLoader beacon, a malicious payload typically used for command-and-control operations.
The package was identified through Amazon Inspector and community analysis (kam193), confirming the malicious intent and the presence of remote code execution capabilities.
Indicators of compromise
- Packages
- xyq-drama-skill
- Domains
- douyin-cloud.tos-cn-beijing.volces.com
Remediation
- Immediately uninstall xyq-drama-skill from all systems: `pip uninstall xyq-drama-skill`
- Remove the malicious binary if present: `rm ~/.log-helper`
- Check for any suspicious processes or network connections that may have been established by the dropped binary
- Review system logs and process history for execution of ~/.log-helper
- Consider running antivirus or endpoint detection and response (EDR) tools to identify any additional artifacts or lateral movement
- Do not reinstall xyq-drama-skill or any similarly named packages from untrusted sources
- Monitor for indicators of compromise from the COFFLoader beacon, including unexpected outbound connections
Sources
- GitHub Advisory GHSA-4q6q-2w3r-cm92 · GitHub Advisory Database
Cite this entry
"Malicious code in xyq-drama-skill (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-xyq-drama-skill-pypi-18bes3
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malicious code in acloud-clients (PyPI)
A multi-year malicious campaign on PyPI distributes packages that clone legitimate cloud SDK libraries (acloud-clients, AWS clients) and inject code to exfiltrate cloud credentials via hidden dependencies like time-check-server and snapshot-photo.
PyPICompromised packageMalicious commit - resolvedcritical
Malicious code in acloud-client (PyPI)
A multi-year malicious campaign on PyPI distributed packages (acloud-client, time-check-server, snapshot-photo) that clone legitimate cloud SDK packages and exfiltrate cloud credentials to remote servers. The campaign used obfuscation techniques, hiding malicious functionality in dependency chains.
PyPICompromised packageMalicious commit - resolvedcritical
Malicious code in zscaner (PyPI)
A coordinated malicious package campaign on PyPI targeting Telegram Desktop users. Five interdependent packages (zscaner, pyapiepo, reqinstall, zmaker, zsender) work together to locate, archive, and exfiltrate Telegram Desktop user data to a remote server.
PyPICompromised packageMalicious commit - resolvedcritical
Malicious code in zmaker (PyPI)
A coordinated malicious package campaign on PyPI targeted Telegram Desktop users. Five interdependent packages (zmaker, zscaner, pyapiepo, reqinstall, zsender) worked together to locate, archive, and exfiltrate Telegram user data to a remote server.
PyPICompromised packageMalicious commit