TL;DR: Malicious npm packages impersonating Rollup polyfill tooling shifted execution from install time to CommonJS plugin import time, then chained remote payload retrieval, secret collection, and RAT-style host control across developer workstations and CI runners, according to Corgea. This breaks the assumption that blocking lifecycle scripts is enough; build-path imports now need the same scrutiny as package installs.
Editorial analysis by NHI Mgmt Group, based on content published by Corgea: “Rollup polyfill lookalikes on npm hide an import-time loader, JSONKeeper stage, and 216.126.236.244 RAT”.
Key questions
Q: What breaks when trusted build imports can execute npm malware?
A: Lifecycle-script blocking is no longer enough because the malicious code runs when a plugin is imported, not only when a package is installed.
Q: Why do malicious build-tool plugins create credential theft risk?
A: They run inside developer and CI contexts that already have access to cloud credentials, SSH keys, browser sessions, and other authenticators.
Q: What are the signs that a dependency is staging remote payloads?
A: Look for packages that fetch JavaScript from remote services, use eval, spawn secondary installs, or hide the real payload outside the tarball.
Practitioner guidance
- Audit build-time import paths Map every Rollup, Vite, and Node config import that resolves third-party plugins, then verify whether those imports execute code before the build starts.
- Quarantine suspicious dependency clusters Search lockfiles and package caches for the six package names in the reported chain, then isolate any runner or workstation that loaded them during the exposure window.
- Review host secrets exposure Check browser profiles, SSH material, cloud credential paths, wallet storage, and AI-assistant directories on any host that loaded the plugin entrypoint.
Bottom line: The incident shows that malicious npm packages can weaponise build-tool imports, not just lifecycle scripts, which expands the execution surface inside trusted development workflows.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Import-time execution is the governance blind spot: organisations that only harden npm lifecycle scripts are protecting the wrong boundary. When a plugin executes on require(), the build system itself becomes the execution surface, and that changes how dependency risk should be classified. Practitioner conclusion: review trusted import paths as privileged code paths, not just package metadata.
A question worth separating out:
A: Contain the endpoint, revoke the exposed secrets, and check for follow-on compromise in repositories and cloud accounts. Uninstalling the package is not sufficient if persistence, exfiltration, or secondary payloads were already established. Response has to cover the host, the identities it touched, and any downstream systems those identities can reach.
👉 Read our full editorial: Rollup plugin imports can trigger npm malware beyond install-time checks