Malicious code in bnpl-blocks-atom-bnpl-faq-item (npm)
The npm package bnpl-blocks-atom-bnpl-faq-item contained malicious code that downloads and executes platform-specific binaries from attacker-controlled Cloudflare Workers hosts and DNS-TXT fallback servers upon module load. The attack uses obfuscation techniques and disguises to evade detection and blend into normal system activity.
- Disclosed
- Last updated
- Blast radius
- Any developer or system that installs or requires the malicious package version will execute attacker-controlled code at module load time.
- Ecosystems
- Attack vectors
- Affected entities
- bnpl-blocks-atom-bnpl-faq-itemnpm package containing malicious code in index.js
The npm package bnpl-blocks-atom-bnpl-faq-item was found to contain malicious code in its main entry point (index.js). Upon module load, the package requires a hidden module (_ext.js) that initiates a download-and-execute attack.
The malicious code fetches platform-specific binaries from hardcoded Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf101-adf.workers.dev). To defeat static analysis, the URLs are assembled via string-split/join operations. A DNS-TXT chunked-download fallback mechanism under *.dl.wel1.ru is also implemented, using base64-encoded payload chunks.
The downloaded binary is written to /var/tmp/.cache_ on POSIX systems or %TEMP%\dotnet_diag_.exe on Windows, made executable (chmod 0755), and spawned detached via /bin/sh -c or cmd. Stamp files named .analytics_state and the dotnet_diag_* filename disguise are used to blend the malicious activity into normal system operations.
Any require() or import of the package triggers the download-and-execute payload on the installer's machine, making this a critical supply chain attack affecting all users of the compromised package.
Indicators of compromise
- Packages
- bnpl-blocks-atom-bnpl-faq-item
- Domains
- oob-worker.cf100-416.workers.dev
- oob-worker.cf103-070.workers.dev
- oob-worker.cf101-adf.workers.dev
- *.dl.wel1.ru
Remediation
- Immediately remove or uninstall the bnpl-blocks-atom-bnpl-faq-item package from all systems and projects
- Audit package.json and lock files (package-lock.json, yarn.lock) for any presence of this package
- Review system logs and process execution history for suspicious activity, particularly spawned processes from /bin/sh or cmd with unusual arguments
- Check for the presence of files named .analytics_state, .cache_, or dotnet_diag_* in /var/tmp or %TEMP% directories and remove if found
- Scan systems for any binaries downloaded from the identified Cloudflare Workers hosts or *.dl.wel1.ru domains
- Update to a clean version of any legitimate package that may have been intended, or find an alternative package
- Monitor for any outbound connections to the identified malicious domains and block them at the network level
Sources
- GitHub Advisory GHSA-vxw9-4rgv-5m66 · GitHub Advisory Database
Cite this entry
"Malicious code in bnpl-blocks-atom-bnpl-faq-item (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-bnpl-blocks-atom-bnpl-faq-item-npm-1ay62h
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