MAL-2026-17463Malicious code in voxcpmtts3 (PyPI)
| Ecosystem | Package | Version |
|---|---|---|
| PyPI | voxcpmtts3 | 0.1.0 |
| PyPI | voxcpmtts3 | 0.1.1 |
| PyPI | voxcpmtts3 | 0.1.2 |
{"schema_version":"1.7.4","id":"MAL-2026-17463","published":"2026-10-03T04:47:46Z","modified":"2026-10-04T23:42:41.650376059Z","summary":"Malicious code in voxcpmtts3 (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (208e19b8b5c2d9ed6169765b2b5985147d0be136e9bb5f83adac6cc691ff4aa5)\nThe package presents itself as a text-to-speech inference library but ships two bundled binaries that implement a cryptojacking payload. voxcpmtts3/bin/voxcpm-core is XMRig (contains Monero/RandomX/CryptoNight/stratum/Hashrate/DONATE strings); harness.run() chmods it executable and spawns it via subprocess.Popen with a JSON config whose top-level key is assembled by string concatenation (\"po\"+\"ols\") to evade static analysis, carrying stratum-protocol fields (user/pass/keepalive/tls). A second bundled binary, voxcpmtts3/bin/cloudflared (~40MB), is launched with 'access tcp --hostname <edge> --url 127.0.0.1:<port>' to open a raw TCP tunnel through Cloudflare Access, hiding the real mining pool address behind a Cloudflare Access hostname and defeating destination-based blocking; a code comment acknowledges the design is to keep the traffic readable at the Cloudflare front door. In parallel, self._hb() POSTs run_id, state, Python tracebacks (up to 4000 chars) and timestamps to https://<edge>/hb through the same attacker-controlled Cloudflare Access hostname, giving the operator a per-victim telemetry channel that also leaks local filesystem paths from error traces. The 'TTS inference', 'coordinator', and 'step/loss/tok/s' terminology in code and README is cover for stratum mining pool concepts.\n\n## Source: kam193 (382411a9cc0ee358dbd8efcf17c5a943fc496fc4f2c86ffdc8f87d7efc43ec2d)\nThe package imitates real activity and instead deploys a coin miner.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-voxeval\n\n\nReasons (based on the campaign):\n\n\n - cryptominer\n","affected":[{"package":{"name":"voxcpmtts3","ecosystem":"PyPI"},"versions":["0.1.0","0.1.1","0.1.2"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"voxcpmtts3/harness.py","sha256":"1768a472ef62834992dca0ea3169ba2839969eca2ab412f1423f606c01b8f05d","tlsh":"500253f2d9151e229397ca264a56b983670a6c53a74e18747cfcc3082f9477482f0efa"}],"package_integrity":[{"filename":"voxcpmtts3-0.1.2-py3-none-any.whl","hashes":{"blake2b_256":"500d3aeafab9f4ff86f5b6de101cae70e59260aa6c57917289da5c4cb1a39054","md5":"7f4827ac2811273bc3f41dc4fa9ec254","sha256":"9509cb196a001b1244c289c2af4614a4022a449c865859188da28ddd65170d46"}}]}}}],"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/voxcpmtts3"},{"type":"PACKAGE","url":"https://pypi.org/project/voxcpmtts3/0.1.2/"},{"type":"PACKAGE","url":"https://pypi.org/project/voxcpmtts3/0.1.1/"},{"type":"PACKAGE","url":"https://pypi.org/project/voxcpmtts3/0.1.0/"}],"database_specific":{"malicious-packages-origins":[{"id":"pypi/2026-10-voxeval/voxcpmtts3","import_time":"2026-10-03T05:18:10.33590657Z","modified_time":"2026-10-03T04:47:46.415211Z","sha256":"382411a9cc0ee358dbd8efcf17c5a943fc496fc4f2c86ffdc8f87d7efc43ec2d","source":"kam193","versions":["0.1.0","0.1.1","0.1.2"]},{"id":"IN-MAL-2026-020924","import_time":"2026-10-04T23:40:42.502124902Z","modified_time":"2026-10-04T23:20:31Z","sha256":"208e19b8b5c2d9ed6169765b2b5985147d0be136e9bb5f83adac6cc691ff4aa5","source":"amazon-inspector","versions":["0.1.2"]},{"id":"IN-MAL-2026-020922","import_time":"2026-10-04T23:40:42.310472589Z","modified_time":"2026-10-04T23:20:14Z","sha256":"9d7d7476702ef89959e2c63507d596f94f468a01bc8ce00c551fbed2f5efcf29","source":"amazon-inspector","versions":["0.1.1"]},{"id":"IN-MAL-2026-020923","import_time":"2026-10-04T23:40:42.404473244Z","modified_time":"2026-10-04T23:20:23Z","sha256":"aa2cca2e72cf0e735230017b491728f699d1b4cd8137088f12791db0d3a1681c","source":"amazon-inspector","versions":["0.1.0"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0