@xyo-network/url-safety-plugin 2.70.12 → 2.70.14

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.
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlPlugin = void 0;
3
+ exports.UrlSafetyPlugin = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const payload_model_1 = require("@xyo-network/payload-model");
6
6
  const payloadset_plugin_1 = require("@xyo-network/payloadset-plugin");
7
- const url_payload_plugin_1 = require("@xyo-network/url-payload-plugin");
7
+ const url_safety_payload_plugin_1 = require("@xyo-network/url-safety-payload-plugin");
8
8
  const Witness_1 = require("./Witness");
9
- const UrlPlugin = () => (0, payloadset_plugin_1.createPayloadSetWitnessPlugin)({ required: { [url_payload_plugin_1.UrlSchema]: 1 }, schema: payload_model_1.PayloadSetSchema }, {
9
+ const UrlSafetyPlugin = () => (0, payloadset_plugin_1.createPayloadSetWitnessPlugin)({ required: { [url_safety_payload_plugin_1.UrlSafetySchema]: 1 }, schema: payload_model_1.PayloadSetSchema }, {
10
10
  witness: (params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
- const result = yield Witness_1.UrlWitness.create(params);
11
+ const result = yield Witness_1.UrlSafetyWitness.create(params);
12
12
  return result;
13
13
  }),
14
14
  });
15
- exports.UrlPlugin = UrlPlugin;
15
+ exports.UrlSafetyPlugin = UrlSafetyPlugin;
16
16
  //# sourceMappingURL=Plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":";;;;AAAA,8DAA6D;AAC7D,sEAA8E;AAC9E,wEAA2D;AAE3D,uCAAsC;AAE/B,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,IAAA,iDAA6B,EAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,8BAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAgB,EAAE,EAC1D;IACE,OAAO,EAAE,CAAO,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;CACF,CACF,CAAA;AATU,QAAA,SAAS,aASnB"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":";;;;AAAA,8DAA6D;AAC7D,sEAA8E;AAC9E,sFAAwE;AAExE,uCAA4C;AAErC,MAAM,eAAe,GAAG,GAAG,EAAE,CAClC,IAAA,iDAA6B,EAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,2CAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAgB,EAAE,EAChE;IACE,OAAO,EAAE,CAAO,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,0BAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;CACF,CACF,CAAA;AATU,QAAA,eAAe,mBASzB"}
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlWitness = void 0;
3
+ exports.UrlSafetyWitness = exports.GoogleSafeBrowsingMatchSchema = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const axios_1 = require("@xyo-network/axios");
6
6
  const url_payload_plugin_1 = require("@xyo-network/url-payload-plugin");
7
+ const url_safety_payload_plugin_1 = require("@xyo-network/url-safety-payload-plugin");
7
8
  const witness_1 = require("@xyo-network/witness");
8
9
  const Config_1 = require("./Config");
10
+ exports.GoogleSafeBrowsingMatchSchema = 'com.google.safebrowsing.match';
9
11
  const checkUrlSafety = (urls, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
10
- var _a;
12
+ var _a, _b, _c;
11
13
  const axios = new axios_1.AxiosJson();
12
- const endPoint = (_a = config === null || config === void 0 ? void 0 : config.endPoint) !== null && _a !== void 0 ? _a : 'https://safebrowsing.googleapis.com/v5/threatMatches:find';
14
+ const endPoint = (_a = config === null || config === void 0 ? void 0 : config.endPoint) !== null && _a !== void 0 ? _a : 'https://safebrowsing.googleapis.com/v4/threatMatches:find';
13
15
  const key = config === null || config === void 0 ? void 0 : config.key;
14
16
  const mutatedUrls = urls.map((url) => url.replace('ipfs://', 'https://cloudflare-ipfs.com/'));
15
17
  if (mutatedUrls.length === 0) {
@@ -27,11 +29,17 @@ const checkUrlSafety = (urls, config) => tslib_1.__awaiter(void 0, void 0, void
27
29
  threatTypes: ['SOCIAL_ENGINEERING', 'POTENTIALLY_HARMFUL_APPLICATION', 'UNWANTED_SOFTWARE', 'THREAT_TYPE_UNSPECIFIED'],
28
30
  },
29
31
  };
30
- const result = (yield axios.post(`${endPoint}?key=${key}`, postData)).data;
31
- console.log(`checkUrlSafety: ${JSON.stringify(result, null, 2)}`);
32
- return [];
32
+ console.log(`checkUrlSafetyIn: ${JSON.stringify(postData, null, 2)}`);
33
+ const result = (yield axios.post(`${endPoint}?key=${key}`, postData, { headers: { referer: 'http://localhost:3000' } }))
34
+ .data;
35
+ console.log(`checkUrlSafetyOut: ${JSON.stringify(result, null, 2)}`);
36
+ return (_c = (_b = result.matches) === null || _b === void 0 ? void 0 : _b.map((match) => (Object.assign(Object.assign({}, match), { schema: exports.GoogleSafeBrowsingMatchSchema })))) !== null && _c !== void 0 ? _c : [];
33
37
  });
34
- class UrlWitness extends witness_1.AbstractWitness {
38
+ class UrlSafetyWitness extends witness_1.AbstractWitness {
39
+ get key() {
40
+ var _a, _b;
41
+ return (_b = (_a = this.params.google) === null || _a === void 0 ? void 0 : _a.safeBrowsing) === null || _b === void 0 ? void 0 : _b.key;
42
+ }
35
43
  get urls() {
36
44
  var _a;
37
45
  return (_a = this.config) === null || _a === void 0 ? void 0 : _a.urls;
@@ -44,10 +52,25 @@ class UrlWitness extends witness_1.AbstractWitness {
44
52
  .map((p) => {
45
53
  return p.url;
46
54
  });
47
- return yield checkUrlSafety(urls);
55
+ const matches = yield checkUrlSafety(urls, { key: this.key });
56
+ return urls.map((url) => {
57
+ var _a;
58
+ const payload = matches.reduce((prev, match) => {
59
+ var _a;
60
+ if (match.threat.url === url) {
61
+ prev.threatTypes = (_a = prev.threatTypes) !== null && _a !== void 0 ? _a : [];
62
+ if (!prev.threatTypes.includes(match.threatEntryType)) {
63
+ prev.threatTypes.push(match.threatEntryType);
64
+ }
65
+ }
66
+ return prev;
67
+ }, { schema: url_safety_payload_plugin_1.UrlSafetySchema, url });
68
+ payload.threatTypes = (_a = payload.threatTypes) === null || _a === void 0 ? void 0 : _a.sort();
69
+ return payload;
70
+ });
48
71
  });
49
72
  }
50
73
  }
51
- exports.UrlWitness = UrlWitness;
52
- UrlWitness.configSchemas = [Config_1.UrlSafetyWitnessConfigSchema];
74
+ exports.UrlSafetyWitness = UrlSafetyWitness;
75
+ UrlSafetyWitness.configSchemas = [Config_1.UrlSafetyWitnessConfigSchema];
53
76
  //# sourceMappingURL=Witness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":";;;;AAAA,8CAA8C;AAC9C,wEAAuE;AAEvE,kDAAsD;AAEtD,qCAAuD;AAGvD,MAAM,cAAc,GAAG,CACrB,IAAc,EACd,MAGC,EAC4B,EAAE;;IAC/B,MAAM,KAAK,GAAG,IAAI,iBAAS,EAAE,CAAA;IAC7B,MAAM,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,2DAA2D,CAAA;IAChG,MAAM,GAAG,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAA;IAC7F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAA;KACV;IACD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE;YACN,QAAQ,EAAE,aAAa;YACvB,aAAa,EAAE,KAAK;SACrB;QACD,UAAU,EAAE;YACV,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;YAC1C,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,gBAAgB,EAAE,CAAC,KAAK,CAAC;YACzB,WAAW,EAAE,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,yBAAyB,CAAC;SACvH;KACF,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,QAAQ,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACjE,OAAO,EAAE,CAAA;AACX,CAAC,CAAA,CAAA;AAED,MAAa,UAA4E,SAAQ,yBAAwB;IAGvH,IAAI,IAAI;;QACN,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAA;IAC1B,CAAC;IAEwB,cAAc,CAAC,WAAyB,EAAE;;;YACjE,MAAM,IAAI,GACR,MAAA,IAAI,CAAC,IAAI,mCACT,QAAQ;iBACL,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,8BAAS,CAAC;iBACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO,CAAC,CAAC,GAAG,CAAA;YACd,CAAC,CAAC,CAAA;YAEN,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;;KAClC;;AAjBH,gCAkBC;AAjBiB,wBAAa,GAAG,CAAC,qCAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlPlugin = void 0;
3
+ exports.UrlSafetyPlugin = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Plugin_1 = require("./Plugin");
6
- Object.defineProperty(exports, "UrlPlugin", { enumerable: true, get: function () { return Plugin_1.UrlPlugin; } });
6
+ Object.defineProperty(exports, "UrlSafetyPlugin", { enumerable: true, get: function () { return Plugin_1.UrlSafetyPlugin; } });
7
7
  tslib_1.__exportStar(require("./Witness"), exports);
8
8
  // eslint-disable-next-line import/no-default-export
9
- exports.default = Plugin_1.UrlPlugin;
9
+ exports.default = Plugin_1.UrlSafetyPlugin;
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoC;AAI3B,0FAJA,kBAAS,OAIA;AAFlB,oDAAyB;AAIzB,oDAAoD;AACpD,kBAAe,kBAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAIjC,gGAJA,wBAAe,OAIA;AAFxB,oDAAyB;AAIzB,oDAAoD;AACpD,kBAAe,wBAAe,CAAA"}