MAL-2026-17847Malicious code in npp-ml (PyPI)
| Ecosystem | Package | Version |
|---|---|---|
| PyPI | npp-ml | 0.1.10 |
| PyPI | npp-ml | 0.1.7 |
| PyPI | npp-ml | 0.1.8 |
| PyPI | npp-ml | 0.1.9 |
{"schema_version":"1.7.4","id":"MAL-2026-17847","published":"2026-10-12T20:17:47Z","modified":"2026-10-29T13:38:41.444018392Z","summary":"Malicious code in npp-ml (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (3ac13184b04573151fc11ac8de28c384f016b49ed76d8689f46cf5c24909feca)\nThe package's setup.py declares `scripts=['bin/python']`, which causes pip to copy the file literally named `python` into the installer's script directory (e.g. a virtualenv `bin/`, `/usr/local/bin/`, or `Scripts\\` on Windows). The shipped `bin/python` file is not a Python script — it begins with ZIP magic `PK\\x03\\x04` and contains a bundled Windows Python 3.10 distribution (`python310.dll`, `pythonw.exe`, `_ssl.pyd`, `libssl-1_1.dll`, `python310.zip`). After install, invoking `python` from the affected directory resolves to this non-executable archive rather than a real interpreter, breaking the `python` command for anything that resolves it from that directory first. The archive contents are a stock Windows Python runtime and do not contain outbound network code, credential access, or persistence mechanisms; the harm is local breakage of the installer's interpreter command, not exfiltration or remote code execution.\n\n## Source: kam193 (7f575d02caf2363703b49c45c7f5ba106b798ee4f5b02f1977b118f2b52ff30e)\nThe package claims to provide a Notepad++ distribution, but in fact delivers ADExplorer, an Active Directory analysis tool.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-npp-ml\n\n\nReasons (based on the campaign):\n\n\n - other\n\n\n - impersonation\n","affected":[{"package":{"name":"npp-ml","ecosystem":"PyPI"},"versions":["0.1.7","0.1.8","0.1.9","0.1.10"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"setup.py","sha256":"d8cc6b36df21ab2e840045f8d181c8da88bceb6fe9565aadca881fbbe7dc89ed","tlsh":"4fd0a72d0e6bd83616d6de94072790143b7172211650b44418fd40086accc95ce79c20"}],"package_integrity":[{"filename":"npp_ml-0.1.10.tar.gz","hashes":{"blake2b_256":"0bdeb5cbc4cafcfe7e676fb3b05da23efa0c18ab5ae3766c6dee54f40fff957e","md5":"d273c3a508bf03bb30b5a9e7472e0fbb","sha256":"b6644556136e8f2aa4533d3cf8cd8c64b2c2b9924553a150ab95cd3c5048a8b1"}}]}}}],"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/npp-ml"},{"type":"PACKAGE","url":"https://pypi.org/project/npp-ml/0.1.10/"}],"database_specific":{"malicious-packages-origins":[{"id":"pypi/2026-10-npp-ml/npp-ml","import_time":"2026-10-12T20:46:18.126118521Z","modified_time":"2026-10-12T20:17:47.14413Z","sha256":"7f575d02caf2363703b49c45c7f5ba106b798ee4f5b02f1977b118f2b52ff30e","source":"kam193","versions":["0.1.7","0.1.8","0.1.9"]},{"id":"pypi/2026-10-npp-ml/npp-ml","import_time":"2026-10-13T14:49:00.641384602Z","modified_time":"2026-10-13T14:38:04.044181Z","sha256":"14fea11838b844155e70cb38accede0c1bf97ebcf3e85a29ea6588f252e10ce0","source":"kam193","versions":["0.1.7","0.1.8","0.1.9","0.1.10"]},{"id":"IN-MAL-2026-021981","import_time":"2026-10-29T13:37:18.638651577Z","modified_time":"2026-10-29T13:33:26Z","sha256":"3ac13184b04573151fc11ac8de28c384f016b49ed76d8689f46cf5c24909feca","source":"amazon-inspector","versions":["0.1.10"]}]},"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