Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

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.

ShareXLinkedInHacker News
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

  1. 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.

  1. 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
  2. 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
  3. 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
  4. 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