MAL-2026-13627 Malicious code in @nestjs-passport/jwt (npm)
Malicious package
Published
MAL-2026-13627 is a malicious package: @nestjs-passport/jwt (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-13627/ (Markdown: https://insights.sbomify.com/MAL-2026-13627/index.md)
- Package
- @nestjs-passport/jwt
- Registry
- npm
What is MAL-2026-13627?
MAL-2026-13627 is a malicious package in @nestjs-passport/jwt, published on 7 Aug 2026.
Official description
Package published under the @nestjs-passport scope, which resembles the official @nestjs/jwt and @nestjs/passport packages. The sole entrypoint files dist/index.cjs and dist/index.js each consist of a single-line JSFuck-encoded string (~2.3MB of permutations of!+[],!![], +[]) that is passed to new Function('jose', <opaque body>) and invoked at require/import time, executing hidden code in the installer's Node process every time the module is loaded. The advertised purpose is a minimal HS256 JWT helper — a task requiring only a few lines of jose calls — and the shipped TypeScript declarations expose obfuscated private field names such as _0x5f2e and _0x4b19, inconsistent with the declared tsup build tooling. The combination of scope-level typosquat, whole-module JSFuck obfuscation, and dynamic evaluation of the obfuscated body at import time is a concealment-and-execution vehicle: whatever behavior the payload performs runs inside the installer's process without any traced-readable code path.
What should I do about MAL-2026-13627?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.