npm · Malicious package advisory
Malwaresentrykit
GHSA-mr25-fm7h-7p84
Malicious code in sentrykit (npm)
Details
**Severity:** Critical **Affected versions:** `= 30.0.0` ## Source: amazon-inspector (7070cc1752fa75b405bdd0617a934d29519df28fdd0d069c0d4b5f7adaf44f55) package.json declares a self-referential dependency where the key `sentrykit` maps to the bare HTTPS URL `https://repo.securityctrl.com/sentrykit` instead of a registry version range. On `npm install`, npm fetches whatever tarball that URL returns and installs it, running any lifecycle scripts contained in the fetched artifact. The source is unpinned, integrity-unchecked, and not the official npm registry; the shipped package body is a one-line stub, so the manifest itself is the entire delivery mechanism. The dependency key equals the package's own name and the version constraint (30.0.0) is implausibly high for a package of this size, matching the dependency-confusion smuggling shape where a high version number is used to win resolution against an internal package of the same name. Whoever controls repo.securityctrl.com controls code executed on the installer's machine at install time. --- Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/sentrykit/MAL-2026-15544.json)) **References:** - https://github.com/ossf/malicious-packages/blob/d75ebb673b0185a99abe46e9e4a60aaa467fa7d8/osv/malicious/npm/sentrykit/MAL-2026-15544.json - https://www.npmjs.com/package/sentrykit/v/30.0.0 - https://github.com/advisories/GHSA-mr25-fm7h-7p84
Compromised versions (1)
- = 30.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.