Malicious code in n8n-nodes-metricsagent (npm)
MAL-2026-16445
Published · Modified
Dependency scanning
Check whether n8n-nodes-metricsagent is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (5c0f8f773e26111905993b9bded9babe49611349bbe3ea18d32da0c22692f65f)
The package declares a postinstall lifecycle script (package.json scripts.postinstall = 'node postinstall.js || true') that requires./index.js and swallows errors via try/catch. index.js runs _init() at top level, which calls http.createServer(...).listen(41111, '0.0.0.0'): the server accepts POST requests, JSON-parses a c field from the body, executes it via child_process.exec with a 30-second timeout, and returns stdout/stderr to the caller. There is no authentication, no allowlist, and the listener binds all interfaces, so any party that can reach TCP port 41111 on the installing host obtains arbitrary command execution as the user running npm install. dist/MetricAgentNode.node.js also requires../index.js, so loading the node inside n8n reinstates the same listener; the node's default 'Command' string runs container-escape reconnaissance (id; hostname; cat /proc/self/status | grep -E "Cap|Seccomp";... ls -la /var/run/docker.sock) under a 'Health Monitor' label. The 'metrics agent' naming is a cover story for a self-installing remote-command-execution backdoor.
References
Ready to move
Start Securing
Free, no credit card | First findings in minutes