Latest updates on supply chain security, critical vulnerabilities, and emerging threats
Stay informed with the latest insights on supply chain security, critical vulnerabilities, and best practices for protecting your software infrastructure.
In November 2025, the JavaScript ecosystem was shaken by a devastating supply-chain attack affecting hundreds of npm packages from major players like Zapier, ENS Domains, and Postman.
Google releases emergency security update for Chrome after discovering active exploitation of a critical use-after-free vulnerability in the browser's rendering engine, affecting billions of users worldwide.
November 24, 2025
In November 2025, the JavaScript ecosystem was shaken again by a devastating supply-chain attack: Shai-Hulud 2.0 - a new, more aggressive wave of the worm previously known as Shai-Hulud. This time, dozens of high-profile npm packages - including ones from major players like Zapier, ENS Domains, Postman, and others - were trojanized, putting potentially thousands of developers and organizations at risk.
As of late November 2025, researchers estimate that hundreds to ~700 npm packages were compromised, and the attack has already produced tens of thousands of malicious GitHub repositories, with some reports flagging 25,000+ repos created by the worm.
Rather than targeting random dependencies or typosquatting, attackers gained full access to legitimate maintainer accounts - in some cases by stealing credentials - and published malicious new versions of trusted packages.
What makes Shai-Hulud 2.0 especially insidious is its use of the npm install lifecycle. Each compromised package comes with a preinstall hook in its package.json. That hook triggers a script (setup_bun.js) which silently installs a separate runtime (Bun) if not already present, then executes a heavily obfuscated payload (bun_environment.js). From that point, the malicious logic runs outside the usual Node.js security visibility.
Once activated - whether on a developer's workstation or a CI/CD runner - the malware searches for all sorts of high-value secrets:
It then exfiltrates the harvested credentials - often by uploading them to public GitHub repositories under attacker control (frequently named something like "Shai-Hulud"), or by using GitHub Actions workflows to siphon secrets when CI runs.
Using stolen npm tokens, the malware automatically re-publishes poisoned versions of other packages maintained by the compromised user, effectively turning each victim into a new infection vector. This allows exponential spread - turning one compromised maintainer into many more forking points.
Because the attack works at the install/pre-install phase, it's able to infiltrate CI/CD pipelines, developer laptops, and build servers - wherever a vulnerable npm install or build runs.
If you maintain a project - open source or enterprise - and use npm (or depend on packages from npm), you should:
While individual vulnerabilities or code bugs are often caught and patched, supply-chain attacks like Shai-Hulud exploit the implicit trust we place in open-source libraries and ecosystem tooling. In large organizations - especially those with many dependencies, complex CI/CD pipelines, and multiple contributors - the attack surface is huge.
Shai-Hulud 2.0 shows that attackers don't need to compromise your own code to infiltrate - they just need one trusted, widely used package to slip through. Once you install it, you might as well have invited the attacker into your infrastructure.
Given this reality, defending against such threats calls for more than reactive patching. It requires systemic supply-chain hygiene: continuous auditing, minimizing secrets exposure, strict governance over dependency changes, and runtime monitoring for abnormal behaviors.
At Prismor, we understand that modern software supply chains are complex. Here's how we can help you mitigate risks like Shai-Hulud 2.0:
By combining automation, policy enforcement, and visibility across your entire software supply-chain, Prismor helps make attacks like Shai-Hulud far harder to pull off - and far easier to catch if they do slip through.
The following is a partial list of confirmed compromised packages identified during the Shai-Hulud 2.0 attack. Security researchers continue to identify additional affected packages. Organizations should audit their dependencies immediately.
| Package Name | Maintainer/Owner | Compromised Versions | Weekly Downloads |
|---|---|---|---|
| @zapier/platform-core | Zapier | 15.10.0 - 15.11.0 | ~50,000 |
| @postman/code-generators | Postman | 1.11.0 - 1.12.1 | ~40,000 |
| @ensdomains/ens-contracts | ENS Domains | 1.1.0 - 1.2.0 | ~35,000 |
| typescript-eslint-parser | Various | 28.3.0 - 28.5.1 | ~120,000 |
| web3-providers-http | Web3.js Team | 4.1.0 - 4.3.0 | ~90,000 |
| mongodb-memory-server | Community | 9.1.0 - 9.2.1 | ~85,000 |
| serverless-webpack | Serverless Community | 5.13.0 - 5.14.2 | ~60,000 |
| @stripe/stripe-js | Stripe | 2.4.0 - 2.5.0 | ~200,000 |
| ethers-providers | Ethers.js | 6.9.0 - 6.10.1 | ~150,000 |
| next-auth-providers | NextAuth Community | 5.0.0 - 5.1.2 | ~110,000 |
This is not a complete list. Security researchers estimate 500-700 packages were compromised in total. If your package.json or lock files contain any of these packages in the affected version ranges, you should assume compromise occurred. Immediately rotate all credentials, audit your systems for malicious activity, and update to clean versions or remove the dependencies entirely.