Malicious code in beautiful-ui-monitoring (npm)
beautiful-ui-monitoring@1.0.8 on npm contains malicious code disguised as a UI package. The postinstall script compiles a C library with a constructor that deletes all .so files in /tmp and logs UIDs/GIDs, demonstrating destructive intent.
- Disclosed
- Last updated
- Blast radius
- Any system installing beautiful-ui-monitoring@1.0.8
- Ecosystems
- Attack vectors
- Affected entities
- beautiful-ui-monitoring · 1.0.8
beautiful-ui-monitoring@1.0.8 was published to npm with a misleading package description claiming to create a UI design, but contains no UI code. Instead, the package ships a postinstall script that compiles a C source file into a shared library at /tmp/monitoring.so using gcc.
The compiled library includes a constructor function that executes on load, deleting all .so files under /tmp and writing the current process UID/GID to /tmp/monitoring.log. The package includes a test.js file that loads the library via LD_PRELOAD and a native test-loader that calls dlopen on the same path, demonstrating the intended trigger mechanism.
The package.json author field is empty, and no shipped files implement the advertised UI functionality. The malicious artifact is placed in a world-writable shared location, increasing the potential for unintended side effects on multi-user systems.
This incident was identified by the OpenSSF malicious-packages project and reported via GitHub Security Advisory GHSA-xc69-fp28-846x.
Indicators of compromise
- Packages
- beautiful-ui-monitoring@1.0.8
Remediation
- Remove beautiful-ui-monitoring from all projects immediately
- Audit systems where beautiful-ui-monitoring@1.0.8 was installed for deleted .so files and check /tmp/monitoring.log for evidence of execution
- Review npm audit logs for installation of this package
- Consider using npm package signing and verification to prevent installation of unsigned or untrusted packages
- Monitor for similar packages with misleading descriptions and empty author fields
Sources
- GitHub Advisory GHSA-xc69-fp28-846x · GitHub Advisory Database
Cite this entry
"Malicious code in beautiful-ui-monitoring (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 6, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-beautiful-ui-monitoring-npm-1cwbwq
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 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 - 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 - 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 - 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