New iterations of the Shai-Hulud supply chain attack have hit over 100 packages across the NPM and PyPI ecosystems, security researchers warn.
Since September 2025, the self-replicating worm has been used in multiple campaigns targeting the open source software (OSS) community, with a surge in attacks observed over the past several months, following the Trivy vulnerability scanner incident.
In mid-May, TeamPCP, the hacking group behind Shai-Hulud, released the worm’s source code, and the first clones emerged shortly after.
Starting June 1, new variants of Shai-Hulud were used as part of broad, coordinated attacks. The first was the Red Hat incident, in which 32 packages part of Red Hat’s Hybrid Cloud Console JavaScript ecosystem were infected.
The Miasma variant
The payload used in the Red Hat attack contained the string “Miasma: The Spreading Blight”, which appeared in several other incidents last week.
Ox Security identified nearly a dozen malicious NPM packages that contained a weaponized binding.gyp file, designed to bypass the postinstall execution logic but to behave similarly.
A direct descendant of Mini Shai-Hulud, Miasma is a multi-stage dropper executed during NPM installation, Harness explains.
The payload scans the local system and connected cloud services for credentials, API keys, tokens, and other secrets, and uses them to spread itself by infecting the packages the victim has access to.
By June 5, at least 57 NPM packages and over 300 malicious package versions associated with the Miasma supply chain attack had been identified, Snyk, Sonatype, and StepSecurity warned.
The attack hit the Vapi server SDK, as well as the ai-sdk-ollama, autotel, awaitly, executable-stories, node-env-resolver, and wrangler-deploy ecosystems.
The Hades variant
Shortly after Miasma hit NPM, security researchers identified roughly two dozen PyPI packages spreading a new variant of Shai-Hulud, characterized by the string “Hades – The End for the Damned”.
The malware was seen in an initial wave of 19 packages containing a *-setup.pth file designed to execute at Python startup, fetch the Bun JavaScript runtime, and execute JavaScript code, Socket reports.
Analysis of the worm revealed it was the PyPI branch of Miasma. It contained the same credential-harvesting and self-spreading behavior, as well as the previously observed Shai-Hulud data exfiltration mechanism that involved publishing the collected information to new GitHub repositories.
On June 8, a second Hades wave hit the PyPI ecosystem, targeting more packages. Phantom releases were pushed to PyPI without corresponding iterations on GitHub, EndorLabs explains. At least 29 packages were affected, StepSecurity says.
The attack hit bioinformatics, graph machine learning, and MCP-themed packages, and Socket identified a mutation in the execution chain, where the payload is no longer bundled in the loader. Instead, the code searches across sys.path to create a loader and payload split to evade detection.
Across the affected NPM and PyPI packages, a total of 471 malicious artifacts were identified, including dozens of malicious PyPI wheel artifacts associated with the Hades Mini Shai-Hulud worm.
Related: IBM and Red Hat Commit $5 Billion to Secure Open Source Supply Chains Under “Project Lightwell”
Related: Over 5,500 GitHub Repositories Infected in ‘Megalodon’ Supply Chain Attack
Related: GitHub Confirms Hack Impacting 3,800 Internal Repositories
