{"id":"MAL-2026-19051","kind":"package","aliases":["MAL-2026-19051"],"related":[],"title":"Malicious code in shanks (PyPI)","description":"The module shanks/shanks.py, when imported, looks up the machine's public IP address and location from a geolocation service and posts the IP address, city, state, postal code, latitude and longitude, with an @everyone mention, to a hard-coded Discord webhook. The package describes itself only as \"A small example pkg\". Version examined: 0.0.4; sdist SHA-256 dc417305d4b083a60ffda7aa310952306258fc12afc536a0641fc4a79c95bed8.","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"shanks","fixed":[],"affected":"= 0.0.4","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-11-07T03:16:10+00:00","first_seen_at":"2026-11-10T00:26:22+00:00","triaged_at":"2026-11-10T00:27:33+00:00","updated_at":"2026-11-10T00:27:33+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-19051':8A,11A '-2026':7A,10A '-256':72C '0.0.4':69C 'address':27C,38C 'citi':39C 'code':2A,42C,54C 'dc417305d4b083a60ffda7aa310952306258fc12afc536a0641fc4a79c95bed8':73C 'describ':59C 'discord':55C 'everyon':48C 'examin':68C 'exampl':65C 'geoloc':32C 'hard':53C 'hard-cod':52C 'import':19C 'ip':26C,37C 'latitud':43C 'locat':29C 'longitud':45C 'look':20C 'machin':23C 'mal':6A,9A 'malici':1A,13B 'mention':49C 'modul':16C 'packag':14B,58C 'pkg':66C 'post':35C 'postal':41C 'public':25C 'pypi':5A 'sdist':70C 'servic':33C 'sha':71C 'shank':4A 'shanks':12A 'shanks/shanks.py':17C 'small':64C 'state':40C 'version':67C 'webhook':56C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"pkeys":["shanks"],"ptokens":["shanks"],"labels":["critical","malicious","package","pypi"],"campaign_type":null,"search_a":"'-19051':8A,11A '-2026':7A,10A 'code':2A 'mal':6A,9A 'malici':1A 'pypi':5A 'shank':4A 'shanks':12A","search_b":"'malici':13B 'packag':14B","search_c":"'-256':72C '0.0.4':69C 'address':27C,38C 'citi':39C 'code':42C,54C 'dc417305d4b083a60ffda7aa310952306258fc12afc536a0641fc4a79c95bed8':73C 'describ':59C 'discord':55C 'everyon':48C 'examin':68C 'exampl':65C 'geoloc':32C 'hard':53C 'hard-cod':52C 'import':19C 'ip':26C,37C 'latitud':43C 'locat':29C 'longitud':45C 'look':20C 'machin':23C 'mention':49C 'modul':16C 'packag':58C 'pkg':66C 'post':35C 'postal':41C 'public':25C 'sdist':70C 'servic':33C 'sha':71C 'shanks/shanks.py':17C 'small':64C 'state':40C 'version':67C 'webhook':56C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-07T03:16:10+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-19051","url":"https://osv.dev/vulnerability/MAL-2026-19051","severity":"critical","published_at":"2026-11-07T03:16:10+00:00","modified_at":"2026-11-09T23:15:34+00:00","first_seen_at":"2026-11-10T00:26:22+00:00","fetched_at":"2026-11-10T00:26:22+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}