The open-source software supply chain is under sustained attack from a campaign involving self-propagating worms named Miasma (targeting npm) and Hades (targeting PyPI). This campaign, attributed to the threat actor group TeamPCP, is designed to harvest developer credentials at scale by infecting popular libraries and spreading to new packages. The Hades variant introduced a new persistence mechanism using .pth files to ensure its malicious code executes automatically. This ongoing attack underscores the fragility of the software supply chain, where the compromise of a single developer account can lead to the widespread distribution of malware through trusted dependency channels.
The campaign began with the Miasma worm on npm and later expanded to PyPI with the Hades variant. The core objective is credential theft. The financially motivated group TeamPCP has been linked to the operation. Across both ecosystems, the campaign has resulted in over 100 compromised packages and more than 471 distinct malicious artifacts.
The attack specifically targets libraries related to bioinformatics, graph machine learning, and the Model Context Protocol (MCP), suggesting a focus on developers working in specialized, data-rich fields. The worm's ability to mutate and split its loader and payload during the campaign indicates a degree of sophistication aimed at evading static scanners and detection tools.
The worm's attack cycle is a clear example of T1195.001 - Compromise Software Dependencies and Development Tools.
*-setup.pth file. A .pth file is a path configuration file that Python processes upon startup. By placing malicious code in this file, the attacker ensures their payload runs automatically whenever the developer's Python interpreter starts. This payload then fetches the Bun JavaScript runtime to execute the primary malicious logic..npmrc, .git-credentials), and SSH keys (T1552 - Unsecured Credentials).T1537 - Transfer Data to Cloud Account). The attackers then use the stolen PyPI/npm credentials to publish new malicious packages or update existing ones, thus propagating the worm.This type of attack has a significant cascading impact. By compromising developer accounts, attackers can inject malicious code into legitimate software projects that are, in turn, used by thousands of other applications and organizations. This erodes the 'transitive trust' that underpins the entire open-source ecosystem. The theft of CI/CD tokens and other credentials can lead to more severe breaches, including unauthorized access to source code repositories, build environments, and production systems. The financial motivation of TeamPCP suggests the stolen credentials and access are likely sold to other cybercriminals or used for further attacks.
No specific Indicators of Compromise (IOCs) were mentioned in the source articles.
Developers and security teams can hunt for signs of this activity:
*-setup.pth.../site-packages/) for any .pth files containing executable code.bun.exeraw.githubusercontent.com or api.github.com~/.npmrc, ~/.git-credentialspackage-lock.json (npm) or poetry.lock/Pipfile.lock (Python) to pin dependencies to specific, vetted versions. This prevents the automatic installation of a newly published malicious version.TeamPCP launched a major supply chain attack targeting LiteLLM, exposing over 2,500 companies and 434,000 CI/CD pipelines via malicious PyPI packages.
Enforce MFA on developer accounts for package managers (npm, PyPI) and source code repositories (GitHub) to prevent takeover.
Mapped D3FEND Techniques:
While not universally adopted in these ecosystems, using and verifying package signatures where available can provide an additional layer of trust.

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.
CyberNetSec.io uses automation to assist source monitoring, deduplication, observable extraction, and structured intelligence generation. Published analysis follows human-defined editorial standards and adds defensive context including MITRE ATT&CK, D3FEND, STIX, and Sigma where applicable. Read our editorial policy.
Help others stay informed about cybersecurity threats
Every tactic, technique, and sub-technique used in this threat has been identified and mapped to the MITRE ATT&CK framework for consistent, actionable threat language.
Observables and indicators of compromise (IOCs) have been extracted and cataloged. Risk has been assessed and correlated with known threat actors and historical campaigns.
Detection rules, incident response steps, and D3FEND-aligned mitigation strategies are included so your team can act on this intelligence immediately.
Structured threat data is packaged as a STIX 2.1 bundle and can be visualized as an interactive graph — relationships between actors, malware, techniques, and indicators.
Sigma detection rules are derived from the threat techniques in this article and can be converted for deployment across any major SIEM or EDR platform.