{"id":"MAL-2026-15930","summary":"Malicious code in tpu-raiden-jax (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f37dbb20f91d6812bd5bcfa84a040595ea1f9358e56f946da4efa599f7751bed)\nOn first import, tpu-raiden-jax's top-level __init__.py invokes a _canary() routine that serializes the entire os.environ dictionary along with socket.gethostname() and POSTs the resulting JSON payload to the hardcoded URL https://vuorblucjega.dssldrf.net/python-install-log/tpu-raiden-jax via urllib.request. Errors are silently swallowed. The destination host is unrelated to any legitimate publisher domain, and the package version (99.99.0) plus the bulk-environment shape are consistent with a dependency-confusion canary/steal against internal package names. Any secrets present in the environment of a REPL, CI job, or build that imports this package (AWS_*, GH_TOKEN, npm/PyPI tokens, database credentials, and any other exported variable) are transmitted to the external host.\n\n## Source: kam193 (f5e62e8c3e35de0ec83c0081e3eb91530e77815509c010b28c47de375068cd92)\nDuring import, the package exfiltrates environment variables.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-amirgo4496\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-env-variables\n\n\n - dependency-confusion\n\n\n - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.\n","modified":"2026-09-04T21:30:08.790536507Z","published":"2026-09-04T15:00:35Z","database_specific":{"iocs":{"domains":["vuorblucjega.dssldrf.net"]},"malicious-packages-origins":[{"sha256":"f5e62e8c3e35de0ec83c0081e3eb91530e77815509c010b28c47de375068cd92","source":"kam193","versions":["99.99.0"],"id":"pypi/2026-09-amirgo4496/tpu-raiden-jax","import_time":"2026-09-04T15:39:11.2658192Z","modified_time":"2026-09-04T15:00:35.390398Z"},{"versions":["99.99.0"],"id":"IN-MAL-2026-019644","import_time":"2026-09-04T21:15:20.916008643Z","modified_time":"2026-09-04T21:03:50Z","sha256":"f37dbb20f91d6812bd5bcfa84a040595ea1f9358e56f946da4efa599f7751bed","source":"amazon-inspector"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/tpu-raiden-jax"},{"type":"PACKAGE","url":"https://pypi.org/project/tpu-raiden-jax/99.99.0/"}],"affected":[{"package":{"name":"tpu-raiden-jax","ecosystem":"PyPI","purl":"pkg:pypi/tpu-raiden-jax"},"versions":["99.99.0"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"sha256":"49beed9e6a3863119f27d1a2d28670fee711c1f4ab3f961f51385081ad426dce","tlsh":"92f0ebd2e0206853b587b101cca89aa832517d0f7a027cb1fdcc66840f8c87a90b10ac","path":"src/tpu_raiden_jax/__init__.py"}],"package_integrity":[{"filename":"tpu_raiden_jax-99.99.0-py3-none-any.whl","hashes":{"sha256":"1ff9151e6be7ac9b11ddecaaf6476330d0674297b65c07579d48fc266155d44b","blake2b_256":"0f0ab4adb7bbbb5da0f5a0871aa6e0cf00648de31dae7daad5769a1df33d51ca","md5":"df5fa4dfdd239cf3fbb438e273182155"}},{"hashes":{"md5":"794d8031fb4ddd2df77d25bdd7deaea4","sha256":"16834637937671f3cd3b69add2170680ef612562a15a9eb0f8b9140ac34ac4ee","blake2b_256":"5372cdb63a4e94c47308ff38f3920d962577b4ee5fffc99976803d9137030bd8"},"filename":"tpu_raiden_jax-99.99.0.tar.gz"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/tpu-raiden-jax/MAL-2026-15930.json"}}],"schema_version":"1.9.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"}]}