{"id":"MAL-2026-490","summary":"Malicious code in tabletes (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (b0e46bf0a52fee42a54e122a61b6da920b8d08234f109ab1da45c7f6c7042ef2)\nPackages contain hidden code that is effectively run during importing or using the library, and downloads second stage code. Then, a process running in background periodically connects to a remote host and waits for next code to execute\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-11-spellcheckers\n\n\nReasons (based on the campaign):\n\n\n - obfuscation\n\n\n - Downloads and executes a remote malicious script.\n\n\n - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.\n","modified":"2026-03-13T06:51:07.143034Z","published":"2026-01-23T10:19:25Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-01-23T10:44:05.996340231Z","sha256":"b0e46bf0a52fee42a54e122a61b6da920b8d08234f109ab1da45c7f6c7042ef2","versions":["1.0.4","1.0.6"],"modified_time":"2026-01-23T10:19:25.742254Z","source":"kam193","id":"pypi/2025-11-spellcheckers/tabletes"},{"import_time":"2026-01-26T08:47:25.271759025Z","sha256":"4980291edc91c2b2bbc7e33da6e6040743e0778ae5a8a79ded506afc65f479fe","versions":["1.0.4","1.0.6","1.0.8"],"modified_time":"2026-01-26T08:17:31.959151Z","source":"kam193","id":"pypi/2025-11-spellcheckers/tabletes"},{"import_time":"2026-01-27T18:48:13.394143759Z","sha256":"49e2991566fd6617b169596b8dbcbacb259587ebd520fb07d942d2c41b718d87","versions":["1.0.4","1.0.6","1.0.8"],"modified_time":"2026-01-26T08:17:31.959151Z","source":"kam193","id":"pypi/2025-11-spellcheckers/tabletes"},{"import_time":"2026-01-28T19:11:43.705558638Z","sha256":"da44d49b9d06524742531b8f1de18bec001d898a5ec5f95fde020a612114786c","versions":["1.0.4","1.0.6","1.0.8"],"modified_time":"2026-01-26T08:17:31.959151Z","source":"kam193","id":"pypi/2025-11-spellcheckers/tabletes"},{"import_time":"2026-03-11T10:47:48.535943102Z","sha256":"669fc235589537f073148be48b9e650cf3107404ea0601cf66ea173dd9f29720","versions":["1.0.4","1.0.6","1.0.8"],"modified_time":"2026-01-26T08:17:31.959151Z","source":"kam193","id":"pypi/2025-11-spellcheckers/tabletes"}],"iocs":{"urls":["https://dothebest.store/allow/inform.php","https://dothebest.store/refresh.php","https://searchbox.info/prefer.php","https://updatenet.work/settings/history.php"],"domains":["dothebest.store","searchbox.info","updatenet.work"]}},"references":[{"type":"WEB","url":"https://helixguard.ai/blog/malicious-spellcheckers-2025-11-19"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/tabletes"},{"type":"WEB","url":"https://www.aikido.dev/blog/malicious-pypi-packages-spellcheckpy-and-spellcheckerpy-deliver-python-rat"}],"affected":[{"package":{"name":"tabletes","ecosystem":"PyPI","purl":"pkg:pypi/tabletes"},"versions":["1.0.4","1.0.6","1.0.8"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/tabletes/MAL-2026-490.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"ANALYST"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}