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

postcss-minify-selectornpm

postcss-minify-selector is a confirmed malicious npm package (MAL-2026-5837) that typosquats a legitimate package to trick installs (malicious versions 0.1.2, 0.1.3, 0.1.4…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in postcss-minify-selector (npm)

MAL-2026-5837
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall postcss-minify-selector

What this malware does

Package is published as postcss-minify-selector (singular) but its internal postcss plugin identifier is postcss-minify-selectors (plural) — the canonical name of the legitimate cssnano plugin. The published name is a one-character deletion from that target. The first executable line of src/index.js is a side-effect-only require('postcss-minify-selector-parser/cjs-runner') whose return value is discarded and which is not referenced anywhere else in the file; the plugin's actual selector-parsing functionality uses a different subpath, require('postcss-minify-selector-parser/selector-parser'), imported separately at line 6. The sibling dependency postcss-minify-selector-parser (declared as ^2.0.2 in package.json) is itself a typosquat-shaped name of the well-known postcss-selector-parser. The combination — typosquat lure name, plural-vs-singular mismatch with the real cssnano plugin, declared dependency on a second typosquat-shaped package, and an unconditional side-effect require of an otherwise-unused subpath of that dependency at the top of the main entry — is the canonical lure-plus-dropper shape: any consumer that require()s this package will silently load and execute whatever the cjs-runner module body of the sibling typosquat does at require time.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

12 flagged
0.1.20.1.30.1.40.1.50.1.60.1.70.1.80.1.90.1.100.1.112.0.12.0.2

Indicators of compromise (SHA-256)

1bc7341d6762a6209e4bde3d99f31f1a8650b6971e64a19547b9f35e7a51abb3
7a12e5b695f34acfd56492479c547e8ce5af1f5916bd100466e392282620d6e3
86f41c204dc9ab99c0389073b9026546d7553724d95f4c496ec81227f18c0f36
b13a4d7bb597dfb50336a460d0c064430fc60f900a1f61e2c3450996bd6f67ce
9187590d9e0f7032d1a10ec5d067b36f09ee78dc562cc966a3076af8f06c72d5
177398fc26fa52062fa9f432556af1934e644b20fac2defb691325d39d1b4a11
3491f01f443d2244d485362554768518929752de44280b4c717aca1783977505
9e6f51c9faa7b4dcf48456bf671ae6891a2177b05bbce0e90734df002b4cadcf
a90c2e2c2caeb1af6b7a62e7ad64674576414802304485df5f6206edb3c068f6
b193257951c4569cdd33b2b7aea8f007b9651c4e8c0d8f0ffdc2442afd4a70b6
d150dc929fd340d878fc373faeca1b3c77fa272bc1825692d17e9aba95343f7d
dc242ae8e9c832b8aff88aa6992ca8cb94159a02055f960cf53f416848e79c80
4c768c496762a64c5dd19332f7a9ca4a14f95e1e38c09957ac4e2c30aa6cbcb5

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 postcss-minify-selector (12 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging postcss-minify-selector across your stack and pipelines.

  2. If you installed it — respond

    postcss-minify-selector is a typosquat — you almost certainly intended a legitimately-named package. Remove postcss-minify-selector, 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 postcss-minify-selector 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 postcss-minify-selector 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. postcss-minify-selector on npm has been identified as a malicious package (versions 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, and 4 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-006705IN-MAL-2026-006706IN-MAL-2026-006707IN-MAL-2026-006708GHSA-gwv6-f7j6-4xc8IN-MAL-2026-008443IN-MAL-2026-008447IN-MAL-2026-008451IN-MAL-2026-008446IN-MAL-2026-008309IN-MAL-2026-008305IN-MAL-2026-008444IN-MAL-2026-008985

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks postcss-minify-selector-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