VYPR

npm · Malicious package advisory

Malware

calcite-web

GHSA-r8rq-mq9v-w3g5

Malicious code in calcite-web (npm)

Details

**Severity:** Critical

**Affected versions:** `= 45.0.0`

## Source: amazon-inspector (91223994e8bb4e46e1b3ca5eea1714a25fedbb828090590110f8c23353c6ec17)
package.json at line 11 declares the package's own name as a dependency whose source is the bare URL https://repo.securityctrl.com/calcite-web instead of a registry version range. On npm install, npm fetches whatever tarball that URL returns and installs it with no version pin and no integrity check, executing any lifecycle scripts inside the fetched artifact. The shipped index.js is an inert stub, so the manifest itself is the entire install-time payload, and whoever controls repo.securityctrl.com controls code that runs on every installer. The dependency key equals the package's own name (dependency-confusion shape), and the implausibly high version (45.0.0) is consistent with an override attempting to win resolution against an internal package of the same name.

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/8278ab2bd67eee704962fa11801bbf9da85d4939/osv/malicious/npm/calcite-web/MAL-2026-15499.json))

**References:**
- https://github.com/ossf/malicious-packages/blob/8278ab2bd67eee704962fa11801bbf9da85d4939/osv/malicious/npm/calcite-web/MAL-2026-15499.json
- https://www.npmjs.com/package/calcite-web/v/45.0.0
- https://github.com/advisories/GHSA-r8rq-mq9v-w3g5

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.