{"id":"MAL-2025-6516","summary":"Malicious code in graphemer (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (2a602bedb500f9fdb4029022aae5636875ba2f45f6ffe2a4d046a7bf1155a50e)\nInstalling the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.\n\n\n---\n\nCategory: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.\n\n\nCampaign: GENERIC-standard-pypi-install-pentest\n\n\nReasons (based on the campaign):\n\n\n - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n","modified":"2026-03-19T12:53:40.441859Z","published":"2024-07-26T16:53:30Z","database_specific":{"malicious-packages-origins":[{"id":"RLMA-2025-03607","import_time":"2025-08-01T10:07:11.513348036Z","modified_time":"2025-07-31T19:15:11Z","sha256":"92546a058a1936d96baca4937ad8c7ee03e05da18ec7a13157c5d25e48ff6372","source":"reversing-labs","versions":["3.1.2"]},{"modified_time":"2024-07-26T16:53:30Z","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"sha256":"383393732030c3a69636193e5bfb774b4450d87a57d28d14e1011fe5cc0360db","source":"kam193","id":"pypi/GENERIC-standard-pypi-install-pentest/graphemer","import_time":"2025-12-02T22:30:56.075737038Z"},{"id":"pypi/GENERIC-standard-pypi-install-pentest/graphemer","import_time":"2025-12-02T23:07:19.265312497Z","modified_time":"2024-07-26T16:53:30Z","ranges":[{"events":[{"introduced":"0"}],"type":"ECOSYSTEM"}],"sha256":"2a602bedb500f9fdb4029022aae5636875ba2f45f6ffe2a4d046a7bf1155a50e","source":"kam193"},{"id":"pypi/GENERIC-standard-pypi-install-pentest/graphemer","import_time":"2025-12-10T21:38:58.405021254Z","modified_time":"2024-07-26T16:53:30Z","sha256":"5669bbd08960eb401b20c72c0a85bccb0372c85f9418b7cd6fec9e9958c7e429","source":"kam193","versions":["3.1.2"]},{"import_time":"2026-03-19T12:19:49.395062557Z","modified_time":"2026-03-18T12:14:22Z","sha256":"20aa4d1f79d3ca94b98bf4e0bc0cc01097ee492364e5c93511b7365247c4538d","source":"reversing-labs","id":"RLUA-2026-00365"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/graphemer"}],"affected":[{"package":{"name":"graphemer","ecosystem":"PyPI","purl":"pkg:pypi/graphemer"},"versions":["3.1.2"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/graphemer/MAL-2025-6516.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"]},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}