{"id":"MAL-2026-15829","kind":"package","aliases":["MAL-2026-15829"],"related":[],"title":"Malicious code in telemetry-helper (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (26ef1779c00c37e2ee65632fefde6bbe242f5a15294ee018caa1d1d2ad5b6000)\nOn `import telemetry_helper`, top-level code starts a daemon thread that sleeps 30 seconds and then POSTs a JSON payload containing the hostname, username, current working directory, and the entire process environment (`dict(os.environ)`) to a hardcoded webhook.site inbox at https://webhook.site/e32d3b8a-a5df-40cc-ae60-7a8343b581e4. `os.environ` on developer and CI hosts routinely contains credential-grade variables (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, NPM_TOKEN, PYPI_TOKEN / TWINE_PASSWORD, database URLs, private keys), so this is a bulk credential and host-identity harvester. The destination is an anonymous third-party webhook inbox unrelated to any declared publisher, and the 30-second delay before the POST is consistent with evasion of short-lived install/import sandboxes. The behavior fires unconditionally at import with no opt-out and no relation to any advertised functionality.\n\n## Source: kam193 (f1bdc82cf3a04a5e654f400c53ec66cdbdd1c8ad0709c37eb653ab2eac4830db)\nIn this campaign, one package contains malicious code exfiltrating environment variables during import (telemetry-helper), and another one intentionally installs it as a dependency.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-telemetry-helper\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-env-variables\n\n\n - The malicious code is intentionally included in a dependency of the package","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"telemetry-helper","fixed":[],"affected":"= 1.0.1; = 2.0.0; = 1.1.0; = 1.0.0; = 1.0.2; = 1.2.0; = 1.3.0; = 2.0.1","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-09-03T00:43:22+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":"'-09':212C '-15829':10A,13A '-2026':9A,12A '/e32d3b8a-a5df-40cc-ae60-7a8343b581e4.':77C '2026':211C '26ef1779c00c37e2ee65632fefde6bbe242f5a15294ee018caa1d1d2ad5b6000':32C '30':47C,138C 'access':91C,96C 'advertis':170C 'amazon':30C 'amazon-inspector':29C 'anonym':125C 'anoth':192C 'aw':90C,94C 'base':217C 'behavior':155C 'bulk':114C 'campaign':177C,203C,210C,220C 'categori':200C 'ci':82C 'clear':205C 'code':2A,40C,182C,227C 'consist':145C 'contain':55C,85C,180C 'credenti':87C,115C 'credential-grad':86C 'current':59C 'daemon':43C 'databas':106C 'declar':134C 'delay':140C 'depend':199C,233C 'destin':122C 'detail':21C 'develop':80C 'dict':67C 'directori':61C 'edit':24C 'entir':64C 'env':223C 'environ':66C,184C 'evas':147C 'exfiltr':183C,222C 'exfiltration-env-vari':221C 'f1bdc82cf3a04a5e654f400c53ec66cdbdd1c8ad0709c37eb653ab2eac4830db':174C 'fire':156C 'function':171C 'github':98C 'grade':88C 'hardcod':71C 'harvest':120C 'helper':6A,16A,36C,190C,215C 'host':83C,118C 'host-ident':117C 'hostnam':57C 'id':93C 'ident':119C 'import':34C,159C,187C 'inbox':73C,130C 'includ':230C 'infosteal':209C 'inspector':31C 'instal':195C 'install/import':152C 'intent':194C,207C,229C 'json':53C 'kam193':173C 'key':92C,97C,109C 'level':39C 'like':208C 'line':27C 'live':151C 'mal':8A,11A 'malici':1A,17B,181C,201C,206C,226C 'npm':100C 'one':178C,193C 'opt':163C 'opt-out':162C 'os.environ':68C,78C 'packag':18B,179C,236C 'parti':128C 'password':105C 'payload':54C 'per':19C 'post':51C,143C 'privat':108C 'process':65C 'publish':135C 'pypi':7A,102C 'reason':216C 'relat':167C 'routin':84C 'sandbox':153C 'second':48C,139C 'secret':95C 'short':150C 'short-liv':149C 'sleep':46C 'sourc':20C,28C,172C 'start':41C 'telemetri':5A,35C,189C,214C 'telemetry':15A 'telemetry-help':4A,188C,213C 'telemetry-helper':14A 'third':127C 'third-parti':126C 'thread':44C 'token':99C,101C,103C 'top':38C 'top-level':37C 'twine':104C 'uncondit':157C 'unrel':131C 'url':107C 'usernam':58C 'variabl':89C,185C,224C 'webhook':129C 'webhook.site':72C,76C 'webhook.site/e32d3b8a-a5df-40cc-ae60-7a8343b581e4.':75C 'work':60C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-03T00:43:22+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-15829","url":"https://osv.dev/vulnerability/MAL-2026-15829","severity":"critical","published_at":"2026-09-03T00:43:22+00:00","modified_at":"2026-09-03T01:45: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"}