Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

css-mpmdds-polyfillnpm

Advisory published Updated

css-mpmdds-polyfill is a confirmed malicious npm package (MAL-2026-17554) that steals credentials and exfiltrates sensitive data (malicious version 1.0.0). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in css-mpmdds-polyfill (npm)

MAL-2026-17554
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall css-mpmdds-polyfill

What this malware does

The package presents itself as a CSS polyfill but ships thunderboltRegistry.js which runs an IIFE at module load. The IIFE acquires child_process via multiple fallbacks (require('child_process'), require('node:child_process'), and a synthesized Module constructor), executes shell commands to collect host identity (id, whoami, uname -a, ifconfig/ip addr, /etc/hosts) along with os.hostname, Node version, platform and pid, and transmits each result via fetch() as query parameters to the hardcoded endpoint http://dxpoc.gt.tc/callback.php/bb8968d0f67000433bf7005dd5ad2d1f over plaintext HTTP to a free-DNS (gt.tc) host unrelated to any CSS polyfill functionality. The IIFE also enumerates require.cache and deletes entries containing 'thunderboltRegistry' so the payload re-executes on every require rather than being memoized. registry-manifest.min.json maps multiple Wix/thunderbolt internal registry module names (siteAssetsRegistry.js, editorRegistry.js, and others) all to the same thunderboltRegistry.js payload mirrored on static.parastorage.com's unpkg mirror, consistent with a dependency-confusion / typosquat targeting the Wix thunderbolt ecosystem. The package stubs a Wix-ecosystem API surface via Proxy to appear functional while the exfil IIFE runs. The package name resembles a CSS polyfill but the shipped behavior is host reconnaissance and exfiltration with cache-busting evasion.

Malicious versions

1 flagged
1.0.0

Indicators of compromise (SHA-256)

4bac0cb0a2c693985668a890ff2ace72ff2d00dac60bc5470a77160c4d765106

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for css-mpmdds-polyfill (version 1.0.0).

  2. If you installed it — respond

    css-mpmdds-polyfill is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If css-mpmdds-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

No. css-mpmdds-polyfill on npm has been identified as a malicious package (version 1.0.0 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-021021

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks css-mpmdds-polyfill-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

css-mpmdds-polyfill (npm) malicious package — MAL-2026-17554 | O3 Security