Malicious code in quorvex (npm)
quorvex@0.2.1 on npm contained malicious code that drops a Windows PE executable to the Startup folder on Windows hosts with ≥4GB RAM, achieving persistence via logon-time auto-execution. The package was disguised as a Vite-related utility with anti-tree-shaking design to ensure the payload executes at import time.
- Disclosed
- Last updated
- Blast radius
- Windows hosts with ≥4GB RAM that installed quorvex@0.2.1
- Ecosystems
- Attack vectors
- Affected entities
- quorvex · 0.2.1
quorvex@0.2.1 shipped with a base64-encoded Windows PE binary (~355KB) embedded in a PAYLOAD constant within index.mjs. The malicious code executes at import time on Windows hosts with more than 4GB of RAM, decoding the payload and writing it to %APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/vite-native-helper.exe.
The dropped executable is automatically executed by Windows at the next user logon, establishing persistence. The package's README falsely described it as a placeholder with "nothing in here yet," while the code deliberately used anti-tree-shaking techniques to ensure the malicious payload runs when the module is loaded.
The vite-native-helper.exe filename and Vite-adjacent naming were cover stories designed to evade detection. The memory-size gate (≥4GB RAM check) functioned as a sandbox-evasion mechanism to avoid triggering in analysis environments.
Installation or import of this package on affected Windows hosts resulted in an opaque attacker-controlled binary being placed in the user's Startup folder with logon-time persistence.
Indicators of compromise
- Packages
- quorvex@0.2.1
Remediation
- Immediately uninstall quorvex from all systems
- Remove any instances of vite-native-helper.exe from %APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/
- Scan affected Windows systems for the dropped binary and any related malware
- Review npm package dependencies to identify if quorvex was installed as a transitive dependency
- Update to a patched version if available, or use an alternative package
- Monitor affected systems for suspicious logon-time execution and network activity
Sources
- GitHub Advisory GHSA-6r7r-2mjg-p5g9 · GitHub Advisory Database
Cite this entry
"Malicious code in quorvex (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-quorvex-npm-bs801p
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