{"id":"MAL-2025-6588","summary":"Malicious code in solana-sdkpy (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (fa656c982797b0a9ae09399aa3204b8925d4608935f9b563f498224bebf39b04)\nSeries of packages mostly with an obfuscated infostealer attempting to collect Chrome data. While discord webhook is usually set to an example, there are other, correct uploading URLs \n\nSome of related packages only test partial malicious code, like webhooks from overwritten setup.py\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-07-0x9xnx\n\n\nReasons (based on the campaign):\n\n\n - infostealer\n\n\n - obfuscation\n\n\n - exfiltration-browser-data\n\n\n - exfiltration-crypto\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n","modified":"2026-03-19T12:56:54.696404Z","published":"2025-07-04T09:57:46Z","database_specific":{"iocs":{"domains":["chrome-data-receiver.up.railway.app","chrome-extract.up.railway.app","vell-production.up.railway.app"],"urls":["https://chrome-data-receiver.up.railway.app/upload","https://chrome-extract.up.railway.app/upload","https://vell-production.up.railway.app/upload"]},"malicious-packages-origins":[{"import_time":"2025-08-01T10:07:13.926599609Z","versions":["1.2.2","1.2.3","1.2.5","1.2.6"],"sha256":"a39c7810762407fd92004b6131659cc166353feb3ef23c53e1ac64c73cd36af9","modified_time":"2025-07-31T19:16:28Z","id":"RLMA-2025-03687","source":"reversing-labs"},{"import_time":"2025-08-29T06:42:44.726133414Z","sha256":"0a24eba74be85d4514966918be8a62fcd990c836bca72016ef4290ff15211024","modified_time":"2025-08-28T07:11:55Z","id":"RLUA-2025-04259","source":"reversing-labs"},{"import_time":"2025-12-02T22:30:55.590731649Z","sha256":"8547af2904fbee83f4b917b00212906712d92ba5f59c723eff2f05bfd3ed503a","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"modified_time":"2025-07-04T09:57:46Z","id":"pypi/2025-07-0x9xnx/solana-sdkpy","source":"kam193"},{"import_time":"2025-12-02T23:07:18.633455944Z","sha256":"fa656c982797b0a9ae09399aa3204b8925d4608935f9b563f498224bebf39b04","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"modified_time":"2025-07-04T09:57:46Z","id":"pypi/2025-07-0x9xnx/solana-sdkpy","source":"kam193"},{"import_time":"2025-12-10T21:38:57.827985522Z","versions":["1.2.2","1.2.3","1.2.5","1.2.6"],"sha256":"09f209e48c9350be29ca72e76c84a942618776e853edcab600350280b81bfdd7","modified_time":"2025-07-04T09:57:46Z","id":"pypi/2025-07-0x9xnx/solana-sdkpy","source":"kam193"},{"import_time":"2026-03-19T12:20:28.353518521Z","sha256":"f47ee40cfd0e9795a39169e47ec90e1372d8366cac29b5210bb6528edee45101","modified_time":"2026-03-18T12:18:53Z","id":"RLUA-2026-00766","source":"reversing-labs"}]},"references":[{"type":"ARTICLE","url":"https://www.fortinet.com/blog/threat-research/malicious-packages-across-open-source-registries"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/solana-sdkpy"}],"affected":[{"package":{"name":"solana-sdkpy","ecosystem":"PyPI","purl":"pkg:pypi/solana-sdkpy"},"versions":["1.2.2","1.2.3","1.2.5","1.2.6"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/solana-sdkpy/MAL-2025-6588.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"]},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}