Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in resolve-audit (npm)

resolve-audit@99.9.1 is a malicious stub package that uses dependency-confusion tactics and fetches an arbitrary tarball from a mutable Google Cloud Storage bucket, executing lifecycle scripts on installation.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or CI/CD system that installed resolve-audit@99.9.1
Ecosystems
Attack vectors
Affected entities
  • resolve-audit · 99.9.1

resolve-audit@99.9.1 is a stub npm package (exports an empty object) designed to exploit dependency-confusion vulnerabilities. The package.json declares a single dependency, ltidisafe, as a direct HTTPS tarball URL pointing to an anonymous, mutable Google Cloud Storage bucket (https://ltidi.storage.googleapis.com/depenconf/ltidisafe-3.6.6.tgz) rather than resolving through the npm registry.\n\nWhen installed, npm fetches this arbitrary tarball without version-by-hash pinning, and any lifecycle scripts embedded in the tarball execute on the installer's system. The version number 99.9.1 is characteristic of dependency-confusion lures designed to win resolution against a private-registry package of the same name.\n\nThe malicious package was identified by the OpenSSF's malicious-packages project and reported via Amazon Inspector. The attack vector combines dependency-confusion tactics with direct tarball injection to achieve code execution during installation.

Indicators of compromise

Packages
  • resolve-audit@99.9.1
Domains
  • ltidi.storage.googleapis.com

Remediation

  • Remove resolve-audit@99.9.1 from all package.json files and lock files
  • Audit npm install logs for any installations of resolve-audit@99.9.1
  • Review systems where resolve-audit@99.9.1 was installed for signs of compromise
  • Use npm audit to identify any remaining malicious packages
  • Consider using npm package lock files and integrity verification to prevent similar attacks
  • Monitor for private-registry packages named resolve-audit that may have been targeted by this confusion attack

Sources

  1. GitHub Advisory GHSA-m9fv-2g5q-rhhh · GitHub Advisory Database

Cite this entry

"Malicious code in resolve-audit (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 13, 2026; last updated August 13, 2026. https://supplychainattack.org/incident/malicious-code-in-resolve-audit-npm-0clyco

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