Skip to content
OpenAdvisories
Malicious MAL-2026-17699

@dransay/secrets

npm package · versions 99.0.0

Reported Oct 8, 2026 · Updated Oct 12, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

@dransay/secrets@99.0.0 is a dependency-confusion probe claiming the internal `@dransay/*` namespace, not an identified public package. Its `preinstall` hook runs on npm install as `node beacon.js` and sends a DNS lookup and an HTTPS GET to `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, using the package name in the request; npm account `0xamino_hunter` published it on 2026-10-08.

---
_-= Per source details. Do not edit below this line.=-_

Source: amazon-inspector (aef0f6b36413e45664391c5341f7c30a4501c2cc916add9ba6525bf57e559d51)
The package declares a `preinstall` script that runs `beacon.js`, which performs a DNS lookup and HTTPS GET to a hardcoded Interactsh collector host (`db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`) at `npm install` time. Both the DNS query and the HTTPS request embed the package name, so any machine that resolves and installs this scoped name sends an unsolicited out-of-band callback carrying the installing host's source IP, resolver identity, timing, and the internal package name to a third-party collector. The implausibly high `99.0.0` version against a scoped name is the dependency-confusion shape — the artifact is intended to win resolution against an internal `@dransay/secrets` and beacon from whichever build environment resolves it, disclosing internal network and build-system identity. No functional library code accompanies the beacon; the package's only on-install effect is the callback.

Indicators of compromise

Shown defanged and not clickable. Search any indicator to find other packages using it.

Domains

URLs