{"id":"MAL-2026-3408","summary":"Malicious code in textwrap-ext (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (da4e8d5daae9a14e0ceb5a942afd308068957ec655cdd950b2b041934e9ec182)\nDuring installation, obfuscated code exfiltrates cryptocurrency wallet data to a hardcoded location and places a backdoor through a new authorized SSH key. Information about the placed backdoor is sent back to the attacker, and sshd configuration is adjusted to ensure the successful remote connection.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-05-ninja-core-utils\n\n\nReasons (based on the campaign):\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n\n - obfuscation\n\n\n - crypto-related\n\n\n - exfiltration-crypto\n\n\n - backdoor\n","modified":"2026-05-12T22:04:26.789282Z","published":"2026-05-09T20:16:27Z","database_specific":{"iocs":{"urls":["http://144.126.142.148:5555/tao","http://144.126.142.148:5555/report"],"ips":["144.126.142.148"]},"malicious-packages-origins":[{"id":"pypi/2026-05-ninja-core-utils/textwrap-ext","import_time":"2026-05-09T20:19:01.705017976Z","modified_time":"2026-05-09T20:16:28.000088Z","sha256":"da4e8d5daae9a14e0ceb5a942afd308068957ec655cdd950b2b041934e9ec182","source":"kam193","versions":["1.2.5"]},{"modified_time":"2026-05-09T20:16:28.000088Z","sha256":"ad34ce10db3513a5647b9d55151ec9b872196eefed1831c03f48be371eb55c5b","source":"kam193","versions":["1.2.5"],"id":"pypi/2026-05-ninja-core-utils/textwrap-ext","import_time":"2026-05-12T21:56:03.345602711Z"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/textwrap-ext"}],"affected":[{"package":{"name":"textwrap-ext","ecosystem":"PyPI","purl":"pkg:pypi/textwrap-ext"},"versions":["1.2.5"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/textwrap-ext/MAL-2026-3408.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}