Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in saaa9 (npm)

The npm package saaa9 contained malicious code disguised as a system configuration tool. The package executed a covert Windows surveillance overlay that captured keyboard input, clipboard data, screenshots, and on-screen text, exfiltrating the data to a hardcoded endpoint.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any Windows system that installed and executed the saaa9 package
Ecosystems
Attack vectors
Affected entities
  • saaa9npm package published as 'System binary configuration tool' but containing covert Windows surveillance overlay

The npm package saaa9 was published with misleading metadata claiming to be a 'System binary configuration tool,' but contained a covert Windows surveillance overlay. Upon execution, the package's index.js spawned wscript.exe against a bundled VBS script that escalated privileges to run cmd.exe silently as administrator.

The malicious payload (pointer.py) registered global keyboard hotkeys and, when triggered, captured clipboard contents, took screenshots of desktop regions, and extracted on-screen text using IAccessible2/UIAutomation APIs. All collected data was exfiltrated via HTTPS POST requests to the hardcoded endpoint https://iq-overlay-pointer.vercel.app/api. Server responses were automatically typed or pasted into the active window using pyautogui.

The package included logic to silently install Python if not present, using either winget or downloading python-3.12.3-amd64.exe from python.org to %TEMP%. The tkinter UI was deliberately concealed using techniques such as overrideredirect, empty title, transparent color, and alpha 0.75, with code comments labeled 'HACK 1/2' confirming intentional stealth design.

The incident was identified and credited to the OpenSSF malicious-packages project via Amazon Inspector.

Indicators of compromise

Packages
  • saaa9
Domains
  • iq-overlay-pointer.vercel.app

Remediation

  • Immediately uninstall the saaa9 package from all systems
  • Audit npm package.json and node_modules for any presence of saaa9
  • If saaa9 was executed on Windows systems, assume keyboard input, clipboard, and screenshots may have been captured; change all passwords and sensitive credentials from a clean system
  • Review network logs for any outbound HTTPS connections to iq-overlay-pointer.vercel.app
  • Scan affected systems for persistence mechanisms and unauthorized Python installations
  • Update npm to the latest version and run 'npm audit' to identify other potentially compromised dependencies

Sources

  1. GitHub Advisory GHSA-xqfm-2325-5r47 · GitHub Advisory Database

Cite this entry

"Malicious code in saaa9 (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-saaa9-npm-11lb2i

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. 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
  2. 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
  3. 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
  4. 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