MAL-2026-3777 Malicious code in vue-template-compiler-plugin (npm)

Malicious package Published
Package
vue-template-compiler-plugin
Registry
npm

What is MAL-2026-3777?

MAL-2026-3777 is a malicious package in vue-template-compiler-plugin, published on 13 May 2026.

Official description

Full C2 implant disguised as vue-template-compiler fork. postinstall-run.cjs loads tooling-bootstrap.cjs which contains base64-encoded C2 agent. Decoded payload: registers victim (hostname, username, OS) to Cloudflare tunnel C2 at maiden-apply-looks-education.trycloudflare.com, beacons for tasks, reports results, uploads files. Persists agent ID in ~/.gradle-cache/.aid. Has C2_TLS_INSECURE env var bypass. Package mirrors vue-template-compiler version 2.7.16 and claims to be an 'API-compatible fork with postinstall hooks' — social engineering for npm override/alias substitution.

This package impersonates the legitimate vue-template-compiler (same version 2.7.18, framed as an "API-compatible fork"), and its package.json description instructs consumers to alias the real name to this one via npm overrides or resolve.alias. On install, the postinstall hook (postinstall-run.cjs) loads tooling-bootstrap.cjs, which assembles ~80 base64 string fragments in BOOTSTRAP_B64, Buffer.from-decodes them, writes the result to ~/.gradle/daemon/tooling-api-runtime.mjs (a cover-story path mimicking a Gradle cache), and then spawns node on that file with detached: true, stdio: 'ignore', windowsHide: true, and child.unref() so the process survives npm install. The decoded payload is a remote-access trojan that polls https://maiden-apply-looks-education.trycloudflare.com/ for commands, executes arbitrary shell commands on the installer's host, and exfiltrates files. Three independent block signals: (1) typosquat-with-divergent-API against a top-tier Vue package, (2) obfuscated base64-chunked executable payload decoded and exec'd at install, (3) persistent detached RAT beaconing to an attacker-controlled Cloudflare quick-tunnel.

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-3777?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Also known as GHSA-gvmg-cf54-7769.

Is MAL-2026-3777 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free