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

postcss-minify-selector-parsernpm

Malicious code in postcss-minify-selector-parser (npm) Remove it immediately and rotate any exposed credentials.

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

What this malware does

The package name impersonates the widely-used postcss-selector-parser library (which it also declares as a dependency and re-exports verbatim from src/selector-parser.js, providing cover for installers who mistype the real package). On top of that legitimate re-export, the package ships a sealed AES-GCM ciphertext as DEFAULT_FINAL_ENCODED_TEXT in src/config/defaults.js together with a hardcoded passphrase (default-dev-passphrase) and salt. src/pipeline/custom-codec-pipeline.js line 53 decrypts the blob and evaluates the cleartext via new Function("require", runnable)(require), handing the decrypted code full require capability on the installer's machine. This decode-and-eval path is reachable through the package's exported run / decodeAndRunPlain / runDefaultDecodedFunction API, through require('postcss-minify-selector-parser/cjs-runner'), and through the bundled runtime/lib.min.js and scripts/cjs-runner.js. The README documents none of this — it presents the package as a CSS selector parser. The combination of typosquat name, hidden encrypted payload, multi-layer custom codec pipeline (position-unit-codec + encode-decode-codec + AES-GCM) used solely to wrap that payload, and direct new Function(require) execution of the decrypted bytes is the canonical opaque-blob-eval supply-chain attack shape. Author field is empty, no repository URL is declared, license is generic ISC.

Malicious versions

9 flagged
1.0.111.0.121.0.131.0.141.0.151.0.161.0.171.0.182.0.1

Indicators of compromise (SHA-256)

148543868c09650c18d4bb3014bbe60bad9b59e3a12d23ab16dddb3ebfa49fe1
1ba4406fdfc91cb0ec42b98b813ca5f6b859eae24f064be244293ae505c118a7
8a8af65bfa1b7dc7b28f718bff60b6fa76a786bbbbf92b570a1fc1ae0ecf1834
ca68c7aff52a1094d88d97893fbe50517c878a58043373be7b7cf70b3cdf4641
ec19903d44f3fd8e9ccddcf9477d64ea01b41a27d939a385454d66394d5e29a4
33c1cf9ccc165629c91ebab0a73464734b81a31ea6e845aa97740a2eb1554283
5e05f8d236cfbc9ea0b7405a36cf28130f038c6a4af086f73883a25d68e7957d
957f5cbb74f4dd4b4770e8c9cc1a8aac88a4450cb01dbc0fa5242c42e343f54c
d2d21adbc821f5e075a768a69ead3dd95330b0696159d2ac4d345806ad349d0d
f04cd7d7c790bb5aeae048484a106987c999cc74b9ff1ea369fa8177fc1e982e
f9aec6416f221aa55e21bbe373e6745933ad49efafa3565841b0bea17e3611e1
51afcd0436194b387c2a4b619de4e504c65611ec3c20fb638042cd5af3811c26
73e277b5c3910fc3758b78979f2a73284852d56f23e9ed59dac8a7d16dfffc0b
8df97549294149dcf730bf7af26d825d7072f6fac463adaba700ec4da3c84730
93307191fd0206cb7dc1f18d1f7c1cc008f14cb6807784bf9ec6223097190eaf
c6c670fb58865bb761a89229428b8568079889c02913d1619623619168e9e5e6
f197723d2fd19b293e1dec876c169fc7dab6b2075dc936793452c9eace76de8a
a6216015cbdb41be2fcb6e05cee8d9edb610c04b50cac6ca7577f14fb5e60be9

Frequently asked questions

No. postcss-minify-selector-parser on npm has been identified as a malicious package (versions 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, and 1 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-006349IN-MAL-2026-006347IN-MAL-2026-006344IN-MAL-2026-006357IN-MAL-2026-006351IN-MAL-2026-006346IN-MAL-2026-006350IN-MAL-2026-006343IN-MAL-2026-006341IN-MAL-2026-006345IN-MAL-2026-006342IN-MAL-2026-006354IN-MAL-2026-006352IN-MAL-2026-006358IN-MAL-2026-006353IN-MAL-2026-006348IN-MAL-2026-006356IN-MAL-2026-006355

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
postcss-minify-selector-parser (npm) malicious package — MAL-2026-5737 | O3 Security