⛔ Malware Advisory Detected 2026-07-15 · codelake behaviour pipeline
Confirmed malicious. codelake independently detected this at 2026-07-15 · codelake behaviour pipeline — codelake detected and independently confirmed node-procmetrics from the live npm feed via its install-hook behaviour pipeline (postinstall → raw-IP C2 → poll/exec/report). It is also recorded in OSV as MAL-2026-10445, so this is an independent confirmation of a known-malicious package, not a novel first-catch — the OSV record is credited below.. Also documented publicly: MAL-2026-10445 (OSV, 2026). Already recorded in OSV (MAL-2026-10445); named here as a defensive indicator record. codelake classified it independently from the npm feed.
Advisory · CLR-2026-3034

Fake “system metrics” npm package that opens a remote-command backdoor on npm install

The npm package node-procmetrics@1.0.3 presents itself as a “System metrics collector” — a decoy. It ships no repository, no homepage and no CLI, and its real payload is a postinstall hook that runs the moment you npm install. It launches an agent that connects to a hardcoded raw-IP C2 (152.53.120.90), polls it for commands, executes them via spawned processes, and POSTs the output back — giving the operator remote command execution on any machine or CI runner that installs it, with persistence and access to local secrets.

CriticalConfirmed maliciousC2 RATInstall hookAlso in OSV
Summary

The npm package node-procmetrics (version 1.0.3) describes itself as a “System metrics collector.” That description is the disguise: it ships no source repository, no homepage and no bin, and a legitimate metrics library has no reason to do what this one does on install.

Its package.json declares a postinstall hook that runs install.js, so the payload executes automatically on npm install, before the package is ever imported — including in CI, containers and developer machines.

codelake surfaced it from the live npm feed via its install-hook behaviour pipeline; the hardcoded raw-IP C2, the /commands polling loop and the spawn-and-report control flow are the decisive signals. It is also recorded in OSV as MAL-2026-10445 — this advisory is an independent confirmation and a defensive-indicator record, not a first-catch claim.

What the postinstall payload does

1 · Calls home to a hardcoded C2. On install it connects to http://152.53.120.90 — a bare IP address with no domain, declared nowhere in the package metadata.

2 · Polls for commands. It repeatedly requests /commands from the C2 — the operator queues arbitrary commands there.

3 · Executes them. Received commands are run via spawned processes on the host — arbitrary remote command execution.

4 · Reports back. Command output is POSTed to /results on the same C2, closing the remote-control loop.

5 · Persistence & local secrets. The agent keeps itself alive (detached / looping) and touches local credential locations (~/.ssh, ~/.aws, ~/.npmrc, environment) — so a single npm install is enough to hand over the host.

Indicators & characteristics
PKGnode-procmetrics@1.0.3 (npm) — “System metrics collector”, no repository / homepage / bin
SHA2564cfe9c14111f28d8c50785674199700504ce5947c7004e4182479a2fa129d1ee (tarball)
HOOKpackage.json: "postinstall" → node install.js — runs on install, before import
C2http://152.53.120.90 — /commands (poll), /results (report)
RCEcommands from C2 executed via spawned child processes
PERSISTdetached / looping agent; touches ~/.ssh, ~/.aws, ~/.npmrc, env
OSVMAL-2026-10445
Response & guidance
#ActionPriority
01 Do not install it. If it appeared in a build or on a developer machine, treat that host as compromised. Critical
02 Rotate any credentials that were present on a host that installed it (SSH keys, cloud/AWS creds, ~/.npmrc tokens, environment secrets) and review the host for unexpected processes or persistence. Critical
03 Block egress to 152.53.120.90 and hunt for outbound connections to it (and requests to /commands / /results) in CI/build logs. High
04 Already recorded in OSV (MAL-2026-10445). Treat freshly-published packages with a postinstall hook as suspect — install with npm install --ignore-scripts where possible. Info

Detected + classified independently by codelake Research via its install-hook behaviour pipeline · deterministic structural analysis of the packed tarball (package.json postinstall hook, raw-IP C2, /commands poll → spawn → /results report). Also recorded in OSV as MAL-2026-10445 — this is an independent confirmation and defensive-indicator record, not a first-catch claim.

This is a confirmed-malware advisory. No working payload or reproduction is published — the behaviour is described from structural analysis, and the C2 endpoint is named as a defensive indicator only. The original artifact is preserved in the codelake archive and available to verified security researchers on request.