{"id":"MAL-2025-191616","summary":"Malicious code in aiohappyeyeball (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (c4026e5d61b51d8fb2688488995ad95c662a15084e5c4799b0e68d0962291056)\nMalicious copy of the legit aiohappyeyeballs package, the __pycache__/staggerd.pyc contains a suspicious binary content (which seems not to be a valid PYC)\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:49:55.899995Z","published":"2025-10-27T13:53:33Z","database_specific":{"malicious-packages-origins":[{"id":"RLMA-2025-05583","import_time":"2025-12-02T09:09:35.816511014Z","modified_time":"2025-12-01T12:54:01Z","sha256":"c2eaa21adf5623d3117f788f57020f42fbec6493a7cd96130f6b5a22afd90976","source":"reversing-labs","versions":["2.6.1"]},{"sha256":"419e887ea734cca886f42852f3fb9c909c929a28e2b5ac2c0e336d0cabea5624","source":"kam193","versions":["2.6.1"],"id":"pypi/2025-10-asynhttp/aiohappyeyeball","import_time":"2025-12-02T22:30:54.889031179Z","modified_time":"2025-10-27T13:53:33.468102Z"},{"modified_time":"2025-10-27T13:53:33.468102Z","sha256":"b39e28cdffb4bcc78f050861bc6c2b3d30b6c71996f87a4759b49e5f77b2d2fe","source":"kam193","versions":["2.6.1"],"id":"pypi/2025-10-asynhttp/aiohappyeyeball","import_time":"2025-12-02T23:07:17.932721433Z"},{"sha256":"c4026e5d61b51d8fb2688488995ad95c662a15084e5c4799b0e68d0962291056","source":"kam193","versions":["2.6.1"],"id":"pypi/2025-10-asynhttp/aiohappyeyeball","import_time":"2025-12-10T18:45:05.202780298Z","modified_time":"2025-10-27T13:53:33.468102Z"},{"source":"reversing-labs","id":"RLUA-2026-00041","import_time":"2026-03-19T12:19:20.436080127Z","modified_time":"2026-03-18T12:10:46Z","sha256":"4b1f0143fe6c7e24e0b3ddb4783d05395c2049b5e8e5357a45de4e1f04593158"}]},"references":[{"type":"WEB","url":"https://www.cert.at/en/blog/2025/10/how-typosquatting-tricked-me-a-bit"},{"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/aiohappyeyeball"}],"affected":[{"package":{"name":"aiohappyeyeball","ecosystem":"PyPI","purl":"pkg:pypi/aiohappyeyeball"},"versions":["2.6.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/aiohappyeyeball/MAL-2025-191616.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"}]}