Skip to content
Heist/ feed
Unrated

Malicious code in voxcpmruntime (PyPI)

Type: advisorySource: OSV1 source record

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (ef6e0220a1b37d6391262539694a04726e2e5aea888941b384c4048d0a2443b2) 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:///files/, 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 --url 127.0.0.1:` 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=` 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:///hb as a heartbeat channel, later routed through the Cloudflare tunnel. The name voxcpmruntime closely resembles the legitimate Vox

Announced Group revision 1
Original source ↗

MAL-2026-17470

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:MAL-2026-17470

voxcpmruntime

Source reference: /affected/0/package/name

Affected versions
0.1.0

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "package": {
      "name": "voxcpmruntime",
      "purl": "pkg:pypi/voxcpmruntime",
      "ecosystem": "PyPI"
    },
    "versions": [
      "0.1.0"
    ],
    "database_specific": {
      "cwes": [
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        }
      ],
      "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/voxcpmruntime/MAL-2026-17470.json",
      "indicators": {
        "evidence_files": [
          {
            "path": "voxcpmruntime/__init__.py",
            "tlsh": "951275f2d9155932c343ca5a4a6af993a74a6c43960e5874bdfc93102f99630c2f0ff6",
            "sha256": "3bd6e49b399a0f88bbebd6f8ac13481c4d0120c36205959953d99b1d921214c3"
          }
        ],
        "package_integrity": [
          {
            "hashes": {
              "md5": "2afdeb523bb7a1575efc7d34a8e3625b",
              "sha256": "1bfef2ae6c1de8605d1939f7429f1fc5a866d54d17fd6339cf7e8b00d44bcfed",
              "blake2b_256": "020caf87811a1d2da2e3e162d7e2a1208dac53cb9726d925e4408edcea10e85d"
            },
            "filename": "voxcpmruntime-0.1.0-py3-none-any.whl"
          }
        ]
      }
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#83603 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement