{"id":"MAL-2026-2433","summary":"Malicious code in pycolorlib3 (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (22c84d1bcfac7d68fb2db1c9610d281372db5e2ef93edb1a90903c6a6b772e6c)\nDuring installation package downloads and runs a malicious executable. Likely continuation of 2026-03-rowrap.\n\nThe campaign is built over a malicious Roblox API wrapper. The roboat[.]pro (later robase[.]app) domain advertises a wrapper that is either directly malicious (as roboat collected in the campaign 2026-03-rowrap) or uses a malicious dependencies (like roboat-utils). New versions are published simultaneously with malicious dependencies and quickly removed. Another advertisement channel is https://github.com/Addi9000/roboat referencing two active contributors: https://github.com/Addi9000 and https://github.com/RoCruise\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-03-roboat-addition\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 - Downloads and executes a remote executable.\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - malware\n\n\n - clones-real-package\n","modified":"2026-05-28T05:01:11.502239719Z","published":"2026-04-02T20:38:16Z","database_specific":{"iocs":{"domains":["jolly-violet-def9.staraledreamer.workers.dev","holy-sun-41ff.staraledreamer.workers.dev"],"urls":["https://jolly-violet-def9.staraledreamer.workers.dev/DDDD.exe","https://holy-sun-41ff.staraledreamer.workers.dev/gore.vbs","https://github.com/betonme27/flies/releases/download/a/s22s.zhr","https://dawn-thunder-f821.staraledreamer.workers.dev/gore.vbs"]},"malicious-packages-origins":[{"import_time":"2026-04-02T20:47:26.85502939Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"a239d96bd3d8ecc300c6f92ee9c1511f885a3ddd9cfae3a05ba30a39e2c2ac13"},{"modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"9f00afe251753c79c25e7028409f57e20dfafaefa4a530bd294dd4fdd038d851","import_time":"2026-04-04T22:45:36.62970648Z","id":"pypi/2026-03-roboat-addition/pycolorlib3"},{"import_time":"2026-04-05T09:18:40.865078771Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"ec41e05322e9de3a51cdc335be81e258ee16090b19b1742bdc60dc920c23cd2e"},{"import_time":"2026-04-08T10:27:39.258746456Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"a68a3758a376ba30647309dc27c7f1b2b8d6930c160cc8ffa77e034465475b2e"},{"id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"3f7d9bf2d962932d8912712e20190b6c8ed7c0fc8860cc837219a7063e51aa64","import_time":"2026-04-10T21:47:38.805698874Z"},{"source":"kam193","sha256":"d04486b87238ba6bdd7153a23ff1af258b646d057f58c5f02ca67c6324209f46","import_time":"2026-04-12T21:46:35.809666713Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"]},{"sha256":"22c84d1bcfac7d68fb2db1c9610d281372db5e2ef93edb1a90903c6a6b772e6c","import_time":"2026-04-12T22:12:37.186292389Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193"},{"id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"612c5dc34c77538fca2632ba590e02cc0c43a9cf893fbdd2e9e83a19ad6add24","import_time":"2026-04-16T07:38:25.015249329Z"},{"modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"108790447290c477f500a916de1b2dcd2b379f9b9d3a529fd18045332e50055b","import_time":"2026-04-25T08:25:00.395429496Z","id":"pypi/2026-03-roboat-addition/pycolorlib3"},{"versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"75df964ceac921d7a6d2c2a296afc94ee99c3c7d8c4aa5abcd64e0a3c5303441","import_time":"2026-04-26T17:18:12.830905219Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z"},{"id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z","versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"390bb754965afc6b7bb54cd88038bb382881f30fec7e8b23891bb940bfc8f395","import_time":"2026-04-27T21:50:25.22478406Z"},{"versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"acb3352c4f85e94d3a78163860e22c9af88cb29384564c3a62dcd3fda466e450","import_time":"2026-04-28T22:49:44.408504227Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z"},{"versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"3955c630bcdef4b16aba0bea6808dafd8fc87f72a19a4fc7d30a8d8a6feeeb8c","import_time":"2026-05-03T20:48:01.288516201Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z"},{"versions":["0.0.4","0.0.5"],"source":"kam193","sha256":"a0ef1877c19765670a26a652dcd8760c415810d9476961b077cade0562ccc35a","import_time":"2026-05-28T04:57:09.774760345Z","id":"pypi/2026-03-roboat-addition/pycolorlib3","modified_time":"2026-04-02T20:38:16.629477Z"}]},"references":[{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/9f14d239ab8f1289bc7aedeb67d3d72b467ee6c11b201890ab14c5c4f7c175d2/detection"},{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/48b108261d5de97a42eff81cf1a60a32286f72bf8b5f130959e0daa86b783608"},{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/ef20289b52ab23ec23c5ff885a2293523ce8456fb00e3d67f1b084c28f7d282a/detection"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/pycolorlib3"},{"type":"WEB","url":"https://github.com/Addi9000/roboat/blob/331166c8ea3bd080f08fe6d571202e3b47017ed7/README.md#L31"},{"type":"WEB","url":"https://github.com/Addi9000/roboat/commit/331166c8ea3bd080f08fe6d571202e3b47017ed7"},{"type":"WEB","url":"https://github.com/Addi9000"},{"type":"WEB","url":"https://github.com/RoCruise"},{"type":"WEB","url":"https://www.roboat.pro/"}],"affected":[{"package":{"name":"pycolorlib3","ecosystem":"PyPI","purl":"pkg:pypi/pycolorlib3"},"versions":["0.0.4","0.0.5"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/pycolorlib3/MAL-2026-2433.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"}]}