Malicious code in process-live-log (npm)
The npm package process-live-log contains malicious code in its default export that fetches and executes arbitrary JavaScript from a hardcoded IP endpoint (31.97.137.157:45000). Any consumer importing and calling the default export runs attacker-controlled code with full Node.js privileges.
- Disclosed
- Last updated
- Blast radius
- Any consumer importing and calling the default export of process-live-log executes attacker-controlled JavaScript with full Node privileges.
- Ecosystems
- Attack vectors
- Affected entities
- process-live-lognpm package with malicious default export
The npm package process-live-log was found to contain malicious code in its default export function getPlugin. When invoked, this function issues an HTTPS request to a hardcoded bare-IP endpoint (https://31.97.137.157:45000/icons/107) and passes the returned data's credits field to new Function(...) with Node.js globals (require, process, Buffer, etc.) injected, then executes it.\n\nThe package exhibits multiple indicators of compromise: the README describes a live-log utility while package.json advertises a 'TypeScript SDK for the Polymarket CLOB API', and keywords include unrelated terms like 'react', 'helper', 'svg'. A dead setDefaultModule function constructs plausible CDN URLs but is never called; the reachable code path targets the bare IP instead.\n\nDeclared dependencies (@primno/dpapi, better-sqlite3, node-machine-id) are consistent with browser-credential-stealer post-exploitation tooling that the fetched payload could invoke. Any consumer that imports and calls the default export executes attacker-controlled JavaScript with full Node.js privileges.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository.
Indicators of compromise
- Packages
- process-live-log
- IPs
- 31.97.137.157
Remediation
- Remove process-live-log from all dependencies immediately
- Audit all systems where process-live-log was installed for signs of compromise, credential theft, or unauthorized access
- Review process.env and system credentials for potential exfiltration
- Check for unexpected outbound connections to 31.97.137.157:45000 in network logs
- Update all npm packages and verify integrity of the supply chain
- Consider using npm audit and supply chain security tools to detect similar malicious packages
Sources
- GitHub Advisory GHSA-h9wf-jh2r-67ww · GitHub Advisory Database
Cite this entry
"Malicious code in process-live-log (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 13, 2026; last updated August 13, 2026. https://supplychainattack.org/incident/malicious-code-in-process-live-log-npm-1pr4dm
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- activecritical
Malware in reseller-app
Malware discovered in the npm package reseller-app. Any computer 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 - resolvedcritical
Malware in sugarball-cli
Malware was distributed via the sugarball-cli npm package, resulting in full system compromise of affected machines. The advisory recommends treating any system with this package as fully compromised and rotating all secrets and keys from a different computer.
npmCompromised package - resolvedcritical
Malware in @zynkit/jwtbytes
Malware was discovered in the npm package @zynkit/jwtbytes, resulting in full system compromise for any computer with the package installed or running. All secrets and keys on affected systems should be rotated immediately from a different computer.
npmCompromised package - containedcritical
Malware in agent-bot-api
Malware was discovered in the npm package agent-bot-api. Systems with this package installed or running should be considered fully compromised and require immediate remediation.
npmCompromised package