-= Per source details. Do not edit below this line.=-
During installation package downloads and runs a malicious executable. Likely continuation of 2026-03-rowrap.
The 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
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-03-roboat-addition
Reasons (based on the campaign):
The package overrides the install command in setup.py to execute malicious code during installation.
Downloads and executes a remote executable.
The malicious code is intentionally included in a dependency of the package
malware
clones-real-package
{
"iocs": {
"domains": [
"jolly-violet-def9.staraledreamer.workers.dev",
"holy-sun-41ff.staraledreamer.workers.dev",
"spring-math-9df3.aledreamsaledreams2.workers.dev",
"i-like-boys.com"
],
"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",
"https://github.com/aledreamsaledreqms-source/frakenstein/raw/refs/heads/main/ee.exe",
"https://i-like-boys.com/tree.vbs"
]
},
"malicious-packages-origins": [
{
"sha256": "0984290664d514183109c836bea6a2bda03e33f89563accc6c79a51e281688f8",
"import_time": "2026-04-19T19:20:41.948250849Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "2dff8e0b03b066ccc1b351fe38c98c7c8255326199b097d482f78cc07988d2c6",
"import_time": "2026-04-25T08:25:00.397533192Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "87980ad2d433d28adf37c95162e3298256038167b1ae2f43f5f91a50ef3302bb",
"import_time": "2026-04-26T17:18:12.835315103Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "d636079bd2a22178671b16f66a74f81f5f8fee31b3e043874cbf0621798c91c5",
"import_time": "2026-04-27T21:50:25.229251757Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "56e5d5d46b0134ba13ac89d3830346e6aeab0d088c40a90a7c7f5bb5caa976bc",
"import_time": "2026-04-28T22:49:44.41301545Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "0cf87773df93b522fa7292a15695bd91a5e61205eb1e542f9501a0ed77a98ac1",
"import_time": "2026-05-03T20:48:01.29504104Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
},
{
"sha256": "5ca3ae8ae18bb9ed01ef36e96785998ee446d2e70d6f3ed3dd3f2747ffb99697",
"import_time": "2026-05-28T04:57:09.781167483Z",
"source": "kam193",
"modified_time": "2026-04-19T18:45:19.804174Z",
"versions": [
"2.6.0",
"2.7.0",
"2.8.0"
],
"id": "pypi/2026-03-roboat-addition/rblx-studio-api"
}
]
}