MAL-2026-6477 Malicious code in runtimekit (npm)
- Package
- runtimekit
- Registry
- npm
What is MAL-2026-6477?
MAL-2026-6477 is a malicious package in runtimekit, published on 25 Jun 2026.
Official description
lib/index.cjs and lib/index.mjs (re-required from lib/readonly.cjs) contain a self-executing IIFE that decodes two opaque strings via a custom shuffle routine (YWG), recovers the identifier constructor from one of them, retrieves the Function constructor via property access, then builds and invokes nested Function-constructor calls — Function('', Function('', decoded1))(decoded2)(7942) — executing arbitrary decoded JavaScript at module load. Before the synthesis, the loader assigns global.r = require and global.m = module, deliberately smuggling Node's require and module bindings into the global scope so the dynamically constructed function (which does not inherit the module's closure) can reach them. A marker global._V = "A6-Shadow-16" is also set. The package advertises itself as a validation/runtime utility but ships an obfuscated self-injecting loader with no legitimate purpose for hiding code from Function constructors. Any consumer that does require('runtimekit') or require('runtimekit/readonly') runs the decoded payload in-process with full Node privileges.
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
What should I do about MAL-2026-6477?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.
Sources
Also known as GHSA-v6qq-vq5x-rmxf.