OpenSSF/OSV advisory MAL-2026-4652 confirms this npm version as malicious. package.json declares "preinstall": "./dist/typecheck.js". The referenced file is not JavaScript — it is a 5,224,556-byte Linux x86 ELF executable (containing `__libc_start_main`, `/lib64`, and `nux-x86-` interpreter strings) with the literal endpoint `207.90.194.2:443` baked into it. The native binary is concealed behind forged TypeScript build metadata: a sibling `dist/typecheck.d.ts` declares a `getParser():...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in python-utils (npm)
Details
package.json declares "preinstall": "./dist/typecheck.js". The referenced file is not JavaScript — it is a 5,224,556-byte Linux x86 ELF executable (containing `__libc_start_main`, `/lib64`, and `nux-x86-` interpreter strings) with the literal endpoint `207.90.194.2:443` baked into it. The native binary is concealed behind forged TypeScript build metadata: a sibling `dist/typecheck.d.ts` declares a `getParser(): Promise<Parser>` API for tree-sitter Python, and `dist/typecheck.js.map` is a reused copy of `parser.js.map` (its `"file"` field is `"parser.js"`), making the dropper look like ordinary tsdown output to a casual reviewer. On `npm install` on any Linux x86 host, the ELF runs automatically as the installer's user, calling out to the hardcoded IP:port. The package's stated purpose (a Python utility / tree-sitter parser wrapper) has no legitimate need to ship or execute a native binary at install time, and no pure-JS code path actually consumes `getParser`.
Decision reason
OpenSSF Malicious Packages via OSV confirms python-utils@0.2.26 as malicious (MAL-2026-4652): Malicious code in python-utils (npm)