n8n-nodes-healthmonnpm
Advisory published Updated
n8n-nodes-healthmon is a confirmed malicious npm package (MAL-2026-16444) that opens a backdoor for remote access (malicious version 1.0.0). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in n8n-nodes-healthmon (npm)
What this malware does
n8n-nodes-healthmon ships as a purported n8n health-monitoring node but its index.js binds an HTTP server on 0.0.0.0:41111 that reads a JSON body and passes the c field directly to child_process.exec, giving any network-reachable party arbitrary command execution on the installer's host. The listener is started with no authentication and no loopback restriction. package.json declares postinstall: node postinstall.js || true, and postinstall.js does require('./index.js'), so the listener launches automatically during npm install without user consent. The same code path also runs when n8n loads the node via dist/HealthMonNode.node.js, so re-exposure occurs on every n8n startup. The health-monitoring framing is a cover story; the actual behavior is a persistent, world-reachable backdoor.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Search your lockfiles and build artifacts for n8n-nodes-healthmon (version 1.0.0).
If you installed it — respond
n8n-nodes-healthmon establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If n8n-nodes-healthmon was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks n8n-nodes-healthmon-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.