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

px8mynpm

px8my is a confirmed malicious npm package (MAL-2026-10104) that executes malicious code on install (malicious versions 1.0.13, 1.0.22, 1.0.23…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in px8my (npm)

MAL-2026-10104
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall px8my

What this malware does

px8my's main entry is a browser-side script that injects a full-screen iframe pointing at a hardcoded remote URL (https://mfmz.gzhrjq.cn/H.html?c=0gjr). The tarball also ships update_px8my.sh, a maintainer helper that rewrites the redirect domain in px.js, bumps the patch version, runs npm publish, then calls the jsDelivr purge API — documenting an operational model in which the npm registry + jsDelivr CDN are used as a mutable redirect distribution channel with the destination domain rotated on demand. Installing this as an npm dependency does not directly harm the installer: there are no lifecycle scripts, and require()ing the module in Node would throw because it references document. The impact surface is downstream websites/end-users that load px8my/px.js via the jsDelivr CDN, which are redirected to the maintainer-controlled destination. The package has no library value; it exists to abuse npm namespace + jsDelivr as a redirector. Because the installer is not directly attacked but the package is clearly designed as an abuse vehicle, route to human review for a takedown decision.

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

34 flagged
1.0.131.0.221.0.231.0.241.0.251.0.261.0.271.0.281.0.291.0.301.0.311.0.321.0.331.0.341.0.351.0.361.0.371.0.381.0.391.0.401.0.411.0.421.0.431.0.441.0.451.0.461.0.471.0.481.0.491.0.501.0.511.0.521.0.531.0.54

Indicators of compromise (SHA-256)

31af99c3bcf655a4ef35e6d83bf9c49d0a38d5d7102ba0e60379fcd28f310ae4
74fc90ab470fc324ca25c8e2dc519d310c2f7604cc23593c91825224e3992db8
7a4be46e7e7e4a53389dbbf5cdbde4e48292877accaeddfb6b5ab0b391d5a08b
aacc2bc4dd67115bb3e72cf80534638ef7d1280f794e39f6149b12d401893867
b89299c6d6dc2d4f01c4e49d64bc493d7db1c4b4f111c8e5808ce2230a82f0af
c972c885927d861e92a964b7ab752e5e91ae2731092a51b08a64fbf97f015cdf
78ae5dc7b5995ac8381a5716c7733e93d7de2c6500063fba58c05085cd03999d
14ed3a9559e14448345fa80b415e9c355c543b884cf897faece052264bedffb9
22f3ce31af3e939eb8832de34389b02b138e2b33bb48eb5bba47d539102f0687
688a7d6d345de57ccbd67dd100fd7d3ad4230096cb91eaa8e7bfceef6bfa8ed4
aa85b17773e67e04f9f08e56c8e42102f8f788f153e1ba576dd8b4c1dd5d896c
e4692b864628f427293c5e6dbf927df1f83b9b792a5deb79a98c6e24563477b7
e7a6492fe3db7b591531617a8a7752c4dd1e6b808653f9c83234020d81b4924d
7da37dfbaa4b355a75e38c244bc5614299ecc5a1f3bc1dd072fdc7c4f2dc13b9
9729f55a369fd5a3dacd98bbd954fe9718249f0230e98ddd78dc4503ec766cf0
2181870d9bc3f41cf791756fb8b275feef15a0be24c2485b332d8065a84c4a9b
237204c7240d0e4a6a35516fc9923d75b2a64408dabb78ca7d9670ce99471b55
3c72d102f468d5a2576856eeae8810dba75f5a5dd6067f0b6d12bba0ffab4b5c
68dd00ceb9ce641ba1769d9bf8e9bb63457637aa67035f5d86c9e9c7b703675f
6d974053cca200eec70a677058cc7c56ecd5a242ab2366ef417261b0b9cee017
8c1d8780ab6fe5818848ef6c3be248bc415393de936db1f60ba7c8d973665673
1acd1ccd099cf9f31030d171829816dae049e5792e86288676415ca097fefd12
37895ddd21bb6d44ddc8b0ea9e510aa11c845bfc6878e9af7757da7f5e05b049
424838363daedab16b86353852aef1e9e6cc86e8b856b79d9076c912317d7fce
4b13b4e1af5b484be99e446a10f0c637c9921fd150b41cb1e1869c71f3d8f82f
75821bc96f2672fdd4fc9e677e657aaaf0ae114eac7874099021fc3f2d73bc53
99a61b3738b81897899bb74657c9eb821582816c5cb16cb23ce9fa7c5824ca00
c7ef063c3bd4770cff0fcd59f0baa228df56d013ce2e5dd3df45e78afa1a6d27
d5a7386b4fc9abfaf57e97bb32c70b611a77d917fbcd3223de1c04c5ed78524d
1d28b1b348898c74a7fd08d15ae4dcb4edfb7ffb55f72f0cf54aaf670ade5813
256ace8e6e7856e8402600283fbf80fff9158af2c8eac26e9b0a91b1ac350dd5
8c50dd8f4efabd2e0effd7aa8cfc9007da3421c086bae34e5b7434779809f84a
930beb2d87bc5ac7514eadcd2e7fe2c940d20b45119dae26b262f75ded1ee4c7
dbe4469c4dc6e7d571f093e08da290dd3100018e4ce842c76288eef06367f79a
dfa3d03da43ad4ef4c72149f8eee9109c94786b98515d5fe38747062e1050207

Detection & response playbook

Malicious package
  1. Find it

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

  2. If you installed it — respond

    Remove px8my from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

    If px8my 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 px8my 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. px8my on npm has been identified as a malicious package (versions 1.0.13, 1.0.22, 1.0.23, 1.0.24, 1.0.25, 1.0.26, 1.0.27, 1.0.28, and 26 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-009595IN-MAL-2026-009599IN-MAL-2026-009601IN-MAL-2026-009597IN-MAL-2026-009598IN-MAL-2026-009596GHSA-9869-r2r5-fff6IN-MAL-2026-011315IN-MAL-2026-011262IN-MAL-2026-011170IN-MAL-2026-011260IN-MAL-2026-013162IN-MAL-2026-013165IN-MAL-2026-012915IN-MAL-2026-013085IN-MAL-2026-013116IN-MAL-2026-012914IN-MAL-2026-012906IN-MAL-2026-013067IN-MAL-2026-013189IN-MAL-2026-013156IN-MAL-2026-012885IN-MAL-2026-013157IN-MAL-2026-013076IN-MAL-2026-013065IN-MAL-2026-013060IN-MAL-2026-012905IN-MAL-2026-013107IN-MAL-2026-013083IN-MAL-2026-013190IN-MAL-2026-013115IN-MAL-2026-013145IN-MAL-2026-012913IN-MAL-2026-013064IN-MAL-2026-013061

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks px8my-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

px8my (npm) malicious package — MAL-2026-10104 | O3 Security