Shai Hulud 2.0: What We Know About the Ongoing NPM Supply Chain Attack

A new wave of supply chain compromise is unfolding across the open-source ecosystem. Multiple security vendors, including Aikido Security and Wiz have confirmed that the threat actor behind the earlier Shai Hulud malware campaign has resurfaced. This time, compromising NPM accounts, GitHub repositories and widely-used packages associated with Zapier and the ENS (Ethereum Name Service).

written by
Kodem Security Research Team
published on
November 24, 2025
topic
Vulnerabilities

What Happened?

Aikido Security first reported that Zapier’s NPM account was compromised, enabling an attacker to publish malicious versions of multiple packages. The malware was linked to the same actor behind the self-propagating Shai Hulud worm discovered in September 2025.

Wiz Research has since confirmed the scope is far broader: 26,000+ GitHub repositories have been created using stolen developer credentials. These repos distribute malicious or look-alike packages and often include the description: “Sha1-Hulud: The Second Coming.”

The attacker’s objectives remain consistent with earlier activity:

  • Steal credentials and authentication material.
  • Exfiltrate sensitive environment variables.
  • Inject malicious code paths.
  • Compromise trusted developer and CI/CD pipelines within the supply chain.

The campaign is ongoing and expanding, targeting high-trust maintainer accounts to maximize downstream impact.

How the Attack Works

Shai Hulud 2.0 follows the same pattern as the earlier campaign, but at a wider scale:

  1. Compromise maintainer or developer credentials.
  2. Publish modified or entirely new packages.
  3. Self-propagate across CI/CD pipelines and developer machines. Just like the first Shai Hulud wave, the malware attempts to spread by abusing developer automation.
  4. Exfiltrate environment variables (cloud credentials), secrets and tokens.
  5. Infect downstream dependencies.

This illustrates why supply-chain attacks are so difficult to contain: a single compromised maintainer account can cascade across thousands of projects.

What Teams Should Do Immediately

  1. Identify whether affected versions were pulled in your environments. 
    • Review dependency manifests.
    • Check lockfiles for exact versions.
    • Audit CI pipelines that may have installed or cached packages.
  2. Rotate secrets.
    • If any impacted package was used anywhere in your workflows, assume credential exposure.
  3. Pin trusted versions and enforce integrity protection.
    • Require package-lock.json / yarn.lock / pnpm-lock.yaml
    • Enable NPM package integrity tooling.
  4. Block newly discovered malicious packages.
    • As more repos and packages are identified, expect updates from security vendors and the NPM security team.
  5. Monitor for suspicious behavior.
    • Unexpected outbound requests.
    • Modified build scripts.
    • New GitHub repos interacting with your code.
    • Credential anomalies in CI/CD logs.

Why This Matters

Unlike typical malware that targets end users, Shai Hulud 2.0 explicitly targets developers, build systems, automated pipelines and package maintainers. This creates a compounding effect: a compromise in one developer’s environment can silently impact thousands of downstream users.

The scale of credential theft and automated GitHub repository creation shows a threat actor that is highly automated, persistent and familiar with developer workflows. This incident underscores the fragility of the modern software supply chain and how quickly a single upstream compromise can reshape risk across the ecosystem.

Technical Details: How the Malicious Packages Behave

Analysis across affected packages shows recurring traits in how Shai Hulud 2.0 embeds, triggers and propagates its payloads:

Runtime Behavior

  • Malicious logic is injected into lifecycle hooks: install, postinstall, prepare, prepublish.
  • Scripts enumerate environment variables and extract available credentials, including CI service tokens, cloud credentials and package manager tokens.
  • Several samples attempt to download secondary payloads or command files over HTTP.
  • Obfuscation routines commonly rely on base64 encoding, string splitting or minimal XOR operations.
  • When tokens are found, the malware attempts to re-publish tampered versions under the victim’s NPM profile.

Versioning Signals

  • Compromised packages often appear as unexpected patch bumps with minimal or no code changes.
  • Published versions frequently lack corresponding tags or release notes.
  • Mismatches between GitHub source and the NPM tarball are common.
  • Maintainer activity on GitHub may not align with the timing of the published version.

Indicators of Compromise (IoCs)

Observed network endpoints
Domains associated with exfiltration or payload retrieval.

shai-hulud[.]xyz
hulud-sec[.]xyz
npm-sync-secure[.]net
env-dump-upload[.]net‍

Observed filenames
Files commonly inserted or modified in compromised packages.

postinstall.js
env-dump.js
token-grab.js
npmrc-mod.js
update.js

Script signatures
Code fragments repeatedly seen in malicious versions.

process.env.*
curl -X POST
fetch("http://...")
Buffer.from(..., "base64")
child_process.exec("env")

Affected Packages

The full list contains nearly 500 compromised packages, they are grouped below in a searchable list by ecosystem or domain area to improve readability. This list reflects currently identified packages; additional affected versions may still emerge as analysis continues.

Packages with Known Secret Leakage Behavior

Wiz & Aikido flagged this subset as leaking environment variables or credentials:

posthog-node

@postman/node-keytar

@posthog/kinesis-plugin

zapier-platform-core

zapier-platform-cli

@asyncapi/generator

References

Blog written by

Kodem Security Research Team

More blogs

View all

Remediation That Meets Developers in Context

Identifying issues isn’t the challenge. The challenge is effective remediation that fits your codebase, your environment and your team’s development velocity. Developers need to understand where issues originated, which packages to upgrade, what code to change and how disruptive fixes will be. Meanwhile, AppSec needs visibility into what's immediately actionable and which issues require cross-team coordination.

November 19, 2025

Keep Risk Out of Main: When Security Policies Actually Help Development

November 13, 2025

Part 2 — Automotive Software Security: Beyond Compliance, Toward Proof

Follow-on to Part 1: Translating regulation into runtime evidence.

November 12, 2025

A Primer on Runtime Intelligence

See how Kodem's cutting-edge sensor technology revolutionizes application monitoring at the kernel level.

5.1k
Applications covered
1.1m
False positives eliminated
4.8k
Triage hours reduced

Platform Overview Video

Watch our short platform overview video to see how Kodem discovers real security risks in your code at runtime.

5.1k
Applications covered
1.1m
False positives eliminated
4.8k
Triage hours reduced

The State of the Application Security Workflow

This report aims to equip readers with actionable insights that can help future-proof their security programs. Kodem, the publisher of this report, purpose built a platform that bridges these gaps by unifying shift-left strategies with runtime monitoring and protection.

Get real-time insights across the full stack…code, containers, OS, and memory

Watch how Kodem’s runtime security platform detects and blocks attacks before they cause damage. No guesswork. Just precise, automated protection.

Stay up-to-date on Audit Nexus

A curated resource for the many updates to cybersecurity and AI risk regulations, frameworks, and standards.