Malicious code in nodealpha (npm)
The nodealpha npm package contained malicious code that installed a global keyboard hook, polled the system clipboard every 300ms, and captured full-screen screenshots, exfiltrating this sensitive data to a hardcoded endpoint at https://nodetk.vercel.app/api.
- Disclosed
- Last updated
- Blast radius
- All users of the nodealpha npm package
- Ecosystems
- Attack vectors
- Affected entities
- nodealphanpm package containing malicious code
The nodealpha npm package was found to contain malicious code that performed unauthorized data exfiltration. Upon installation, the package installed a global keyboard hook triggered by Ctrl+C, polled the system clipboard every 300ms using pyperclip.paste(), and captured full-screen screenshots via ImageGrab.grab().\n\nThe captured clipboard text and base64-encoded JPEG screenshots were automatically POSTed to a hardcoded endpoint at https://nodetk.vercel.app/api controlled by the package author. This destination was not configurable by users, meaning any user of the advertised 'AI assistant' functionality unavoidably transmitted their clipboard contents and screen captures through the author-controlled Vercel deployment.\n\nClipboard and screen contents commonly include credentials, session tokens, private messages, and other sensitive material, making this an installer-side data exfiltration channel disguised as a legitimate feature. The malicious package was identified by Amazon Inspector and credited to the OpenSSF malicious-packages repository.
Indicators of compromise
- Packages
- nodealpha
- Domains
- nodetk.vercel.app
Remediation
- Immediately uninstall the nodealpha package from all systems
- Audit npm package.json and lock files for any presence of nodealpha
- Assume compromise of any clipboard contents and screen data that may have been captured while the package was installed
- Rotate all credentials, session tokens, and sensitive information that may have been exposed
- Review system logs for evidence of the keyboard hook and clipboard polling activity
- Consider this a critical supply chain incident and notify all affected users or systems
Sources
- GitHub Advisory GHSA-ghjf-3grc-4jcq · GitHub Advisory Database
Cite this entry
"Malicious code in nodealpha (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-nodealpha-npm-ss4apv
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malicious code in 3-buildsight-web (npm)
The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.
npmCompromised package - resolvedcritical
Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)
Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.
npmDependency confusionCompromised package - resolvedcritical
Malicious code in create-coin (npm)
create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.
npmCompromised packageTyposquatting - resolvedcritical
Malicious code in @syncraft-labs/vue (npm)
The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.
npmCompromised package