{"id":"MAL-2026-16384","summary":"Malicious code in tldriver (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (c16e29eeb8037e1166c10990a8e8f9424095dacc208961fd85775b1b14470995)\nThe npm package tldriver@0.0.1 contains byte-identical scripts/preinstall.js and scripts/postinstall.js that are heavily obfuscated using obfuscator.io-style string-array indirection (identifiers such as _0x5694, _0x5c7e) to hide their URLs, filenames, and shell commands. On install, the scripts perform an https.get to the anonymous third-party image host https://api.imghippo.com/files/hOG8244hc.png, write the returned bytes to the package directory as gldriver_pre_core.exe and gldriver_pre_asset.exe, and then execute them via a platform-branched shell call (mspaint on Windows, open on macOS, xdg-open on Linux) before deleting the files and writing a.pre_setup_complete marker. The package identity is inconsistent with its shipped code: package.json declares the name tldriver, README instructs `npm install googledriver`, and index.js exports a class documented as GoogleDriver wrapping Google APIs, while the lib/ directory contains plausible-looking Google OAuth/Drive/Calendar/Maps modules that are never required by index.js. The declared library surface functions as a cover story; the operative behavior is the lifecycle-time fetch and execution of opaque bytes from a mutable third-party host, which lets the operator of that host deliver arbitrary code to any installer at any time.\n","modified":"2026-09-22T15:31:47.724740121Z","published":"2026-09-22T14:52:12Z","database_specific":{"malicious-packages-origins":[{"sha256":"c16e29eeb8037e1166c10990a8e8f9424095dacc208961fd85775b1b14470995","source":"amazon-inspector","versions":["0.0.1"],"id":"IN-MAL-2026-020290","import_time":"2026-09-22T15:18:37.972880072Z","modified_time":"2026-09-22T14:52:12Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/tldriver/v/0.0.1"}],"affected":[{"package":{"name":"tldriver","ecosystem":"npm","purl":"pkg:npm/tldriver"},"versions":["0.0.1"],"database_specific":{"indicators":{"package_integrity":[{"filename":"tldriver-0.0.1.tgz","hashes":{"sha1":"1bb4354face6a9ed1f6051e73426766e61136a58","sha512_sri":"sha512-MJI4x60uK4UVfse0kXtAF6SB5HKYnyFLGgjwwwx5oyBdqVwJSJ6YhUeKvR4MKbmZwEmc1dgQTOOMPEkcGgh8Hw=="}}],"evidence_files":[{"sha256":"b27a8f3afffea83cd0fdc686347ee070c633bec3ba6b99d77114c12214616ffb","tlsh":"5db1969250f0289333a38af6b66fe0d6e36fc5193196c983e41c69557f8d83dc5d2874","path":"scripts/preinstall.js"},{"sha256":"b27a8f3afffea83cd0fdc686347ee070c633bec3ba6b99d77114c12214616ffb","tlsh":"5db1969250f0289333a38af6b66fe0d6e36fc5193196c983e41c69557f8d83dc5d2874","path":"scripts/postinstall.js"},{"tlsh":"c2d012304d22db3378c41fda14738145a9e2096b1158bc1423d35054879a3ae48bf51f","path":"package.json","sha256":"b219d3e4fd3e2e0fb4485bf086f4166a9823d512d69dcbd93d15ddf593957d40"}]},"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tldriver/MAL-2026-16384.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}