Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in devplatform-eslint-config (npm)

devplatform-eslint-config@35.8.9 on npm contained malicious code that downloads and executes a native binary from attacker-controlled infrastructure. The package masquerades as an ESLint configuration but ships no legitimate ESLint code.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or system that installed devplatform-eslint-config@35.8.9 and required the package would execute the malicious payload.
Ecosystems
Attack vectors
Affected entities
  • devplatform-eslint-config · 35.8.9

devplatform-eslint-config@35.8.9 is a malicious npm package that does not provide the ESLint configuration it claims to offer. Upon import, the package loads compat.js, which selects a payload path based on the target OS and architecture (linux_x64, linux_arm64, darwin, win32).\n\nThe malicious code fetches an opaque native binary over HTTPS from rotating Cloudflare Workers hosts (oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev). The C2 hostnames are assembled at runtime from split string fragments to evade static analysis. A DNS-TXT covert-channel fallback reassembles base64-encoded chunks from TXT records under sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru.\n\nThe fetched binary is written to a temporary path with a decoy filename (e.g., dotnet_diag.exe, .cache_), given execute permissions (chmod 0755), and executed via a detached child process. lib/telemetry.js contains duplicate fetch-write-chmod-spawn primitives. The package identity as an ESLint configuration is a cover story unrelated to the actual malicious payload.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository.

Indicators of compromise

Packages
  • devplatform-eslint-config
Domains
  • oob-worker.cf102-baf.workers.dev
  • oob-worker.cf103-070.workers.dev
  • oob-worker.cf99-9b3.workers.dev
  • oob-worker.cf100-416.workers.dev
  • sdk.dl.wel1.ru
  • ext.dl.wel1.ru
  • pkg.dl.wel1.ru
  • net.dl.wel1.ru

Remediation

  • Immediately uninstall devplatform-eslint-config@35.8.9 from all systems and projects
  • Audit npm install logs and dependency trees to identify all systems that may have installed this package
  • Review process execution logs on affected systems for suspicious child processes spawned by Node.js
  • Check for outbound HTTPS connections to the listed Cloudflare Workers domains and DNS queries to wel1.ru subdomains
  • Regenerate any credentials or secrets that may have been exposed on affected systems
  • Update npm lockfiles and reinstall dependencies from a clean state
  • Monitor for indicators of compromise from the downloaded and executed binaries

Sources

  1. GitHub Advisory GHSA-jj9v-qmgp-c65m · GitHub Advisory Database

Cite this entry

"Malicious code in devplatform-eslint-config (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-devplatform-eslint-config-npm-1sc1co

Suggest a correction

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

  1. resolvedcritical

    Malicious code in rust-testing-utils (npm)

    The npm package rust-testing-utils contained malicious code that impersonates the pino logger and executes remotely-fetched code with arbitrary privileges. The package spawns a child process that decodes a hardcoded URL, fetches attacker-controlled content, and executes it via Function constructor with full module-loading capability.

    npmCompromised packageMalicious commit
  2. containedcritical

    Malicious code in stillm4ddpocs-demo-sprocket (npm)

    The npm package stillm4ddpocs-demo-sprocket version 999.9.12 contains malicious code that exfiltrates system and project metadata via multiple channels (HTTPS, HTTP, and DNS) to a hardcoded callback host. The package uses a high version number to exploit dependency-confusion attacks against organizations with internal packages of the same name.

    npmCompromised packageDependency confusion
  3. containedcritical

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

    The npm package @syncraft-labs/react contained obfuscated malicious code in its ESM distribution that implements the EtherHiding pattern, fetching and executing arbitrary code from an Ethereum smart contract via RPC endpoints. The tampering occurred post-build in the dist/index.js artifact.

    npmCompromised package
  4. containedcritical

    Malware in hydration-dim-kit

    Malware was discovered in the npm package hydration-dim-kit. 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