Malicious code in @beproduct/nestjs-auth (0.1.2 through 0.1.19) — Mini Shai-Hulud worm
Date: 2026-05
Affected: npm/@beproduct/nestjs-auth
Attack vector: data-exfiltration
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2026-46412
CWE: CWE-506
CVSS: 10 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)

## Summary Between 2026-05-11 20:19 UTC and 22:56 UTC, an attacker used a compromised npm publish token to publish 18 malicious versions of `@beproduct/nestjs-auth` (0.1.2 through 0.1.19). The packages contained payloads from the **Mini Shai-Hulud** npm supply-chain worm campaign described by [Aikido Security](https://www.aikido.dev/blog/mini-shai-hulud-is-back-tanstack-compromised). npm Security removed the malicious versions from the registry shortly after publication, but anyone who ran `npm install @beproduct/nestjs-auth` resolving to any version in the affected range during that window executed the malicious postinstall script and is potentially compromised. Version `0.1.20` is a clean republish from the original `0.1.1` source tree. ## Impact The postinstall payload attempted to harvest: - npm tokens (from `~/.npmrc`) - GitHub personal access tokens, OAuth tokens (`gho_*`), and Actions OIDC tokens - AWS credentials (from environment variables and `~/.aws/credentials`) - HashiCorp Vault tokens - Other secrets present in environment variables Exfiltration target: `https://filev2.getsession.org`. The worm also wrote persistence artefacts (`tanstack_runner.js`, `router_init.js`, `setup.mjs`, plus IDE-hook configurations in `.claude/` and `.vscode/`) into the developer's working tree where the malicious install ran. ## Indicators of compromise | Type | Value | |---|---| | File name (payload) | `tanstack_runner.js`, `router_init.js`, `router_runtime.js` | | SHA-256 (


Mitigations:

Architectural layers (MAESTRO):