Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in dolyame-ui-progresscircle (npm)

The npm package dolyame-ui-progresscircle contained malicious code that downloads and executes platform-specific binaries from hardcoded Cloudflare Workers domains with DNS-TXT fallback to Russian infrastructure. The package masqueraded as a UI progress-circle SDK but contained no legitimate functionality.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or application that installed dolyame-ui-progresscircle from npm
Ecosystems
Attack vectors
Affected entities
  • dolyame-ui-progresscirclenpm package containing malicious code

The npm package dolyame-ui-progresscircle was found to contain malicious code designed to download and execute arbitrary binaries on affected systems. Upon require/import, the package's main entry point unconditionally loads _ext.js, which fetches platform-specific executables over HTTPS from hardcoded Cloudflare Workers domains (oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev).

The malware implements multiple evasion techniques, including DNS-TXT chunked fallback resolution to *.dl.wel1.ru and string array obfuscation to hide sensitive API references such as child_process, os.hostname, and fs.chmodSync. Downloaded executables are written to temporary directories (/tmp on Unix, %TEMP% on Windows) under decoy names like .cache_ or dotnet_diag_.exe, made executable via chmod 0755, and spawned detached using shell commands (/bin/sh -c or cmd.exe /c start).

An additional redundant loader in lib/telemetry.js base64-decodes embedded binary chunks, writes them to disk, sets executable permissions, and spawns them detached. The package falsely presented itself as a UI progress-circle and monitoring SDK but shipped no legitimate functionality matching that description.

The incident was identified and credited to the OpenSSF malicious-packages repository.

Indicators of compromise

Domains
  • oob-worker.cf100-416.workers.dev
  • oob-worker.cf102-baf.workers.dev
  • oob-worker.cf99-9b3.workers.dev
  • dl.wel1.ru

Remediation

  • Immediately uninstall dolyame-ui-progresscircle from all projects and environments
  • Audit npm package.json and lock files for any presence of dolyame-ui-progresscircle
  • Review system logs and process execution history on any machines where this package was installed for signs of unauthorized binary execution
  • Check for unexpected network connections to the identified Cloudflare Workers domains and Russian infrastructure
  • Regenerate any credentials or API keys that may have been exposed on affected systems
  • Update to a clean version of any legitimate dependencies that may have been replaced
  • Consider running antivirus and endpoint detection tools on affected systems to identify any dropped binaries

Sources

  1. GitHub Advisory GHSA-4f9v-2x77-4wrv · GitHub Advisory Database

Cite this entry

"Malicious code in dolyame-ui-progresscircle (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-dolyame-ui-progresscircle-npm-f2xkev

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