Malicious code in bigops-chat-tmsg (npm)
bigops-chat-tmsg, an npm package masquerading as a chat/messaging library, contained malicious code that silently downloads and executes platform-specific binaries from attacker-controlled infrastructure. The package was identified and reported by OpenSSF's malicious-packages project.
- Disclosed
- Last updated
- Blast radius
- Any project that installed bigops-chat-tmsg; systems running affected applications
- Ecosystems
- Attack vectors
- Affected entities
- bigops-chat-tmsgnpm package containing malicious dropper code
bigops-chat-tmsg is an npm package that advertised itself as a chat/messaging library but contained a sophisticated dropper payload. Upon require(), the package's index.js silently loads _runtime.js via a swallowed try/require statement appended after an empty stub class that exposes init/version/configure methods as cover.
The runtime.js module selects a platform-specific asset and downloads a binary from one of three obfuscated Cloudflare Workers hosts (oob-worker.cf101-adf.workers.dev, cf102-baf.workers.dev, cf103-070.workers.dev). The downloaded binary is written to /var/tmp or %TEMP% under a disguised name (.cache on Unix, dotnet_diag_.exe on Windows to impersonate a Microsoft diagnostic tool), given execute permissions (chmod 0755), and spawned detached via /bin/sh -c or cmd.
If HTTPS fetches fail, the code falls back to a covert DNS-TXT exfiltration channel using split-string-reconstructed domains (sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru). It resolves TXT records to determine chunk count and reassembles a base64-encoded executable from numbered subdomain TXT responses.
The entire real behavior is the dropper mechanism; the exported API is a non-functional stub used as cover. The package was identified and credited to OpenSSF's malicious-packages project.
Indicators of compromise
- Packages
- bigops-chat-tmsg
- Domains
- oob-worker.cf101-adf.workers.dev
- cf102-baf.workers.dev
- cf103-070.workers.dev
- sdk.dl.wel1.ru
- ext.dl.wel1.ru
- pkg.dl.wel1.ru
- net.dl.wel1.ru
Remediation
- Immediately remove bigops-chat-tmsg from all projects and dependencies
- Audit package-lock.json and yarn.lock files for any installation of bigops-chat-tmsg
- Assume any system that installed and required this package may be compromised; conduct forensic analysis for downloaded binaries in /var/tmp, %TEMP%, and related directories
- Check for suspicious processes spawned via /bin/sh -c or cmd.exe with unusual timing around package installation
- Review DNS query logs for requests to sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru
- Implement npm package scanning and verification in CI/CD pipelines to detect similar malicious packages
- Monitor for outbound connections to the identified Cloudflare Workers hosts
Sources
- GitHub Advisory GHSA-rjrw-rx8c-5fp2 · GitHub Advisory Database
Cite this entry
"Malicious code in bigops-chat-tmsg (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 5, 2026; last updated August 5, 2026. https://supplychainattack.org/incident/malicious-code-in-bigops-chat-tmsg-npm-zp3ht2
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 santana-baileys (npm)
Malicious code discovered in santana-baileys npm package that covertly relays WhatsApp messaging data to an attacker-controlled endpoint (https://fiora.nixel.my.id/) via obfuscated character-code reconstruction in the message-send code path.
npmCompromised package - resolvedcritical
Malicious code in elephant-tusk-runner (npm)
The npm package elephant-tusk-runner contained malicious code that exposed a remote shell and remote code execution surface via an unauthenticated Express + WebSocket server binding to 0.0.0.0:4201 with fully open CORS. Any peer able to reach the port could execute arbitrary commands on the host.
npmCompromised package - resolvedcritical
Malicious code in @cats-cdf/browser-metrics-meter (npm)
The npm package @cats-cdf/browser-metrics-meter contained malicious code in its preinstall lifecycle script that exfiltrated system reconnaissance data (username, hostname, public IP) to an OAST collector domain. The package executed this behavior unconditionally on installation without consent or documented purpose.
npmCompromised package - resolvedcritical
Malicious code in @ks-video/kwai-player-web (npm)
The npm package @ks-video/kwai-player-web contained malicious code in its postinstall hook that exfiltrated system reconnaissance data (hostname, username, working directory, network interfaces, environment variable names) over plain HTTP to an unrelated third-party domain. The package has no legitimate relationship to the declared publisher Kwai/@ks-video.
npmCompromised package