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

devplatform-vite-plugin-preserve-css-modulesnpm

devplatform-vite-plugin-preserve-css-modules is a confirmed malicious npm package (MAL-2026-13274) that typosquats a legitimate package to trick installs (malicious version 35.6.8). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in devplatform-vite-plugin-preserve-css-modules (npm)

MAL-2026-13274
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall devplatform-vite-plugin-preserve-css-modules

What this malware does

On require() of the package, index.js loads loader.js which selects a platform-specific endpoint, downloads a native binary over HTTPS from string-split-obfuscated hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev) with a DNS TXT covert-channel fallback to sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru, writes it to /var/tmp or %TEMP% under a disguised name (.cache<rnd> on Unix, dotnet_diag_<rnd>.exe on Windows), chmods 0755, and spawns it detached via /bin/sh -c or cmd.exe /c start /b. Execution is gated by a /tmp/.analytics_state TTL marker. Destination hostnames are assembled at runtime from split-string fragments to evade source-level review. The package name mimics an internal-sounding vite plugin but the shipped code fetches and executes an arbitrary native binary on the installer's machine at first require().

Malicious versions

1 flagged
35.6.8

Indicators of compromise (SHA-256)

0781a29416d218a9767f37894e3ad9a851110f50693a4bcb1ab6bd168e1f6feb

Detection & response playbook

Typosquat
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for devplatform-vite-plugin-preserve-css-modules (version 35.6.8). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging devplatform-vite-plugin-preserve-css-modules across your stack and pipelines.

  2. If you installed it — respond

    devplatform-vite-plugin-preserve-css-modules is a typosquat — you almost certainly intended a legitimately-named package. Remove devplatform-vite-plugin-preserve-css-modules, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If devplatform-vite-plugin-preserve-css-modules was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks devplatform-vite-plugin-preserve-css-modules before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. devplatform-vite-plugin-preserve-css-modules on npm has been identified as a malicious package (version 35.6.8 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-015718

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks devplatform-vite-plugin-preserve-css-modules-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

devplatform-vite-plugin-preserve-css-modules (npm) malicious package — MAL-2026-13274 | O3 Security