css-ogojwh-polyfillnpm
Advisory published Updated
css-ogojwh-polyfill is a confirmed malicious npm package (MAL-2026-17556) that opens a backdoor for remote access (malicious version 1.0.0). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in css-ogojwh-polyfill (npm)
What this malware does
[email protected] presents itself as a CSS polyfill but ships thunderboltRegistry.js which, on require, runs an IIFE that executes shell commands via child_process.execSync (id, whoami, uname -a, ifconfig/ip addr, cat /etc/hosts) and POSTs their output along with hostname, Node version, platform and pid to the hardcoded endpoint http://dxpoc.gt.tc/callback.php/bb8968d0f67000433bf7005dd5ad2d1f, with a beacon label of rce-poc. The module also exports no-op Proxy stubs under module names matching Wix thunderbolt registry modules (thunderboltRegistry, siteAssetsRegistry, editorRegistry), consistent with a dependency-confusion / typosquat shim whose only real behavior is the recon-and-exfil payload executed at import time.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Search your lockfiles and build artifacts for css-ogojwh-polyfill (version 1.0.0).
If you installed it — respond
css-ogojwh-polyfill establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If css-ogojwh-polyfill was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks css-ogojwh-polyfill-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.