{"id":"MAL-2026-3638","kind":"package","aliases":["MAL-2026-3638"],"related":[],"title":"Malicious code in openai-spellcheckers (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (195e6ac284c1a3e97b7683250a5514ed89d903819d2a3c97987782d4725e0e9f)\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.","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"openai-spellcheckers","fixed":[],"affected":"= 1.0.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-05-13T05:52:24+00:00","first_seen_at":"2026-10-30T10:28:28+00:00","triaged_at":"2026-10-30T10:28:57+00:00","updated_at":"2026-10-30T10:28:57+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-11':82C '-2026':9A,12A '-3638':10A,13A '195e6':30C '2025':81C 'ac284c1a3e97b7683250a5514ed89d903819d2a3c97987782d4725e0e9f':31C 'background':56C 'base':85C 'campaign':73C,80C,88C 'categori':70C 'clear':75C 'code':2A,35C,50C,67C,100C 'command':104C 'connect':58C 'contain':33C,99C 'detail':21C 'download':47C,90C 'edit':24C 'effect':38C 'execut':69C,92C,102C 'hidden':34C 'host':62C 'import':41C 'infosteal':79C 'intent':77C 'kam193':29C 'librari':45C 'like':78C 'limit':106C 'line':27C 'machin':115C 'mal':8A,11A 'malici':1A,17B,71C,76C,95C 'next':66C 'obfusc':89C 'openai':5A,15A 'openai-spellcheck':4A 'openai-spellcheckers':14A 'packag':18B,32C,98C 'per':19C 'period':57C 'probabl':105C 'process':53C 'pypi':7A 'reason':84C 'remot':61C,94C,103C 'run':39C,54C 'script':96C 'second':48C 'set':110C 'sourc':20C,28C 'specif':109C 'spellcheck':6A,83C 'spellcheckers':16A 'stage':49C 'use':43C 'victim':113C 'wait':64C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"first_public_at":"2026-05-13T05:52:24+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-3638","url":"https://osv.dev/vulnerability/MAL-2026-3638","severity":"critical","published_at":"2026-05-13T05:52:24+00:00","modified_at":"2026-10-30T09:45:03+00:00","first_seen_at":"2026-10-30T10:28:28+00:00","fetched_at":"2026-10-30T10:28:28+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}