VYPR

npm · Malicious package advisory

Malware

aws-blog

GHSA-hc28-xx62-mc6h

Malicious code in aws-blog (npm)

Details

**Severity:** Critical

**Affected versions:** `= 45.0.1`

## Source: amazon-inspector (b036991e88a4be9813e89ba9861b39ae37fbd9201d1bd017f81c8b33d5f5e44b)
package.json declares a dependency whose key equals the package's own name (`aws-blog`) with a value of `https://repo.securityctrl.com/aws-blog` instead of a registry version range. On `npm install`, npm fetches whatever tarball bytes that URL currently returns and installs it, running any lifecycle scripts inside it. There is no version pin and no integrity hash, so the executed code is whatever the operator of repo.securityctrl.com serves at install time and can change silently between installs. The shipped source is an inert stub, so the manifest line is the entire published surface of the package. The dependency-confusion shape (self-named key, implausibly high 45.0.0 version to win resolution against an internal `aws-blog`, host unrelated to any AWS or npm infrastructure) further indicates targeting of installers who expect an internal package by this name.

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/aws-blog/MAL-2026-15498.json))

**References:**
- https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/aws-blog/MAL-2026-15498.json
- https://www.npmjs.com/package/aws-blog/v/45.0.0
- https://www.npmjs.com/package/aws-blog/v/45.0.1
- https://www.npmjs.com/package/aws-blog/v/45.0.2
- https://github.com/advisories/GHSA-hc28-xx62-mc6h

Compromised versions (1)

  • = 45.0.1

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