-= 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": [
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-04-16T07:38:25.016220781Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "32170773fbd5fab5b2494de72ce601e7b43d9b5c21f36b9bc26a6ada40024de6",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-04-25T08:25:00.409975078Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "4d97cc259bc73a0a5a0292ba0cae0c37e43eafa10dfb10cac161800ef9143cab",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-04-26T17:18:12.836565326Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "6d2a055a1de4f40f1586d6981166f4dc918ce1a58e66b2bd425f309eab84a1d3",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-04-27T21:50:25.230275044Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "7fafced5c3039a3796627eff716969a65930e8065b5a968330d84e97238e45de",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-04-28T22:49:44.414169412Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "b9b8f159a5be22bf6b398e97504f2b02004a2377f396b988f51ffeb09dcbf5c8",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-05-03T20:48:01.297240104Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "bd35ecb4add45a071f928aaf2086600f13f6a75d359ee23a85647c9b2d04e607",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
},
{
"id": "pypi/2026-03-roboat-addition/robase-api",
"import_time": "2026-05-28T04:57:09.783222427Z",
"modified_time": "2026-04-16T07:06:16.105713Z",
"sha256": "31679d3f6c5b3f9a64ff8d68ede76d303c46cb8127c11abea7a3b8d46d59686c",
"source": "kam193",
"versions": [
"2.4.0",
"2.6.0"
]
}
]
}