{"id":"MAL-2026-2563","summary":"Malicious code in robase-installer (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (1edd96cface7dcae9f445d94982ffc19a27e557fae7030e77e6e5646dfdd5c98)\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:14.055322466Z","published":"2026-04-11T20:04:56Z","database_specific":{"malicious-packages-origins":[{"source":"kam193","sha256":"8a58df2482c50adcad735c5374d27375e3356b241603667fcb8cd4e863fee417","import_time":"2026-04-11T20:46:49.149066827Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"]},{"id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"],"source":"kam193","sha256":"89cf5b739e9dec43727b9d33ffe4b897512b06921c75df19dc69ab2cba25f422","import_time":"2026-04-12T21:46:35.813311298Z"},{"source":"kam193","sha256":"1edd96cface7dcae9f445d94982ffc19a27e557fae7030e77e6e5646dfdd5c98","import_time":"2026-04-12T22:12:37.190393758Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"]},{"sha256":"2ed46f2662451ed9c0a47019e665d0fa9c3c06a38bd0874bae05fd26d473139c","import_time":"2026-04-16T07:38:25.021540418Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"],"source":"kam193"},{"sha256":"f6f02a8ccaebe6b4f37c29b5fdf6af83caac8a32275d7e70b8d8ac8434ddbf5f","import_time":"2026-04-25T08:25:00.415591636Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"],"source":"kam193"},{"versions":["2.2.0"],"source":"kam193","sha256":"ee8fa7b3d593f194e5ec5db1b0dc9230bcf4cf193a1ebffd8fadb85f0dd5b2f1","import_time":"2026-04-26T17:18:12.846352322Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z"},{"source":"kam193","sha256":"fa31efef9a55f550f05af6cf66f45c7f039ce8ac6b58d4b649c31ee04c55059b","import_time":"2026-04-27T21:50:25.239569232Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"]},{"versions":["2.2.0"],"source":"kam193","sha256":"794b22ce28ba146d81c9703a6c6d57bfda8fd45da47638ac9155eca6976051c3","import_time":"2026-04-28T22:49:44.424187073Z","id":"pypi/2026-03-roboat-addition/robase-installer","modified_time":"2026-04-11T20:05:11.327792Z"},{"modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"],"source":"kam193","sha256":"9f0b9372fed83b086c8d851db25d3a16dffa7306288117f6ffd1d8c450b5309f","import_time":"2026-05-03T20:48:01.309671348Z","id":"pypi/2026-03-roboat-addition/robase-installer"},{"modified_time":"2026-04-11T20:05:11.327792Z","versions":["2.2.0"],"source":"kam193","sha256":"61fb7feef5e5f514d35f1bdc45ac4be2e994c7ba73b46260eba3044d9b1edcf8","import_time":"2026-05-28T04:57:09.793638664Z","id":"pypi/2026-03-roboat-addition/robase-installer"}],"iocs":{"domains":["jolly-violet-def9.staraledreamer.workers.dev","holy-sun-41ff.staraledreamer.workers.dev","spring-math-9df3.aledreamsaledreams2.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","https://green-shadow-38d7.aledreamsaledreams2.workers.dev/tree.vbs","https://spring-math-9df3.aledreamsaledreams2.workers.dev/winre.bat","https://github.com/aledreamsaledreqms-source/frakenstein/raw/refs/heads/main/tree.vbs","https://lingering-field-4351.aledreamer1234.workers.dev/yy.bat"]}},"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://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/"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/robase-installer"}],"affected":[{"package":{"name":"robase-installer","ecosystem":"PyPI","purl":"pkg:pypi/robase-installer"},"versions":["2.2.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/robase-installer/MAL-2026-2563.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}