Malicious code in redis-type-xyz (npm)
redis-type-xyz is a malicious npm package that impersonates Redis OM by copying its metadata while substituting a known-malicious ulid-xyz dependency. Installation triggers a postinstall hook that establishes C2 communication and enables system compromise including persistence and arbitrary code execution.
- Disclosed
- Last updated
- Blast radius
- Any developer or system that installed redis-type-xyz from npm, which would also pull in the malicious ulid-xyz dependency.
- Ecosystems
- Attack vectors
- Affected entities
- redis-type-xyzMalicious impersonation package on npm that substitutes known-malicious ulid-xyz dependency
- ulid-xyz · ^2.12.2Known-malicious dependency injected by redis-type-xyz
redis-type-xyz is a typosquatting/impersonation attack targeting developers seeking the legitimate Redis OM library. The package copies the Redis OM repository structure, homepage, author information, and documentation but publishes an empty archive lacking the declared dist directory and functional implementation.
The attack vector is dependency substitution: redis-type-xyz replaces the legitimate ulid package (used by Redis OM) with ulid-xyz@^2.12.2, a known-malicious package independently tracked as MAL-2026-6672. When installed, the ulid-xyz postinstall hook executes and launches a detached background agent.
The agent decodes a WebSocket and HTTP command-and-control endpoint at 95.216.232.162:8010 and supports multiple malicious capabilities: system information collection, drive and directory enumeration, file removal, and deploy_binary tasks. The deploy_binary function writes attacker-supplied Base64-encoded content to disk, registers persistence mechanisms on Windows, macOS, and Linux, and launches the replacement agent for continued compromise.
redis-type-xyz represents a deliberate, multi-stage supply chain attack combining typosquatting, dependency confusion, and malicious code delivery to achieve system-level persistence and remote code execution.
Indicators of compromise
- Packages
- redis-type-xyz
- ulid-xyz
- IPs
- 95.216.232.162
Remediation
- Immediately uninstall redis-type-xyz and ulid-xyz from all systems and projects
- Audit npm install logs and package-lock.json files to identify any installations of these packages
- If redis-type-xyz was installed, assume system compromise and perform forensic analysis for persistence mechanisms and C2 communication
- Check for outbound connections to 95.216.232.162:8010 in network logs
- Regenerate any credentials or secrets that may have been exposed on affected systems
- Use the legitimate redis-om or redis-om-node package instead
- Implement npm package verification and allowlisting to prevent installation of typosquatting packages
Sources
- GitHub Advisory GHSA-9c7w-936w-35px · GitHub Advisory Database
Cite this entry
"Malicious code in redis-type-xyz (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 31, 2026; last updated July 31, 2026. https://supplychainattack.org/incident/malicious-code-in-redis-type-xyz-npm-18fm9m
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 sigchain-js (npm)
Malicious code was injected into the published npm package sigchain-js, executing arbitrary code on installation via DES-decrypted payloads from companion packages thedata and tchain-api. The attack also involved typosquatting axios to version 1.18.1, which does not exist in legitimate release history.
npmCompromised packageDependency confusionTyposquatting - resolvedhigh
Malicious code in adanbu (PyPI)
The PyPI package 'adanbu' version 92.6 contained malicious code that exfiltrated basic system information (hostname, path, username) to the package author upon installation or import. The package was part of a broader campaign of pentest-themed malicious packages on PyPI.
PyPICompromised packageTyposquattingDependency confusion - resolvedhigh
Malicious code in affinequant (PyPI)
The affinequant package on PyPI contained malicious code that exfiltrated basic system information (hostname, path, username) to the package author upon installation or import. The package was part of a broader campaign of malicious packages on PyPI and communicated with a domain associated with malicious activity.
PyPICompromised packageTyposquattingDependency confusion - resolvedhigh
Malicious code in adandu (PyPI)
The PyPI package 'adandu' was identified as malicious, containing code to exfiltrate basic system information (hostname, path, username) upon installation or import. The package was part of a broader campaign of pentest-themed malicious packages and communicated with domains associated with malicious activity.
PyPICompromised packageTyposquattingDependency confusion