Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in copytrade-core (npm)

The npm package copytrade-core contained malicious code that performs arbitrary remote code execution by fetching and executing code from a hardcoded IP endpoint (31.97.137.157:45000). The package includes credential-stealing dependencies and was designed to exfiltrate browser and wallet credentials.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any npm consumer of copytrade-core package
Ecosystems
Attack vectors
Affected entities
  • copytrade-corenpm package containing malicious code in index.js

The npm package copytrade-core was found to contain malicious code in its index.js file. The package exports a getPlugin function that makes an HTTPS request to a hardcoded bare-IP endpoint (31.97.137.157:45000/icons/108) and executes the response's credits field as arbitrary JavaScript code using new Function() with injected require, module, process, and Buffer objects.

The malicious package includes dependencies on @primno/dpapi (Windows DPAPI decryption), node-machine-id, and better-sqlite3, which are consistent with credential-stealing malware. A secondary setDefaultModule function constructs plausible CDN URLs but is never invoked; the exported code path uses the bare-IP endpoint instead, ensuring the attacker controls the executed payload.

The package was identified by Amazon Inspector and credited to the OpenSSF's malicious-packages repository. Any consumer of copytrade-core would be subject to remote code execution with the privileges of the Node.js process.

Indicators of compromise

Packages
  • copytrade-core
IPs
  • 31.97.137.157

Remediation

  • Immediately remove copytrade-core from all projects and dependencies
  • Audit npm package.json and lock files for any presence of copytrade-core
  • Regenerate any credentials or secrets that may have been accessed by the malicious code
  • Review process logs and system activity on machines where copytrade-core was installed for signs of credential exfiltration
  • Update to a patched version if one is released, or use an alternative package
  • Implement npm package scanning and verification in CI/CD pipelines to detect malicious packages

Sources

  1. GitHub Advisory GHSA-mp75-xvjv-4p2w · GitHub Advisory Database

Cite this entry

"Malicious code in copytrade-core (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 13, 2026; last updated August 13, 2026. https://supplychainattack.org/incident/malicious-code-in-copytrade-core-npm-19pdkn

Suggest a correction

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

  1. activecritical

    Malware in @zynkit/probe

    Malware discovered in the npm package @zynkit/probe. Systems with this package installed or running are considered fully compromised, with potential for complete system takeover.

    npmCompromised package
  2. resolvedcritical

    Malicious code in epic-sso (npm)

    The npm package epic-sso was found to contain malicious code. The package was identified by Amazon Inspector and reported through the OpenSSF malicious packages database.

    npmCompromised package
  3. containedcritical

    Malicious code in pfp-forms-sme-loan (npm)

    The npm package pfp-forms-sme-loan contains malicious code that executes a hidden loader on import, downloading and running platform-specific native payloads from attacker-controlled Cloudflare Workers hosts or reconstructing them via DNS TXT records under well1.site. Any system that imported this package should be considered compromised.

    npmCompromised packageMalicious commit
  4. containedcritical

    Malicious code in checkout-desktop-total (npm)

    The npm package checkout-desktop-total contained malicious code that executes a hidden loader on import, downloading and running platform-specific native payloads from attacker-controlled Cloudflare Workers hosts or reconstructing them via DNS TXT records under wel1.ru. Any system that imported this package should be considered compromised.

    npmCompromised package