Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in request-logger-canary (npm)

request-logger-canary@1.0.0 on npm contains a malicious preinstall.js script that establishes a reverse shell to 52.74.242.200:8851 when npm install runs, granting remote interactive shell access. The package README falsely claims the payload is dead code in postinstall.js, indicating deliberate obfuscation.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any user or system running `npm install request-logger-canary@1.0.0`; provides remote interactive shell access with user privileges.
Ecosystems
Attack vectors
Affected entities
  • request-logger-canary · 1.0.0

request-logger-canary@1.0.0 was published to npm with a malicious preinstall.js script that executes unconditionally during npm install. The script opens a TCP socket to 52.74.242.200:8851 and pipes an interactive /bin/sh shell to the remote endpoint, bridging stdin, stdout, and stderr.

Any machine running npm install request-logger-canary grants the operator of 52.74.242.200 an interactive shell with the privileges of the installing user. There is no conditional guard, environment check, or dead-code wrapper—the payload executes directly.

The package's README contains false documentation claiming the reverse shell is dead code wrapped in if (false) and located in postinstall.js. This misdirection is evidence of deliberate supply-chain attack intent. The actual live payload resides in preinstall.js with no protection.

This incident was identified and credited to the OpenSSF malicious-packages project.

Indicators of compromise

Packages
  • request-logger-canary
IPs
  • 52.74.242.200

Remediation

  • Immediately uninstall request-logger-canary from all systems
  • Audit npm install logs and package-lock.json for any installation of request-logger-canary@1.0.0
  • Assume any machine that ran `npm install request-logger-canary` may have been compromised; review system logs for suspicious activity and consider credential rotation
  • Block outbound connections to 52.74.242.200:8851 at the network level
  • Use npm audit to identify any transitive dependencies on request-logger-canary and remove them
  • Review npm account security and enable 2FA if not already in place

Sources

  1. GitHub Advisory GHSA-wx62-h3rg-4284 · GitHub Advisory Database

Cite this entry

"Malicious code in request-logger-canary (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 27, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-request-logger-canary-npm-hc7zi6

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malware in fetch-runtime

    Malware was discovered in the npm package fetch-runtime. Any system with this package installed or running should be considered fully compromised. All secrets and keys must be rotated immediately from a different computer.

    npmCompromised package
  2. resolvedcritical

    Malicious code in ghazaly (npm)

    The npm package ghazaly version 99.9.0 contained malicious code that executed a postinstall hook to collect system information (hostname, current user, IP addresses) and exfiltrate it to a Burp Collaborator domain. The package exhibited dependency-confusion characteristics with a high version number and nonsense dependencies.

    npmCompromised packageDependency confusion
  3. containedcritical

    Malicious code in base65-13x (npm)

    base65-13x@5.0.2 on npm contains malicious obfuscated code disguised as a legitimate base-x library. The decode() function executes a ~123KB VM-style payload with dynamic code construction and network I/O capabilities.

    npmCompromised package
  4. containedcritical

    Malicious code in kit-vim-map (npm)

    The npm package kit-vim-map contained malicious code that executes a remote-controlled Linux ELF binary on installation, providing the attacker with arbitrary RCE, persistence, and file exfiltration capabilities. The binary beacons to C2 server 217.60.77.63 and establishes persistence via systemd user units.

    npmCompromised packageMalicious commit