Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in eacq-core (npm)

eacq-core npm package contained malicious code that downloads and executes platform-specific binaries from attacker-controlled Cloudflare Workers hosts on module load. The payload uses obfuscation techniques to evade static analysis and provides arbitrary code execution to attackers.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any system that installs or imports eacq-core
Ecosystems
Attack vectors
Affected entities
  • eacq-corenpm package containing malicious code

The eacq-core npm package contained malicious code that executes unconditionally when the module is required. The attack chain involves downloading platform-specific binaries from attacker-controlled Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev) with a DNS-TXT fallback to *.dl.wel1.ru.

The malicious code is present in both helpers.js and lib/telemetry.js. It writes downloaded bytes to /tmp/.cache or %TEMP%\dotnet_diag_.exe, sets executable permissions via obfuscated fs.chmodSync, and spawns the binary detached through shell commands (/bin/sh -c & or cmd /c start). No hash or signature verification is performed on the downloaded binaries.

The attack uses multiple obfuscation techniques to evade static analysis, including string concatenation to construct require() calls (require('child_'+'process')) and hostname assembly via .join(''). The malicious payload is accompanied by cover-story comments framing the code as an 'Analytics SDK' with opt-out environment variables.

The fetch-and-execute chain fires unconditionally at module load time, giving attackers arbitrary code execution on any machine that installs or imports the package. The incident was identified by the OpenSSF malicious-packages project.

Indicators of compromise

Packages
  • eacq-core
Domains
  • oob-worker.cf100-416.workers.dev
  • oob-worker.cf101-adf.workers.dev
  • oob-worker.cf99-9b3.workers.dev
  • *.dl.wel1.ru

Remediation

  • Immediately uninstall eacq-core from all systems
  • Audit all systems that previously installed eacq-core for signs of compromise or unauthorized binary execution
  • Review process logs and network connections from the time of installation for suspicious activity
  • Check for presence of files in /tmp/.cache_ or %TEMP%\dotnet_diag_.exe and related artifacts
  • Monitor for DNS queries to *.dl.wel1.ru and connections to the identified Cloudflare Workers hosts
  • Use a package manager lock file to prevent accidental re-installation
  • Consider using npm audit or similar tools to detect other potentially malicious packages

Sources

  1. GitHub Advisory GHSA-q3wf-gqpp-w2j7 · GitHub Advisory Database

Cite this entry

"Malicious code in eacq-core (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-eacq-core-npm-68l9au

Suggest a correction

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

  1. containedcritical

    Malicious code in 3-buildsight-web (npm)

    The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.

    npmCompromised package
  2. resolvedcritical

    Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)

    Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.

    npmDependency confusionCompromised package
  3. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  4. resolvedcritical

    Malicious code in @syncraft-labs/vue (npm)

    The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.

    npmCompromised package