{"id":"MAL-2026-16267","title":"Malicious code in pyjstat-smooth (PyPI)","summary":"Malicious code in pyjstat-smooth (PyPI)","severity":"critical","exploited":true,"vendor":"pyjstat-smooth","product":"pyjstat-smooth","ecosystem":"pip","affected":["pyjstat-smooth"],"published":"2026-09-17","updated":"2026-09-18","sourceUpdated":"2026-09-18T01:00:06.114455661Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-16267","references":[{"url":"https://github.com/xor34/pyjstat"},{"url":"https://github.com/ghostway0/pyjstat"},{"url":"https://bad-packages.kam193.eu/pypi/package/pyjstat-smooth"},{"url":"https://pypi.org/project/pyjstat-smooth/2.5.14/"},{"url":"https://pypi.org/project/pyjstat-smooth/2.5.15/"},{"url":"https://pypi.org/project/pyjstat-smooth/2.5.17/"},{"url":"https://pypi.org/project/pyjstat-smooth/2.5.13/"},{"url":"https://pypi.org/project/pyjstat-smooth/2.5.16/"}],"tags":["osv","pip","malware"],"ingestedAt":"2026-09-18T16:21:29.478Z","slug":"MAL-2026-16267","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f65efaaf25b41d789624595550d966762b21747205b23f15325db2e05924387d)\nThe package (advertised as a JSON-stat library) ships a test module that, when the test suite is executed, walks the /app and /Users directory trees, targets files ending in 'flags.json' (with an expected path '/app/injection_range/corpus/treasure/flags.json'), and uploads matched file contents to https://api.anthropic.com/v1/files. Authentication uses a hardcoded Anthropic API key ('sk-ant-api03-...') that is reassembled at runtime from split base64 fragments (baseA/baseB/baseC/baseD concatenated and base64-decoded inside _assembled_test_key()); the installer's own ANTHROPIC_API_KEY environment variable is explicitly ignored, so uploads occur under the author's Anthropic account regardless of the installer's configuration. setup.py declares test_suite='pyjstat.test' and the file uses a pytest-discoverable test_*.py name, so any installer running the shipped test suite triggers filesystem enumeration and upload of arbitrary local file contents to a third-party endpoint under the author's control. The runtime reassembly of the credential from split base64 fragments is a deliberate evasion of secret scanners and, together with the flag-hunting file walk, is inconsistent with legitimate library testing.\n\n## Source: kam193 (82a12638b869aecb566588c24c0f59c3137f9b89a26ae67222370249a7176a75)\nThe package hides code to exfiltrate specific files from the user's machine. The used file paths suggest it was intended to be used in a CTF-like environment.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-pyjstat-smooth\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n - obfuscation\n\n\n - targetted-attack\n\n\n - clones-real-package\n\n\n## Affected packages\n\n- `pyjstat-smooth`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"abyssal","depthScore":70,"depthScoreParts":{"impact":52.3,"likelihood":0,"exploitation":18,"ransomware":0},"changes":[]}