{"id":"MAL-2026-15858","kind":"package","aliases":["MAL-2026-15858"],"related":[],"title":"Malicious code in trongridi (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7377339f830834c0b61f370dd642f368374d9551b8b51822d79a902b4b403103)\nThe package exposes a single public function perm(private_key) that POSTs the caller-supplied TRON wallet private key as JSON to the hardcoded endpoint https://reda-sequestered-justine.ngrok-free.dev/tron. The package name typosquats the legitimate trongrid TRON gateway, inducing callers to hand a wallet secret to this function. A second request to https://reda-sequestered-justine.ngrok-free.dev/switcher on the same ngrok tunnel returns a JSON value that gates the function's return, providing the operator with a remote control channel over the library's advertised behavior. Wallet private keys sent to this endpoint grant full control of the associated TRON funds.\n\n## Source: kam193 (3d03608cfdb32a163655abbfe15a2c86d5957fe498e678d3f6e3f44f12220454)\nPackage appears to be designed for private key exfiltration, but no known usage. The name appears to be related to the cryptocurrency TRX (Tron / Tronix). Some packages additionally clone the readme of other, legit libraries. The similar packages are repeating uploaded to PyPI\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-04-tronix\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-generic\n\n\n - crypto-related","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"trongridi","fixed":[],"affected":"= 0.0.1","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-09-03T16:14:14+00:00","first_seen_at":"2026-10-26T20:51:56+00:00","triaged_at":"2026-10-26T21:12:36+00:00","updated_at":"2026-10-26T21:12:36+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-04':186C '-15858':8A,11A '-2026':7A,10A '/switcher':83C '/tron.':57C '2025':185C '3d03608cfdb32a163655abbfe15a2c86d5957fe498e678d3f6e3f44f12220454':130C '7377339f830834c0b61f370dd642f368374d9551b8b51822d79a902b4b403103':28C 'addit':158C 'advertis':111C 'amazon':26C 'amazon-inspector':25C 'appear':132C,146C 'associ':125C 'base':189C 'behavior':112C 'caller':43C,68C 'caller-suppli':42C 'campaign':177C,184C,192C 'categori':174C 'channel':106C 'clear':179C 'clone':159C 'code':2A 'control':105C,122C 'crypto':197C 'crypto-rel':196C 'cryptocurr':152C 'design':135C 'detail':17C 'edit':20C 'endpoint':54C,119C 'exfiltr':139C,194C 'exfiltration-gener':193C 'expos':31C 'full':121C 'function':35C,76C,96C 'fund':127C 'gate':94C 'gateway':66C 'generic':195C 'grant':120C 'hand':70C 'hardcod':53C 'induc':67C 'infosteal':183C 'inspector':27C 'intent':181C 'json':50C,91C 'kam193':129C 'key':38C,48C,115C,138C 'known':142C 'legit':164C 'legitim':63C 'librari':109C,165C 'like':182C 'line':23C 'mal':6A,9A 'malici':1A,13B,175C,180C 'name':60C,145C 'ngrok':87C 'oper':101C 'packag':14B,30C,59C,131C,157C,168C 'per':15C 'perm':36C 'post':40C 'privat':37C,47C,114C,137C 'provid':99C 'public':34C 'pypi':5A,173C 'readm':161C 'reason':188C 'reda-sequestered-justine.ngrok-free.dev':56C,82C 'reda-sequestered-justine.ngrok-free.dev/switcher':81C 'reda-sequestered-justine.ngrok-free.dev/tron.':55C 'relat':149C,198C 'remot':104C 'repeat':170C 'request':79C 'return':89C,98C 'second':78C 'secret':73C 'sent':116C 'similar':167C 'singl':33C 'sourc':16C,24C,128C 'suppli':44C 'tron':45C,65C,126C,154C 'trongrid':64C 'trongridi':4A,12A 'tronix':155C,187C 'trx':153C 'tunnel':88C 'typosquat':61C 'upload':171C 'usag':143C 'valu':92C 'wallet':46C,72C,113C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-03T16:14:14+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-15858","url":"https://osv.dev/vulnerability/MAL-2026-15858","severity":"critical","published_at":"2026-09-03T16:14:14+00:00","modified_at":"2026-09-04T01:00:05+00:00","first_seen_at":"2026-10-26T20:51:56+00:00","fetched_at":"2026-10-26T20:51:56+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"}