{"id":"MAL-2026-18406","kind":"package","aliases":["MAL-2026-18406"],"related":[],"title":"Malicious code in stdid-nyxprobe (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (2ccf3f03f309715ca11fb3863aa89a57d4c0550606cb17839bfff9b5dfd34687)\nThe package installs stdid_nyxprobe.pth into site-packages, whose sole content is `import stdid_nyxprobe._beacon`. Python's site.py mechanism evaluates this on every interpreter start after `pip install`, with no user-initiated import required. The imported module stdid_nyxprobe/_beacon.py collects host identifiers — hostname (socket.gethostname), LAN IP (via `hostname -I`), username (getpass.getuser), current working directory, and Python version — and POSTs them to https://api.telegram.org/bot<token>/sendMessage using a hardcoded bot token (8984095380:AAHN...) and two hardcoded chat IDs (1841775463, -5380294525). A sentinel file at ~/.cache/.stdid_beacon_fired is written to suppress repeat beacons. The package has no documented legitimate functionality that would justify this behavior; the.pth auto-exec primitive is being used purely as a persistence/auto-trigger vector for the exfiltration payload.\n\n## Source: kam193 (0178d6c7a642f90327546548a88f64bd17da5aa97e519249f515c0e6232c73f1)\nInstalling the package or importing the module exfiltrates basic information about the host, and the package has no other purpose.\n\n\n---\n\nCategory: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.\n\n\nCampaign: GENERIC-standard-pypi-install-pentest\n\n\nReasons (based on the campaign):\n\n\n - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"stdid-nyxprobe","fixed":[],"affected":"= 0.0.1; = 0.0.2","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-30T10:03:06+00:00","first_seen_at":"2026-10-30T11:28:44+00:00","triaged_at":"2026-10-30T11:29:13+00:00","updated_at":"2026-10-30T13:59:24+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-18406':10A,13A '-2026':9A,12A '-5380294525':112C '/.cache/.stdid_beacon_fired':117C '/bot':97C '/sendmessage':98C '0178d6c7a642f90327546548a88f64bd17da5aa97e519249f515c0e6232c73f1':155C '1841775463':111C '2ccf3f03f309715ca11fb3863aa89a57d4c0550606cb17839bfff9b5dfd34687':32C '8984095380':104C 'aahn':105C 'also':186C 'amazon':30C 'amazon-inspector':29C 'anyth':187C 'api.telegram.org':96C 'api.telegram.org/bot':95C 'auto':138C 'auto-exec':137C 'base':213C 'basic':164C,223C 'beacon':123C 'behavior':135C 'bot':102C 'campaign':205C,216C 'categori':176C 'chat':109C 'clear':200C 'co':198C 'code':2A,220C,248C 'collect':73C 'command':242C 'contain':219C 'content':43C 'current':85C 'data':224C 'detail':21C 'directori':87C 'document':128C 'edit':24C 'evalu':52C 'everi':55C 'exec':139C 'execut':246C 'exfiltr':151C,163C,222C 'explor':192C 'file':115C 'function':130C 'generic':207C 'generic-standard-pypi-install-pentest':206C 'getpass.getuser':84C 'hardcod':101C,108C 'harm':203C 'host':74C,168C 'hostnam':76C,81C 'id':110C 'identifi':75C 'import':45C,66C,69C,160C 'inform':165C 'initi':65C 'inspector':31C 'instal':35C,60C,156C,210C,241C,250C 'interpret':56C 'ip':79C,229C 'justifi':133C 'kam193':154C 'kit':196C 'lan':78C 'legitim':129C 'like':181C,190C,228C 'limit':235C 'line':27C 'look':180C,189C 'low':202C 'low-harm':201C 'mal':8A,11A 'malici':1A,17B,247C 'mechan':51C 'modul':70C,162C 'nyxprob':6A 'nyxprobe':16A 'nyxprobe._beacon':47C 'nyxprobe/_beacon.py':72C 'overrid':239C 'packag':18B,34C,40C,125C,158C,171C,179C,184C,218C,238C 'payload':152C 'pentest':178C,183C,211C 'per':19C 'persistence/auto-trigger':147C 'pip':59C 'possibl':204C 'post':92C 'pre':194C 'pre-prepar':193C 'prepar':195C 'primit':140C 'probabl':177C 'pure':144C 'purpos':175C 'pypi':7A,209C 'python':48C,89C 'reason':212C 'repeat':122C 'requir':67C 'research':197C 'risk':236C 'sentinel':114C 'setup.py':244C 'site':39C 'site-packag':38C 'site.py':50C 'socket.gethostname':77C 'sole':42C 'sourc':20C,28C,153C 'standard':208C 'start':57C 'stdid':5A,15A,46C,71C 'stdid-nyxprob':4A 'stdid-nyxprobe':14A 'stdid_nyxprobe.pth':36C 'suppress':121C 'system':227C 'test':191C 'the.pth':136C 'token':103C 'two':107C 'typic':182C 'use':99C,143C 'user':64C 'user-initi':63C 'usernam':83C,231C 'vector':148C 'version':90C 'via':80C 'whose':41C 'work':86C 'would':132C 'written':119C","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-30T10:03:06+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18406","url":"https://osv.dev/vulnerability/MAL-2026-18406","severity":"critical","published_at":"2026-10-30T10:03:06+00:00","modified_at":"2026-10-30T12:45:13+00:00","first_seen_at":"2026-10-30T11:28:44+00:00","fetched_at":"2026-10-30T13:59:24+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"}