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

voxevalPyPI

Advisory published Updated

voxeval is a confirmed malicious PyPI package (MAL-2026-17457) that steals credentials and exfiltrates sensitive data (malicious versions 0.4.2, 0.4.3, 0.4.4…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in voxeval (PyPI)

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

What this malware does

The package advertises itself as a TTS evaluation harness but ships two large bundled binaries and executes them on the installer's host. voxeval/bin/voxtts-core is an ~8MB ELF launched with an XMRig-shaped configuration (pools, donate-level, print-time, huge-pages, cpu.threads, user=run_id, pass="vox") pointing at a hardcoded Monero pool at 185.194.177.249:443. The pool host is split into two base64 chunks (MTg1LjE5NA==, MTc3LjI0OQ==) and reassembled at runtime, and configuration keys are string-concatenated ("po"+"ools", "--"+"config=") to defeat literal keyword scans. A second bundled binary, a ~40MB cloudflared, is invoked as cloudflared access tcp --hostname <edge> --url 127.0.0.1:<port> --no-autoupdate to proxy the miner's egress through Cloudflare's edge and evade DNS/IP-based blocking of the pool. A _Progress helper fabricates fake training-progress lines (step N/250000 loss=... tok/s=...) so the miner's output resembles ML training in notebook logs. The dropper chmods the core binary to 0o755 and spawns it via Popen. Installing or invoking voxeval causes sustained CPU consumption on the installer's host for the benefit of the attacker's mining wallet, with egress deliberately obscured.

The package imitates real activity and instead deploys a coin miner.

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

Campaign: 2026-10-voxeval

Reasons (based on the campaign):

  • cryptominer

Malicious versions

4 flagged
0.4.20.4.30.4.40.4.5

Indicators of compromise (SHA-256)

4ffc5162b3b77de40988aa702c4493260a4f0b4f09d5f4719feabcd69f33908a
b9e9f292852286c6537dcd1e5d4047dc3126a413f7d65385b54304156f2b6a83
a489350e0f4586ebe4658874a085f3f100ada8bb1018a2b603b624ee0516c58f
4b542a4c53b4c08e104eebfade64c8e91c8d731c4a9bd298e48a258117c5b1bb
70fb2627789c646979bbe14294d6e5c8922698cbbec8937944a2c1fe62304874
7ef0f5b96d43ba8e51ec9c8fd4d48e3df446414b6c38170f2a002c724ca603ad
bb1ba93c8d397330d4cb7ce50d874c48634ae76f7aec84a8d62fd04f8958509d

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for voxeval (4 malicious versions).

  2. If you installed it — respond

    voxeval 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 voxeval 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. voxeval on PyPI has been identified as a malicious package (versions 0.4.2, 0.4.3, 0.4.4, 0.4.5 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-10-voxevalIN-MAL-2026-020932IN-MAL-2026-020930IN-MAL-2026-020929IN-MAL-2026-020928

References

Credits

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

Detect & block this

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

voxeval (PyPI) malicious package — MAL-2026-17457 | O3 Security