{"id":"MAL-2025-191702","summary":"Malicious code in chromifypro (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (4138883ad2e38b4a8a4353918126f4732db5f04107be0bddafc745ec97120b52)\nPackages silently decrypt content hidden in a dependency and load them as Python extension modules. \n\nIn the first wave, those are copies of legitimate aiohttp and aiohappyeyeballs packages.\nIn the second wave, malicious packages created good-looking forks of legitimate rich and pigments packages.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-10-asynhttp\n\n\nReasons (based on the campaign):\n\n\n - typosquatting\n\n\n - exfiltration-generic\n\n\n - obfuscation\n\n\n - clones-real-package\n\n\n - native-extension\n","modified":"2026-03-19T12:51:45.867314Z","published":"2025-11-07T22:43:23Z","database_specific":{"malicious-packages-origins":[{"id":"pypi/2025-10-asynhttp/chromifypro","versions":["1.0.1","1.0.0"],"modified_time":"2025-11-07T22:43:23.081806Z","import_time":"2025-12-02T22:30:55.042958809Z","sha256":"b156d4195a20c086e7cd013834914c9443c8fa7b36581614df2021020cbc5689","source":"kam193"},{"id":"pypi/2025-10-asynhttp/chromifypro","versions":["1.0.1","1.0.0"],"modified_time":"2025-11-07T22:43:23.081806Z","import_time":"2025-12-02T23:07:18.051405161Z","sha256":"7d54475b9a0020eac1dddf1c1a3684b901bfc7de641e03d571a933718b43933e","source":"kam193"},{"id":"pypi/2025-10-asynhttp/chromifypro","versions":["1.0.1","1.0.0"],"modified_time":"2025-11-07T22:43:23.081806Z","import_time":"2025-12-10T18:45:05.207572121Z","sha256":"4138883ad2e38b4a8a4353918126f4732db5f04107be0bddafc745ec97120b52","source":"kam193"},{"id":"RLMA-2025-06558","versions":["1.0.0","1.0.1"],"modified_time":"2025-12-23T08:38:08Z","import_time":"2025-12-24T10:07:30.340631751Z","sha256":"000fc121aa0083346662729454da97a179ebfd789440c1a9a047c6fe8fee3e68","source":"reversing-labs"},{"id":"pypi/2025-10-asynhttp/chromifypro","versions":["1.0.0","1.0.1"],"modified_time":"2025-11-07T22:43:23.081806Z","import_time":"2025-12-30T22:39:04.053998316Z","sha256":"bca09f6f48f1f5d722c217e7f20e90add7a0131df05b2b08f6df4afbd131e3bf","source":"kam193"},{"id":"RLUA-2026-00192","source":"reversing-labs","modified_time":"2026-03-18T12:12:23Z","import_time":"2026-03-19T12:19:33.517218849Z","sha256":"0267761bf8326742a23f099b996b08d6199c4719870e023bcf6a662ee5eef1e9"}]},"references":[{"type":"ARTICLE","url":"https://www.cert.at/en/blog/2025/10/how-typosquatting-tricked-me-a-bit"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/chromifypro"},{"type":"WEB","url":"https://www.cert.at/en/blog/2025/10/how-typosquatting-tricked-me-a-bit"}],"affected":[{"package":{"name":"chromifypro","ecosystem":"PyPI","purl":"pkg:pypi/chromifypro"},"versions":["1.0.1","1.0.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/chromifypro/MAL-2025-191702.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":"REPORTER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}