NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

ps-boolPyPI

Advisory published Updated

ps-bool is a confirmed malicious PyPI package (MAL-2026-19934) that steals credentials and exfiltrates sensitive data (malicious versions 0.2.0, 0.2.1, 0.2.3…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in ps-bool (PyPI)

MAL-2026-19934
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall ps-bool

What this malware does

The sole module shipped in both the sdist and the wheel, main.py, consists entirely of exec(zlib.decompress(base64.b85decode('...'))) at the top level. The package exposes this module as py_modules=['main'] and wires it as the psbool console_script, so the opaque, compressed-and-encoded blob is decoded and executed unconditionally the first time the module is imported or the CLI is invoked. There is no source, documentation, or API surface — the entire implementation is a single encoded payload, deliberately concealing its behavior from anyone inspecting the package before it runs. A boolean-logic utility has no legitimate reason to ship its implementation as an opaque exec-of-decoded-bytes blob; this is the canonical obfuscated-payload import-time execution shape and causes an arbitrary author-controlled program to run on the installer's machine.

During import, obfuscated code exfiltrates photos and documents to a Telegram bot. It targets Android devices.

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-11-ps-bool

Reasons (based on the campaign):

  • files-exfiltration

  • obfuscation

  • uses-telegram-bot

  • target:android

Malicious versions

5 flagged
0.2.00.2.10.2.30.2.40.2.5

Indicators of compromise (SHA-256)

119ef283a7038fe02a4d309ce942bcce3a37a70ef5468749ae4f4e378d971e9d
b4774cf69e0f73b066e442a0241b13c300135e4a7bc471f7a8768c77fdd09b6c
d1639c1857cd8a9cfebe4dc7c7802b75487101b9387625e3141abe2f25e7535c
5dcafa44d321e5c6169bbdd949fa1d421e5039bc53d017c00d3e5411f33db5ec

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for ps-bool (5 malicious versions).

  2. If you installed it — respond

    ps-bool 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 ps-bool 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. ps-bool on PyPI has been identified as a malicious package (versions 0.2.0, 0.2.1, 0.2.3, 0.2.4, 0.2.5 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-11-ps-boolIN-MAL-2026-022778IN-MAL-2026-022776IN-MAL-2026-022777

References

Credits

  • Amazon Inspector · finder
  • Kamil Mańkowski (kam193) · reporter

Detect & block this

O3 blocks ps-bool-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

ps-bool (PyPI) malicious package — MAL-2026-19934 | O3 Security