VYPR

npm · Malicious package advisory

Malware

log-rotate-testmetest

GHSA-c6r9-8976-74gm

Malicious code in log-rotate-testmetest (npm)

Details

**Severity:** Critical

**Affected versions:** `= 1.0.1`

## Source: amazon-inspector (8608133ab1a2f106c095f84116cd25fa141208dbf81ea6fe2331e38a88551a4b)
The package ships a binding.gyp whose `sources` field uses GYP command-expansion (`<!(env node index.js...)`) with no native source files, causing npm's implicit `node-gyp rebuild` to execute index.js at install time. index.js is a Caesar+10 (ROT) obfuscated eval blob that, once decoded, AES-128-GCM-decrypts a hardcoded hex ciphertext and the sibling `data.bin`, brotli-decompresses the result, writes it to a mkdtemp'd temporary file, and spawns it under Bun (`Bun.spawn([execPath,'run',tmp])` / `spawn(getBunPath(),['run',tmp])`). package.json declares `bun` as a runtime dependency, deliberately routing execution through an alternate runtime rather than Node. The executed payload is fully opaque and attacker-controlled. The combination of a no-source binding.gyp used solely as a lifecycle trigger, multi-layer obfuscation (ROT + AES-GCM + brotli), and alternate-runtime dispatch has no legitimate native-build justification.

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/f17c406fb7ee5243da902499814340765fd9b86a/osv/malicious/npm/log-rotate-testmetest/MAL-2026-18185.json))

**References:**
- https://github.com/ossf/malicious-packages/blob/f17c406fb7ee5243da902499814340765fd9b86a/osv/malicious/npm/log-rotate-testmetest/MAL-2026-18185.json
- https://www.npmjs.com/package/log-rotate-testmetest/v/1.0.1
- https://github.com/advisories/GHSA-c6r9-8976-74gm

Compromised versions (1)

  • = 1.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.