{"id":"MAL-2026-3429","kind":"package","aliases":["MAL-2026-3429"],"related":[],"title":"Malicious code in openai-spellchecker (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (13911c4c1e0334b4e4d972e3b3256a08f8991d3935d74086c252ed085d3984a0)\nThe package hides code to download and execute a next-stage payload, which then communicates with C2 and listens for next code parts. In the analyzed version, the malicious code was not triggered.\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-spellchecker","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-11T17:23:11+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':77C '-2026':9A,12A '-3429':10A,13A '13911c4c1e0334b4e4d972e3b3256a08f8991d3935d74086c252ed085d3984a0':30C '2025':76C 'analyz':57C 'base':80C 'c2':48C 'campaign':68C,75C,83C 'categori':65C 'clear':70C 'code':2A,34C,53C,61C,95C 'command':99C 'communic':46C 'contain':94C 'detail':21C 'download':36C,85C 'edit':24C 'execut':38C,87C,97C 'hide':33C 'infosteal':74C 'intent':72C 'kam193':29C 'like':73C 'limit':101C 'line':27C 'listen':50C 'machin':110C 'mal':8A,11A 'malici':1A,17B,60C,66C,71C,90C 'next':41C,52C 'next-stag':40C 'obfusc':84C 'openai':5A,15A 'openai-spellcheck':4A 'openai-spellchecker':14A 'packag':18B,32C,93C 'part':54C 'payload':43C 'per':19C 'probabl':100C 'pypi':7A 'reason':79C 'remot':89C,98C 'script':91C 'set':105C 'sourc':20C,28C 'specif':104C 'spellcheck':6A,78C 'spellchecker':16A 'stage':42C 'trigger':64C 'version':58C 'victim':108C","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-11T17:23:11+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-3429","url":"https://osv.dev/vulnerability/MAL-2026-3429","severity":"critical","published_at":"2026-05-11T17:23:11+00:00","modified_at":"2026-10-30T09:45:04+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"}