MAL-2026-13706 Malicious code in neverthrow-js (npm)
Malicious package
Published
MAL-2026-13706 is a malicious package: neverthrow-js (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-13706/ (Markdown: https://insights.sbomify.com/MAL-2026-13706/index.md)
- Package
- neverthrow-js
- Registry
- npm
What is MAL-2026-13706?
MAL-2026-13706 is a malicious package in neverthrow-js, published on 10 Aug 2026.
Official description
Package [email protected] is a typosquat of the legitimate neverthrow library. package.json declares postinstall: node./dist/install.js, which runs automatically on npm install. The install script reconstructs the destination host and path from decoy arrays that mimic WordPress plugin metadata (filtered fragments yielding ecoferros.com and the path /wp-content/plugins/elementor/admin/dev-tools/index.php?req=verify) so the literal C2 URL never appears in source. It fetches a response, base64-decodes the body, and executes it via new Function("rq", parsed); nfu(require)(), passing require into the evaluated code so the remote payload has full Node capability on the installer's host. Execution is gated by a Date check for 2026-08-11 02:00:00 GMT. index.cjs.js reproduces the real neverthrow library to provide cover for the malicious install hook.
What should I do about MAL-2026-13706?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.