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

voxcpmruntimePyPI

Advisory published Updated

voxcpmruntime is a confirmed malicious PyPI package (MAL-2026-17470) that steals credentials and exfiltrates sensitive data (malicious version 0.1.0). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in voxcpmruntime (PyPI)

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

What this malware does

The package presents itself as a VoxCPM TTS runtime but is a binary dropper and cryptominer loader. harness.run() downloads two executables ('voxcpm-core' and 'cloudflared') from a caller-supplied edge host at https://<edge>/files/<name>, writes them under /tmp/.voxcpm-runtime/, chmods them 0o755, and spawns them. The bytes are opaque, publisher-unpinned, and verified only against SHA-256 values hardcoded in the wheel, so any host that serves the author's precomputed hashes is accepted. 'cloudflared' is launched as access tcp --hostname <edge> --url 127.0.0.1:<port> to tunnel a local TCP port through Cloudflare and conceal the real control-plane host. The JSON configuration written to voxcpm-run.json and passed to 'voxcpm-core' as --config=<path> is a stratum mining-pool document (pools[{url,user,pass,keepalive,tls}], cpu.{threads,mem-locked}); the keys 'pools' and '--config=' are assembled by string concatenation ('po'+'ols', '--'+'config='+cfg_path) to evade miner-config string matching, and a _Progress class prints fabricated training-loss and tokens-per-second lines to disguise the resulting CPU load as ML inference. harness._hb() additionally POSTs run_id, state, truncated Python tracebacks and timestamps to https://<edge>/hb as a heartbeat channel, later routed through the Cloudflare tunnel. The name voxcpmruntime closely resembles the legitimate VoxCPM project from OpenBMB.

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

1 flagged
0.1.0

Indicators of compromise (SHA-256)

12f18950a276ca27a304d3053835b0102656168083e7ddf414fffb112cbe01ba
ef6e0220a1b37d6391262539694a04726e2e5aea888941b384c4048d0a2443b2

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for voxcpmruntime (version 0.1.0).

  2. If you installed it — respond

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

Campaign

2026-10-voxevalIN-MAL-2026-021026

References

Credits

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

Detect & block this

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

voxcpmruntime (PyPI) malicious package — MAL-2026-17470 | O3 Security