{"id":"MAL-2026-15934","kind":"package","aliases":["MAL-2026-15934"],"related":[],"title":"Malicious code in dbt-sa-cli (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (9a3fc52d1baa65bd51dd9659641f0df237ea2a595358cd91b19fd8988ba3236a)\nsetup.py defines rce_poc() and invokes it at module top level, so the code runs unconditionally during `pip install dbt-sa-cli`. The function collects installer-side identifiers (hostname, USER/USERNAME, current working directory, home path) and sends them out-of-band via a DNS lookup to a subdomain of yokodnssmamqdchvjfyqyo8zaq3s90h8e.oast.fun and an HTTPS POST to https://yokodnssmamqdchvjfyqyo8zaq3s90h8e.oast.fun/dbt-sa-cli. The same install-time path drops a marker file at ~/.dbt-sa-cli-rce-poc in the installer's home directory, demonstrating arbitrary code execution during install. The package name resembles the dbt ecosystem, making this a typosquat lure. Regardless of any 'security research' framing, installing the package produces immediate installer-side data disclosure and code execution against an author-controlled OOB collector.\n\n## Source: kam193 (23702c2370cf8873f90f85f178de5d781c9244f91fe412c952fc3cca8e98f974)\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":"dbt-sa-cli","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-05T05:59:33+00:00","first_seen_at":"2026-10-26T20:51:56+00:00","triaged_at":"2026-10-26T21:10:31+00:00","updated_at":"2026-10-26T21:10:31+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-15934':11A,14A '-2026':10A,13A '/.dbt-sa-cli-rce-poc':107C '/dbt-sa-cli.':95C '23702c2370cf8873f90f85f178de5d781c9244f91fe412c952fc3cca8e98f974':160C '9a3fc52d1baa65bd51dd9659641f0df237ea2a595358cd91b19fd8988ba3236a':34C 'also':191C 'amazon':32C 'amazon-inspector':31C 'anyth':192C 'arbitrari':115C 'author':154C 'author-control':153C 'band':78C 'base':218C 'basic':169C,228C 'campaign':210C,221C 'categori':181C 'clear':205C 'cli':7A,18A,57C 'co':203C 'code':2A,48C,116C,149C,225C,253C 'collect':60C 'collector':157C 'command':247C 'contain':224C 'control':155C 'current':67C 'data':146C,229C 'dbt':5A,16A,55C,125C 'dbt-sa-c':4A,54C 'dbt-sa-cli':15A 'defin':36C 'demonstr':114C 'detail':23C 'directori':69C,113C 'disclosur':147C 'dns':81C 'drop':102C 'ecosystem':126C 'edit':26C 'execut':117C,150C,251C 'exfiltr':168C,227C 'explor':197C 'file':105C 'frame':137C 'function':59C 'generic':212C 'generic-standard-pypi-install-pentest':211C 'harm':208C 'home':70C,112C 'host':173C 'hostnam':65C 'https':90C 'identifi':64C 'immedi':142C 'import':165C 'inform':170C 'inspector':33C 'instal':53C,62C,99C,110C,119C,138C,144C,161C,215C,246C,255C 'install-tim':98C 'installer-sid':61C,143C 'invok':40C 'ip':234C 'kam193':159C 'kit':201C 'level':45C 'like':186C,195C,233C 'limit':240C 'line':29C 'look':185C,194C 'lookup':82C 'low':207C 'low-harm':206C 'lure':131C 'make':127C 'mal':9A,12A 'malici':1A,19B,252C 'marker':104C 'modul':43C,167C 'name':122C 'oob':156C 'out-of-band':75C 'overrid':244C 'packag':20B,121C,140C,163C,176C,184C,189C,223C,243C 'path':71C,101C 'pentest':183C,188C,216C 'per':21C 'pip':52C 'poc':38C 'possibl':209C 'post':91C 'pre':199C 'pre-prepar':198C 'prepar':200C 'probabl':182C 'produc':141C 'purpos':180C 'pypi':8A,214C 'rce':37C 'reason':217C 'regardless':132C 'research':136C,202C 'resembl':123C 'risk':241C 'run':49C 'sa':6A,17A,56C 'secur':135C 'send':73C 'setup.py':35C,249C 'side':63C,145C 'sourc':22C,30C,158C 'standard':213C 'subdomain':85C 'system':232C 'test':196C 'time':100C 'top':44C 'typic':187C 'typosquat':130C 'uncondit':50C 'user/username':66C 'usernam':236C 'via':79C 'work':68C 'yokodnssmamqdchvjfyqyo8zaq3s90h8e.oast.fun':87C,94C 'yokodnssmamqdchvjfyqyo8zaq3s90h8e.oast.fun/dbt-sa-cli.':93C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-05T05:59:33+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-15934","url":"https://osv.dev/vulnerability/MAL-2026-15934","severity":"critical","published_at":"2026-09-05T05:59:33+00:00","modified_at":"2026-09-06T14:45:03+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"}