Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in statist-browser-typed-client-nfs.grocery.mobile.events (npm)

The npm package statist-browser-typed-client-nfs.grocery.mobile.events contained malicious code that acts as a dropper, fetching and executing platform-specific payloads from remote servers upon require(). The package uses obfuscation and covert channels to evade detection.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any system that installed and required the malicious npm package; cross-platform (Linux, Windows, macOS)
Ecosystems
Attack vectors
Affected entities
  • statist-browser-typed-client-nfs.grocery.mobile.eventsnpm package containing malicious dropper code

The npm package statist-browser-typed-client-nfs.grocery.mobile.events was found to contain malicious code that executes on package import. The main entry point (index.js) loads a platform-specific payload selector (_platform.js) that fetches opaque executable bytes from three anonymous Cloudflare Workers hosts (oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev).

If the primary Cloudflare Workers hosts are unavailable, the malware falls back to a covert DNS TXT record exfiltration channel using subdomains under *.dl.well1.site (tin, tina, ldr, win). The fetched payloads are written to temporary directories (/var/tmp on Unix, %TEMP% on Windows) under disguised filenames (.cache_, dotnet_diag_.exe) with executable permissions, then spawned detached via shell commands.

The malware employs multiple obfuscation techniques to evade static analysis: destination hostnames and DNS domains are assembled at runtime from split string fragments (e.g., ["oob-w","orker.cf102-","baf.workers.de","v"].join("")), and stderr is silenced via a no-op logger. A sibling module (lib/telemetry.js, 81 KB) contains duplicate drop-and-exec primitives with concatenation-obfuscated API names. Marker files and environment variables (DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, DO_NOT_TRACK) are used as cover stories, but the actual behavior is unconditional dropper execution.

The package was identified via Amazon Inspector and reported through GitHub Security Advisories (GHSA-3225-grxw-fx69).

Indicators of compromise

Packages
  • statist-browser-typed-client-nfs.grocery.mobile.events
Domains
  • oob-worker.cf103-070.workers.dev
  • oob-worker.cf102-baf.workers.dev
  • oob-worker.cf99-9b3.workers.dev
  • dl.well1.site

Remediation

  • Immediately uninstall the package: npm uninstall statist-browser-typed-client-nfs.grocery.mobile.events
  • Audit all systems where this package was installed for signs of unauthorized executable files in /var/tmp, %TEMP%, or other temporary directories
  • Review process execution logs for spawned shell commands or detached processes originating from Node.js
  • Block outbound connections to the identified Cloudflare Workers hosts (oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev) and DNS queries to *.dl.well1.site
  • Check npm audit logs and dependency trees for any projects that may have installed this package
  • If the package was used in production, treat affected systems as potentially compromised and perform forensic analysis

Sources

  1. GitHub Advisory GHSA-3225-grxw-fx69 · GitHub Advisory Database

Cite this entry

"Malicious code in statist-browser-typed-client-nfs.grocery.mobile.events (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 5, 2026; last updated August 5, 2026. https://supplychainattack.org/incident/malicious-code-in-statist-browser-typed-client-nfs-grocery-mobile-events-npm-1y340m

Suggest a correction

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

  1. containedcritical

    Malware in svelte-dim-kit

    The npm package svelte-dim-kit was found to contain malware, potentially giving attackers full control of affected systems. All systems with this package installed should be considered compromised and secrets/keys rotated immediately from a different computer.

    npmCompromised package
  2. 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
  3. 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
  4. resolvedcritical

    Malicious code in stillm4ddpocs-rtest-bravo (npm)

    The npm package stillm4ddpocs-rtest-bravo contained malicious code in its preinstall script that automatically executed during installation, collecting system information and internal package metadata and exfiltrating it to a third-party Interactsh collector via HTTPS and DNS tunneling.

    npmCompromised package