MAL-2026-16102 Malicious code in mfatest2 (npm)
Malicious package
Published
MAL-2026-16102 is a malicious package: mfatest2 (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-16102/ (Markdown: https://insights.sbomify.com/MAL-2026-16102/index.md)
- Package
- mfatest2
- Registry
- npm
What is MAL-2026-16102?
MAL-2026-16102 is a malicious package in mfatest2, published on 9 Sep 2026.
Official description
package.json declares its only runtime dependency as an unpinned GitHub ref (
"node-net-pool": "github:trktgq0wbre1/node-net-pool") pointing at a random-handle user account, contradicting the package's own 'Zero runtime dependencies — pure Node.js built-ins only' claim in the README. npm install resolves whatever HEAD of that repository currently returns, and lib/cache.js executes a top-level require of that dependency inside a swallowed try/catch, using the bracketed form module['require']('node-net-pool') that evades naive grep for require('node-net-pool'). The README documents an 'Asset prefetch' step in which the loaded dependency resolves a remote endpoint from an internal segment registry, downloads a 'runtime patch asset', and executes it as a detached background worker via child_process.execFile — placing the fetch-and-execute mechanism inside the mutable off-registry dependency that the author can update at any time. The package advertises Discord MFA / vanity-URL sniping, a category where such mislabeled-dependency channels are routinely used to smuggle credential-stealer code.What should I do about MAL-2026-16102?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.