Security researchers have warned of a major new Shai-Hulud-based campaign which has already compromised more than 430 packages with a combined two billion monthly installs.
The ChainDrop campaign began on August 4 when attackers compromised the GitHub account of a maintainer behind the popular keyv key storage library, which has around 127 million weekly npm downloads, according to Aikido Security.
They used that access to inject a credential-stealing worm across other packages, including cacheable (29 million downloads/month), flat-cache (565 million), and file-entry-cache (557 million), the write-up claimed.
“The compromise was carried out by pushing malicious files directly to the main branch and then immediately cutting a new release, meaning the poisoned versions were published to npm with valid provenance signed by GitHub Actions,” Aikido explained.
Read more on Shai-Hulud: Shai-Hulud-Like Worm Targets Developers via npm and AI Tools
The malicious packages contain an infostealer designed to harvest npm and GitHub tokens, AWS credentials, Kubernetes secrets, HashiCorp Vault tokens, Stripe and Slack tokens, and perform a generic file system scan.
Once stolen, they’re encrypted and sent to a public GitHub repository with the description "Shai-Hulud: Here We Go Again."
Like the infamous Shai-Hulud campaigns, ChainDrop features worm-like capabilities allowing it to spread to other maintainers and repositories via the stolen npm and GitHub tokens.
Packages associated with Deliveroo, Ornikar, OneReach, Picsart and Qlik have been compromised as part of the campaign.
Wiz Security’s Mitigation and Protection Guidance
Microsoft and Wiz Security also published analysis of the campaign including indicators of compromise (IOCs) and mitigation advice. The latter’s recommendations are as follows:
- Identify and remove affected package versions from development, build, and CI/CD environments
- Treat affected systems as potentially compromised and rebuild them if malicious packages were installed
- Rotate exposed credentials (eg cloud credentials, GitHub tokens, SSH keys, Kubernetes configurations, Terraform credentials)
- Review cloud and source-code environments for unauthorized access or suspicious activity following package installation
- Monitor for published IOCs, including the relevant domains, file artifacts, and other indicators
- Build resilience by enabling dependency allowlisting, package integrity verification, and provenance controls where available
Katie-Paxton Fear, ethical hacker and staff security advocate at Semgrep, argued that the ChainDrop playbook is nothing new following Shai-Hulud last year.
“The worm steals developer credentials, uses them to compromise more packages and keeps moving through trusted publishing workflows,” she added.
“Even without a brand-new technique, organizations can’t assume that if they aren't using the package that they are safe. They need to treat any installation, even if they aren't using it, as a possible credential breach, and rotate exposed secrets, check logs for unauthorized access and audit their own packages for infection.”
