{"id":"MAL-2026-2305","summary":"Malicious code in databaseroboats (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (758a06f15ef5917ecf964bae5fa46f084b028b69c8dd133acb90da972f6a6f09)\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:10.056777720Z","published":"2026-03-30T20:21:21Z","database_specific":{"malicious-packages-origins":[{"source":"kam193","sha256":"dc1f844fef609b38cf45f4d47f4b11ead9ec2588dca7e619c873ff219dfb1e52","import_time":"2026-03-30T20:48:31.823576359Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"]},{"modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"5b8193bb3e56929650df4e0fb0ba6ea3538bfa949936f56dbe9a9d111ae0bbbb","import_time":"2026-04-04T22:45:36.627211482Z","id":"pypi/2026-03-roboat-addition/databaseroboats"},{"import_time":"2026-04-05T09:18:40.863038906Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"768d26c958373933d732729fc60fdbaeaf66d80206a00167933bedf4ac5f7fba"},{"versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"67bb2b905a4c43e78c7e7f6642d18a6e1ae5237ddcedbb274081d2f4c98cc8f4","import_time":"2026-04-08T10:27:39.256004191Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z"},{"sha256":"9eb3db88480eae575b6bb1168c0fc538156c57bfd28c495046e6e294841063dd","import_time":"2026-04-10T21:47:38.800784743Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193"},{"sha256":"5fe12252e6ac7b265cee74a65c00c5f6039d9122b2262f307487eb9560183b5c","import_time":"2026-04-12T21:46:35.802555342Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193"},{"import_time":"2026-04-12T22:12:37.179255748Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"758a06f15ef5917ecf964bae5fa46f084b028b69c8dd133acb90da972f6a6f09"},{"versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"9c85d133c07bc244ed6088bf0c36608861bf4ac882937e30587b5885a9658a1a","import_time":"2026-04-16T07:38:25.007574417Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z"},{"source":"kam193","sha256":"add4e9a40a09cecb550ee116cfea0a807dca5d29b89ced04ead850e89fba8073","import_time":"2026-04-25T08:25:00.389001735Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"]},{"sha256":"a832c4c200232d723322ed83a62294c26dd5ef4f42dbdbf980ac02c6e830df17","import_time":"2026-04-26T17:18:12.82098706Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193"},{"import_time":"2026-04-27T21:50:25.212972612Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"c06ec4000bee0d3e4fabe62d22abd9a850c162cb713bd166ca393cc6c8ae198c"},{"import_time":"2026-04-28T22:49:44.398970694Z","id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"7771bc23478574c5a0edf12414a77def192b3530d44d98a47216ec68d5fbeb17"},{"modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"a22e385637d00b236c1ea03af5c6b022f85613983f17f4639934d1acf2d35ba1","import_time":"2026-05-03T20:48:01.27923135Z","id":"pypi/2026-03-roboat-addition/databaseroboats"},{"id":"pypi/2026-03-roboat-addition/databaseroboats","modified_time":"2026-03-30T20:32:09.071266Z","versions":["0.0.3","0.0.4"],"source":"kam193","sha256":"1e93787c810495a6888e603122593fbed8cbe5c42e966c2e4d07f2b4f2315a57","import_time":"2026-05-28T04:57:09.766059121Z"}],"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"]}},"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/databaseroboats"},{"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":"databaseroboats","ecosystem":"PyPI","purl":"pkg:pypi/databaseroboats"},"versions":["0.0.3","0.0.4"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/databaseroboats/MAL-2026-2305.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"}]}