{"id":"MAL-2026-18427","kind":"package","aliases":["MAL-2026-18427"],"related":[],"title":"Malicious code in skills-analyzer (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (415c95c384a9901bda7b98bdcf86142c041e21de2759e7048769a49bf54d9bea)\nIn this campaign, specific versions of involved affected packages hide malicious actions. The malicious code is hidden in specific versions of a dependency (is-it-ai), intentionally pinned by specific versions of dependent packages. All package versions were uploaded with malicious intention; the ones without malicious references are clearly intendent only to hide a cover for the rest. When triggered, the malicious action fingerprints the environment and contacts the remote server. If it responds with an URL, it will be downloaded and executed.\n\nThe malicious code is in 0.1.1, other releases are just to cover it.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-is-it-ai\n\n\nReasons (based on the campaign):\n\n\n - Downloads and executes a remote executable.\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - targetted-attack\n\n\n - action-hidden-in-lib-usage","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"skills-analyzer","fixed":[],"affected":"= 0.1.0; = 0.1.1; = 0.1.2","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-31T12:55:07+00:00","first_seen_at":"2026-10-31T13:35:46+00:00","triaged_at":"2026-10-31T13:37:14+00:00","updated_at":"2026-10-31T13:45:42+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-10':140C '-18427':10A,13A '-2026':9A,12A '0.1.1':120C '2026':139C '415c95c384a9901bda7b98bdcf86142c041e21de2759e7048769a49bf54d9bea':30C 'action':42C,94C,172C 'action-hidden-in-lib-usag':171C 'affect':38C 'ai':57C,144C 'analyz':6A 'analyzer':16A 'attack':170C 'base':146C 'campaign':33C,131C,138C,149C 'categori':128C 'clear':80C,133C 'code':2A,45C,117C,158C 'contact':99C 'cover':86C,126C 'depend':53C,64C,164C 'detail':21C 'download':112C,150C 'edit':24C 'environ':97C 'execut':114C,152C,155C 'fingerprint':95C 'hidden':47C,173C 'hide':40C,84C 'includ':161C 'infosteal':137C 'intend':81C 'intent':58C,73C,135C,160C 'involv':37C 'is-it-ai':54C,141C 'kam193':29C 'lib':175C 'like':136C 'line':27C 'mal':8A,11A 'malici':1A,17B,41C,44C,72C,77C,93C,116C,129C,134C,157C 'one':75C 'packag':18B,39C,65C,67C,167C 'per':19C 'pin':59C 'pypi':7A 'reason':145C 'refer':78C 'releas':122C 'remot':101C,154C 'respond':105C 'rest':89C 'server':102C 'skill':5A 'skills':15A 'skills-analyz':4A 'skills-analyzer':14A 'sourc':20C,28C 'specif':34C,49C,61C 'target':169C 'targetted-attack':168C 'trigger':91C 'upload':70C 'url':108C 'usag':176C 'version':35C,50C,62C,68C 'without':76C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"first_public_at":"2026-10-31T12:55:07+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18427","url":"https://osv.dev/vulnerability/MAL-2026-18427","severity":"critical","published_at":"2026-10-31T12:55:07+00:00","modified_at":"2026-10-31T13:45:03+00:00","first_seen_at":"2026-10-31T13:35:46+00:00","fetched_at":"2026-10-31T14:35:53+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"}