{"id":"MAL-2026-441","summary":"Malicious code in spellcheckpy (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (063d67bbc510966bb83b63d1ba79a8279cf212b9028005800d6f2f99534eec46)\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.431035Z","published":"2026-01-21T08:10:26Z","database_specific":{"iocs":{"domains":["dothebest.store","searchbox.info","updatenet.work"],"urls":["https://dothebest.store/allow/inform.php","https://dothebest.store/refresh.php","https://searchbox.info/prefer.php","https://updatenet.work/settings/history.php"]},"malicious-packages-origins":[{"source":"kam193","versions":["1.1.0","1.2.0"],"id":"pypi/2025-11-spellcheckers/spellcheckpy","import_time":"2026-01-21T08:46:11.226761952Z","modified_time":"2026-01-21T08:10:26.742634Z","sha256":"063d67bbc510966bb83b63d1ba79a8279cf212b9028005800d6f2f99534eec46"},{"id":"pypi/2025-11-spellcheckers/spellcheckpy","import_time":"2026-01-27T18:48:13.389460094Z","modified_time":"2026-01-21T08:10:26.742634Z","sha256":"cfd5a033715b89d667fb2b3d63b55b7cfbe0476dd277d6fbffe53e1a18415d50","source":"kam193","versions":["1.1.0","1.2.0"]},{"versions":["1.1.0","1.2.0"],"id":"pypi/2025-11-spellcheckers/spellcheckpy","import_time":"2026-01-28T19:11:43.699713929Z","modified_time":"2026-01-21T08:10:26.742634Z","sha256":"623cdd159f33f5102e70fd0b181c201c98ded82ac4f58f4dac059ecabd2a37a8","source":"kam193"},{"sha256":"d8e8295735de44b251965d6a6f2bc4658bddb0f849a5da14020da6069aa6827d","source":"kam193","versions":["1.1.0","1.2.0"],"id":"pypi/2025-11-spellcheckers/spellcheckpy","import_time":"2026-03-11T10:47:48.525278653Z","modified_time":"2026-01-21T08:10:26.742634Z"}]},"references":[{"type":"WEB","url":"https://helixguard.ai/blog/malicious-spellcheckers-2025-11-19"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/spellcheckpy"},{"type":"WEB","url":"https://www.aikido.dev/blog/malicious-pypi-packages-spellcheckpy-and-spellcheckerpy-deliver-python-rat"}],"affected":[{"package":{"name":"spellcheckpy","ecosystem":"PyPI","purl":"pkg:pypi/spellcheckpy"},"versions":["1.1.0","1.2.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/spellcheckpy/MAL-2026-441.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}