{"id":"MAL-2026-12484","summary":"Malicious code in trailserver (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (93c4162f378d4eac522f50de4af9ac836cd0ec727ea90a33633a3cd36e29211e)\nThe package's declared main entry launcher.js invokes launch() at top level, so require('trailserver') triggers system-level installation of Python (via winget, or by downloading python-3.12.3-amd64.exe from python.org and running the installer silently), pip-installs pyperclip/keyboard/pyautogui/pillow/requests, and spawns a bundled Python script (client/noderzero.py). That script continuously monitors the clipboard and captures full-screen screenshots (plus OCR-selected regions) and POSTs the raw text and base64-encoded JPEG images to the hardcoded URL https://trailserver.vercel.app/api; the destination is not caller-configurable. The Python payload additionally registers global keyboard hooks, hides its UI via overrideredirect and a transparent-color topmost overlay, auto-types content into other applications through pyautogui, and exposes a ctrl+q panic-exit. Installing or importing this package delivers a stealth clipboard/screen/keystroke surveillance agent to the installer's machine and streams its output to an author-controlled endpoint.\n","modified":"2026-08-05T13:36:19.698388554Z","published":"2026-08-05T13:08:20Z","database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-014897","import_time":"2026-08-05T13:08:53.640620839Z","modified_time":"2026-08-05T13:08:20Z","sha256":"93c4162f378d4eac522f50de4af9ac836cd0ec727ea90a33633a3cd36e29211e","source":"amazon-inspector","versions":["1.0.5"]}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/trailserver/v/1.0.5"}],"affected":[{"package":{"name":"trailserver","ecosystem":"npm","purl":"pkg:npm/trailserver"},"versions":["1.0.5"],"database_specific":{"indicators":{"evidence_files":[{"path":"client/noderzero.py","sha256":"6dc1b6affd1ce56a2b5a9ee84f320d7429ceebe3e02487bdd239e7ee1599b38a","tlsh":"5dc2d875a0085859fa63dc1f8996b5132e1e3e437a4ca528bcbcb9950fcc32685e1ef1"},{"path":"launcher.js","sha256":"bb7c87a63cb5c2bade2ba79b9a5ab9e186a3377c0f82b777ea3accd82abb3071","tlsh":"6971dd7605f55334b862d29ddb4b51272013b0137648e9987eaeb3844fce61891b3bfa"}],"package_integrity":[{"filename":"trailserver-1.0.5.tgz","hashes":{"sha1":"0202482aa19c514f68d2235e5f26404cb5c1c77b","sha512_sri":"sha512-Fcu3bLVXeszXZYNJqYKwgjp9VGjQslzbuFdkvJ3B8jbCwjSN69PyVHN2B3FoxPQExb+4Ft6D53tMWVl2kj1nTQ=="}}]},"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/trailserver/MAL-2026-12484.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}