Malicious code in @devmikets/hyperliquid-sdk (npm)
The npm package @devmikets/hyperliquid-sdk contained malicious code that used a typosquatted domain (registrynpmjs.to) to deliver arbitrary code via a fake inquirer dependency. The package impersonated a legitimate Hyperliquid TypeScript SDK to distribute malware to all installers.
- Disclosed
- Last updated
- Blast radius
- All users who installed @devmikets/hyperliquid-sdk via npm install
- Ecosystems
- Attack vectors
- Affected entities
- @devmikets/hyperliquid-sdk
The npm package @devmikets/hyperliquid-sdk was found to contain malicious code designed to deliver arbitrary code execution to users who installed it. The attack vector involved declaring a dependency on inquirer with a tarball URL pointing to registrynpmjs.to, a domain that typosquats the official npm registry (registry.npmjs.org).
When users ran npm install, the package manager would fetch and install the attacker-controlled tarball as a transitive dependency, injecting arbitrary code into the installer's node_modules directory. The malicious package was disguised as a legitimate Hyperliquid TypeScript SDK, including a matching README structure and references to legitimate dependencies like @nktkas/rews and jsr.io/@std.
The inclusion of inquirer (an interactive-prompt library) as a dependency was anomalous for a trading SDK, indicating it was intentionally added as a delivery vector rather than serving a functional purpose. The incident was identified and credited to the OpenSSF's malicious-packages repository.
Indicators of compromise
- Packages
- @devmikets/hyperliquid-sdk
- Domains
- registrynpmjs.to
Remediation
- Immediately uninstall @devmikets/hyperliquid-sdk from all systems
- Audit node_modules for unexpected or suspicious packages, particularly those installed as transitive dependencies
- Review npm install logs to identify when the malicious package was installed
- Regenerate any credentials or secrets that may have been exposed during the compromise
- Use npm audit to check for other malicious packages in your dependency tree
- Consider using npm package lock files and integrity verification to prevent similar attacks
- Monitor for any suspicious activity on systems where the package was installed
Sources
- GitHub Advisory GHSA-qw2c-ff44-52xq · GitHub Advisory Database
Cite this entry
"Malicious code in @devmikets/hyperliquid-sdk (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 14, 2026; last updated August 14, 2026. https://supplychainattack.org/incident/malicious-code-in-devmikets-hyperliquid-sdk-npm-1jky1w
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - containedcritical
Malicious code in chai-as-testkit (npm)
The npm package chai-as-testkit is a typosquat/impersonation attack delivering obfuscated malicious code that executes on import. The package falsely claims to be a vulnerability management tool but ships pino library files under a different author, with a synthetic stub that loads a 4MB+ obfuscated bundle containing attacker-controlled code.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in @next-fonts/font (npm)
@next-fonts/font is a typosquat package on npm that executes arbitrary attacker-controlled code via a blockchain-mediated C2 channel when its Inter() function is called. The malicious payload is base64-encoded and executed through Node.js spawn or eval, with no legitimate font functionality.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in chai-as-soul (npm)
chai-as-soul@2.3.5 is a typosquat of the pino logging library containing malicious code that exfiltrates environment variables (including AWS/GCP/CI tokens) and executes arbitrary remote code on installation.
npmTyposquattingCompromised package