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.
- 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
- 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.
Related incidents
- 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 - 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 - 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 - 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