Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in @rbx-ts/services (npm)

The npm package @rbx-ts/services contained obfuscated malicious code in scripts/postinstall.js that downloads and executes a Windows binary from an external file host on npm install. The package was advertised as Roblox TypeScript type definitions but contained no legitimate need for executable payloads.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
npm package ecosystem; Windows systems executing npm install
Ecosystems
Attack vectors
Affected entities
  • @rbx-ts/servicesnpm package containing malicious postinstall script

The npm package @rbx-ts/services contained malicious code hidden in its postinstall.js script using hex-escaped identifiers and base64-encoded strings to obfuscate standard Node.js API names and a download URL.

Upon npm install on Windows systems (process.platform === 'win32'), the script decodes the base64-encoded URL to https://files.catbox.moe/9bppy2.zip, downloads the archive to the system TEMP directory, expands it using PowerShell's Expand-Archive cmdlet, recursively searches for the first .exe file in the extracted tree, and spawns that binary as a detached process before deleting the archive.

The package was advertised as providing Roblox TypeScript type definitions, which have no legitimate requirement for Windows executable payloads. The attacker used files.catbox.moe, an anonymous throwaway file host that permits mutable content with no version pinning, hash verification, or publisher identity matching.

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

Indicators of compromise

Packages
  • @rbx-ts/services
Domains
  • files.catbox.moe

Remediation

  • Immediately uninstall @rbx-ts/services from all systems
  • Audit npm install logs and process execution history on Windows systems for suspicious activity
  • Scan systems for the presence of first.exe or other executables downloaded from files.catbox.moe
  • Review npm audit logs for the affected package version
  • Use npm package integrity verification and consider using npm lockfiles with hash verification
  • Monitor for similar obfuscated postinstall scripts in dependencies

Sources

  1. GitHub Advisory GHSA-2846-4m8r-rvv5 · GitHub Advisory Database

Cite this entry

"Malicious code in @rbx-ts/services (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 8, 2026; last updated August 8, 2026. https://supplychainattack.org/incident/malicious-code-in-rbx-ts-services-npm-10ccau

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