mal-2026-375
Vulnerability from ossf_malicious_packages
Published
2026-01-20 19:06
Modified
2026-01-27 18:50
Summary
Malicious code in spellcheckerpy (PyPI)
Details
-= Per source details. Do not edit below this line.=-
Source: kam193 (79cc4c6495567fe7659e9e4bb5964727bf95cfc9f78d32209937d73457bd476b)
Packages 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 the next code to execute.
The malicious code was in version 1.3.0, but the package itself was clearly uploaded with malclious intentions.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2025-11-spellcheckers
Reasons (based on the campaign):
-
obfuscation
-
Downloads and executes a remote malicious script.
-
The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.
Credits
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "spellcheckerpy"
},
"versions": [
"1.0.0",
"1.1.0",
"1.3.0"
]
}
],
"credits": [
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "ANALYST"
},
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "REPORTER"
}
],
"database_specific": {
"iocs": {
"domains": [
"dothebest.store",
"searchbox.info"
],
"urls": [
"https://dothebest.store/allow/inform.php",
"https://dothebest.store/refresh.php",
"https://searchbox.info/prefer.php"
]
},
"malicious-packages-origins": [
{
"id": "pypi/2025-11-spellcheckers/spellcheckerpy",
"import_time": "2026-01-20T19:29:07.146029539Z",
"modified_time": "2026-01-20T19:06:25.794768Z",
"sha256": "2ffcd3e16661799d1a55e0d5e359ffd6fb883256310f280d6e0b88a5edb4e626",
"source": "kam193",
"versions": [
"1.0.0",
"1.1.0",
"1.3.0"
]
},
{
"id": "pypi/2025-11-spellcheckers/spellcheckerpy",
"import_time": "2026-01-20T19:58:56.109232579Z",
"modified_time": "2026-01-20T19:06:25.794768Z",
"sha256": "79cc4c6495567fe7659e9e4bb5964727bf95cfc9f78d32209937d73457bd476b",
"source": "kam193",
"versions": [
"1.0.0",
"1.1.0",
"1.3.0"
]
},
{
"id": "pypi/2025-11-spellcheckers/spellcheckerpy",
"import_time": "2026-01-27T18:48:13.385350639Z",
"modified_time": "2026-01-20T19:06:25.794768Z",
"sha256": "10bb96df7d43eff438bbe7a555c333f9e1d02f837ee3636dcbf9aa9e22175c48",
"source": "kam193",
"versions": [
"1.0.0",
"1.1.0",
"1.3.0"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (79cc4c6495567fe7659e9e4bb5964727bf95cfc9f78d32209937d73457bd476b)\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 the next code to execute.\n\nThe malicious code was in version 1.3.0, but the package itself was clearly uploaded with malclious intentions.\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\u0027s machine.\n",
"id": "MAL-2026-375",
"modified": "2026-01-27T18:50:00Z",
"published": "2026-01-20T19:06:25Z",
"references": [
{
"type": "WEB",
"url": "https://helixguard.ai/blog/malicious-spellcheckers-2025-11-19"
},
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/spellcheckerpy"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in spellcheckerpy (PyPI)"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…