Malicious code in dolyame-ui-scrollblock (npm)
The npm package dolyame-ui-scrollblock contained malicious code that downloads and executes attacker-controlled native binaries on the developer's machine upon installation and import. The payload is fetched via Cloudflare Workers or DNS TXT record exfiltration and executed with elevated privileges.
- Disclosed
- Last updated
- Blast radius
- Any developer who installed and imported dolyame-ui-scrollblock; systems running code that depends on this package.
- Ecosystems
- Attack vectors
- Affected entities
- dolyame-ui-scrollblocknpm package containing malicious code
The npm package dolyame-ui-scrollblock was found to contain malicious code that executes on require(). The package's index.js loads _helpers.js and lib/telemetry.js, which use obfuscated string fragments to reconstruct Cloudflare Workers hostnames and download platform-specific binaries via HTTPS.\n\nThe downloaded payload is written to /tmp (or Windows Temp) under hidden filenames, made executable via fs.chmodSync, and spawned detached using child_process.spawn with shell execution. A secondary delivery mechanism resolves DNS TXT records under *.dl.wel1.ru to retrieve base64-encoded payload chunks, which are concatenated and executed identically.\n\nSensitive API names and destination hostnames are split-string-obfuscated to evade static analysis. The malicious code is framed as an 'Analytics SDK' in lib/telemetry.js. Installation and import of the package results in execution of opaque attacker-controlled native code on the developer's machine with no signature verification or pinning.\n\nThe incident was identified and credited to the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- dolyame-ui-scrollblock
- Domains
- oob-worker.cf100-416.workers.dev
- dl.wel1.ru
Remediation
- Immediately uninstall dolyame-ui-scrollblock from all systems and projects
- Audit npm package.json and lock files for any dependency on dolyame-ui-scrollblock
- Review system logs and process execution history on machines where the package was installed for signs of unauthorized binary execution
- Regenerate any credentials or API keys that may have been exposed on affected developer machines
- Update to a clean version of any application that depended on this package
- Consider using npm audit and supply chain security tools to detect similar malicious packages
Sources
- GitHub Advisory GHSA-46pg-535x-6xgv · GitHub Advisory Database
Cite this entry
"Malicious code in dolyame-ui-scrollblock (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-scrollblock-npm-cpcfow
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - 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 - activecritical
Malware in @sdgdfgdfhhhfd/multiviewr
Malware discovered in the npm package @sdgdfgdfhhhfd/multiviewr. Systems with this package installed are considered fully compromised and require immediate remediation.
npmCompromised package - 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