Malicious code in nested-lib (npm)
Exact source revision recorded 24 Oct 2026 13:17:17 UTC. It does not establish the source's current position. Latest evidence.
osv · MAL-2026-17773
Published--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (0a0b849de5330a4a4984a855f83ce1638b17e459d359312319ff35dc0e02f928) The package declares `scripts.postinstall = "node beacon.cjs"` and `index.js` also invokes `require('./beacon.cjs').fire()` at module load. `beacon.cjs` POSTs a JSON payload containing `os.hostname()`, `__dirname`, `process.cwd()`, and `process.version` over plain HTTP to the hardcoded bare-IP endpoint `http://185.158.107.175:8787/_ah/dc`. The destination is not a documented first-party service and the host identifiers are sent without any opt-in. `index.js` otherwise exports a Proxy that returns no-op functions for every property access, so the package provides no real functionality — its sole on-install and on-require effect is the beacon. The combination of a hollow Proxy shim, a bare-IP plain-HTTP destination, and automatic firing from both the npm lifecycle hook and the main module is consistent with a reconnaissance/confirmation beacon used to validate successful installation into target environments, typically preceding a second-stage payload.
- Source published
- 11 Oct 2026 13:53:33 UTC
- Source modified
- 11 Oct 2026 14:30:06 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- OSV · upstream source license applies
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · OSV · upstream source license applies. Source text is retained; field grouping and change labels are provided by ChangeIntel.