Researchers reported a software supply chain attack on PyPI in which malicious wheel packages posing as Python libraries delivered a newly identified malware family, ZiChatBot. The campaign, which reportedly began in July 2025, used three projects—uuid32-utils, colorinal, and termncolor—with termncolor serving as a benign-looking dependency wrapper to conceal the malicious colorinal package. The malware targeted both Windows and Linux, established persistence, and was removed from PyPI after disclosure.
ZiChatBot stood out for using Zulip public team chat REST APIs instead of conventional command-and-control servers to retrieve shellcode for execution. Investigators said the operator registered a Zulip organization named "helper," which has since been deactivated, and found code-level similarities between the dropper and malware previously linked to OceanLotus, indicating the campaign may be connected to that threat actor. Although no confirmed infections were publicly observed at the time of reporting, the operation was described as a deliberate global PyPI ecosystem abuse campaign that extends suspected OceanLotus tradecraft beyond phishing.

Trace attribution and downstream blast radius.
5 events from the most recent confirmed update back to the earliest known activity.
Three Python packages tied to the ZiChatBot campaign — uuid32-utils, colorinal, and termncolor — were uploaded to PyPI between July 16 and 22, 2025. The first two carried malicious payloads, while termncolor appeared benign but pulled in colorinal as a dependency.
The malware family dubbed ZiChatBot used Zulip public team chat REST APIs instead of traditional command-and-control infrastructure to receive shellcode for execution. The operator registered a Zulip organization named "helper" to support this activity before it was later deactivated.
The campaign began in July 2025 with malicious Python wheel packages uploaded to PyPI that masqueraded as legitimate libraries. The operation used the projects uuid32-utils, colorinal, and termncolor, with termncolor serving as a benign-looking dependency wrapper for the malicious package.
Following disclosure, the malicious packages were removed from PyPI and the Zulip organization used by the attackers was deactivated. At the time of reporting, no infections had been observed in telemetry or public reporting.
Kaspersky researchers analyzed the dropper and found notable similarities to malware previously associated with OceanLotus, leading to a suspected attribution. They also assessed the operation as a carefully planned global PyPI supply chain attack affecting both Windows and Linux targets.
Vulnerabilities, threat actors, malware, products, organizations, breaches, and observables Mallory has linked to this story. Indicator values are masked here and available in full in the app.
Indicator values are masked on this page. View all 29 in Mallory Domains, IPs, hashes, and URLs are exportable to your SIEM.
See attribution and downstream blast radius, and whether this package or vendor reaches your builds.
3 references tracked. Mallory keeps watching after this page renders.
cybersecuritynews.com
Open sourcethehackernews.com
Open sourcesecurelist.com
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.