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

voxel-ttsPyPI

Advisory published Updated

voxel-tts is a confirmed malicious PyPI package (MAL-2026-17461) that steals credentials and exfiltrates sensitive data (malicious versions 0.5.0, 0.5.1). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in voxel-tts (PyPI)

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

What this malware does

The package advertises text-to-speech inference but contains no model, audio, or inference code. Importing voxel_tts loads voxel_tts/harness.py, which instantiates a module-level Harness(); on run() it chmods and executes a bundled ~8MB ELF at voxel_tts/bin/voxel-core. The ELF is invoked with a JSON configuration matching the XMRig-family CPU mining schema (pools/user/pass/keepalive/tls, cpu.threads, cpu.mem-locked, cache-budget), and the pool-protocol key 'pools' is split across string concatenation to evade static scanners. The pool destination is reconstructed at runtime by base64-decoding two fragments ('MTg1LjE5NA==', 'MTc3LjI0OQ==') and joining them with '.', yielding 185.194.177.249:443. A 40MB cloudflared binary is also bundled at voxel_tts/bin/cloudflared and launched as 'cloudflared access tcp --hostname <host> --url 127.0.0.1:<port>' so that outbound mining traffic egresses through Cloudflare Access to an author-controlled hostname, hiding the real pool IP from host network logs; in-code comments acknowledge this is to avoid 'direct egress to the coordinator's own address'. In parallel, a _Progress helper emits synthetic 'model | step N/250000 loss=... tok/s=... lr=6e-5 ep=...' lines once per minute as a cover story to make the workload appear to be ML training. Net effect: installing and using this package runs a cryptominer on the installer's CPU, monetizing their compute for the author, while actively evading detection via destination obfuscation, tunneled egress, and a fabricated training-progress UI.

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

2 flagged
0.5.00.5.1

Indicators of compromise (SHA-256)

59ef2094ba4f759a0f896ff0af35b1fd19442db3cf8212a39fde46d5713c807d
d20f098625fe215d12359a89c03cd967a584ccc37a111c8127ce4889166af61e
31bcd85c4464339b45ec445d1c402ecbc97ab4b50b71738d1fc3873c88f9cff5
598f8abf106d4dbdbbe4ce3aa3eca8d89b36b3a0d77d17f266849e46176e4913

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for voxel-tts (2 malicious versions).

  2. If you installed it — respond

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

Campaign

2026-10-voxevalIN-MAL-2026-020925IN-MAL-2026-020927

References

Credits

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

Detect & block this

O3 blocks voxel-tts-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

voxel-tts (PyPI) malicious package — MAL-2026-17461 | O3 Security