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 @depup/astro (npm)
@depup/astro is a malicious npm package that impersonates the legitimate Astro framework by spoofing author and repository metadata, while systematically replacing well-known dependencies with lookalike packages under different maintainers. The package source code was rewritten to import from these lookalike packages, causing normal npm installs to execute attacker-controlled code instead of legitimate upstream dependencies.
npmTyposquattingDependency confusionCompromised package - resolvedcritical
Malicious code in tinkoff-statist-browser-typed-client-sme.compliance.web.events (npm)
The npm package tinkoff-statist-browser-typed-client-sme.compliance.web.events contains malicious code that downloads and executes platform-specific binary payloads on require. The package name mimics an internal Tinkoff namespace to evade detection and uses DNS TXT covert channels as a fallback delivery mechanism.
npmCompromised packageTyposquattingDependency confusion - 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 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