Malicious code in alelo-services (npm)
alelo-services@99.0.0 on npm contained malicious preinstall and postinstall scripts that harvested and exfiltrated installer credentials, environment variables, and system metadata to a hardcoded IP endpoint. The package appears to be a dependency-confusion attack targeting a private scope.
- Disclosed
- Last updated
- Blast radius
- Any developer or CI/CD system installing alelo-services@99.0.0 from npm; credentials and environment data exfiltrated to attacker-controlled server.
- Ecosystems
- Attack vectors
- Affected entities
- alelo-services · 99.0.0
alelo-services@99.0.0 published on npm contained malicious lifecycle scripts designed to harvest sensitive data from the installer environment. The preinstall.js script collected hostname, username, platform, working directory, and the entire process.env, sending this data via POST to https://209.99.185.109/preinstall with TLS verification disabled.\n\nThe postinstall script (index.js, also the package main) read .env, .npmrc, package.json, and parent directory .env files from the installation context, executed whoami and id commands, and exfiltrated the collected data to https://209.99.185.109/postinstall. The .npmrc read was particularly dangerous as it captures npm authentication tokens; the .env reads targeted CI and cloud credentials.\n\nThe package metadata was generic ("internal utilities") and the version number 99.0.0 is consistent with a dependency-confusion attack luring developers to install from the public npm registry instead of a private scope. The incident was identified by Amazon Inspector and credited to the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- alelo-services
- IPs
- 209.99.185.109
Remediation
- Immediately uninstall alelo-services@99.0.0 from all systems and projects
- Rotate all npm authentication tokens and credentials that may have been exposed
- Rotate all CI/CD and cloud credentials that may have been present in .env files or process.env during installation
- Audit npm registry access logs and CI/CD logs for any suspicious activity following installation of this package
- Review and update dependency management practices to prevent dependency-confusion attacks (e.g., use npm scopes, private registries, or package locks)
- Monitor the hardcoded IP endpoint 209.99.185.109 for any data exfiltration attempts
Sources
- GitHub Advisory GHSA-f9gp-j44v-7447 · GitHub Advisory Database
Cite this entry
"Malicious code in alelo-services (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 14, 2026; last updated August 14, 2026. https://supplychainattack.org/incident/malicious-code-in-alelo-services-npm-1ucz5i
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 bcc-design-icons (npm)
bcc-design-icons@9999.0.0 on npm contains malicious postinstall script that exfiltrates hostname and package name to attacker-controlled IP 91.201.215.48:8000. The package lacks expected icon-library functionality and exhibits characteristics of a dependency-confusion attack targeting internal/private npm installers.
npmDependency confusionCompromised package - resolvedcritical
Malicious code in bcc-design (npm)
bcc-design@9999.0.0 on npm is a dependency-confusion beacon package with no legitimate functionality. Its postinstall script exfiltrates the installer's hostname and system metadata to an attacker-controlled IP endpoint.
npmDependency confusionCompromised package - resolvedcritical
Malicious code in depcruise-wrap-stream-in-html (npm)
depcruise-wrap-stream-in-html@99.9.1 is a malicious npm package that mimics an internal helper of dependency-cruiser. It is a hollow package that downloads and executes arbitrary code from a Google Cloud Storage bucket during installation.
npmCompromised packageDependency confusionTyposquatting - resolvedcritical
Malicious code in fastly-vcl-language-client (npm)
The npm package fastly-vcl-language-client contained malicious code in a preinstall script that collected system information and CI environment variables, exfiltrating data to an external webhook endpoint. The package appears to be a dependency-confusion attack targeting internal Fastly tooling.
npmCompromised packageDependency confusion