MAL-2026-16388 Malicious code in nodetokyo (npm)

Malicious package Published
Package
nodetokyo
Registry
npm

What is MAL-2026-16388?

MAL-2026-16388 is a malicious package in nodetokyo, published on 22 Sep 2026.

Official description

The package's declared main (launcher.js) executes launch() at module top level, so require('nodetokyo') automatically installs Python 3.12 (via winget or by downloading the python.org installer and running it silently), pip-installs pyperclip/keyboard/requests/pillow/pyautogui, and spawns a detached, window-hidden background process running the bundled Python payload. That payload polls the OS clipboard every 300ms and, in auto-scan mode, captures full-screen screenshots every 30s, POSTing {'text':…} and {'image': <base64>} to the hardcoded endpoint https://nodetokyo.vercel.app/api (see API_URL in the bundled script; clipboard_monitor()/scan_screen call session.post(API_URL,…)). The destination is not caller-configurable. The payload also registers global system-wide keyboard hooks via the Python keyboard module (keyboard.on_press with suppress=True; keyboard.add_hotkey('ctrl+c',…)) and renders an always-on-top Tk window with overrideredirect(True) and -transparentcolor white to remain visually hidden, with a Ctrl+Q panic_exit. Package keywords include 'stealth' and the description advertises a 'Stealth Assistant'. Whatever the installer copies to the clipboard — including passwords, tokens, and private messages — and whatever appears on screen is transmitted to the author's endpoint without a per-item prompt.

What should I do about MAL-2026-16388?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-16388 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free