@xyo-network/url-safety-plugin 2.73.3 → 2.74.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.
- package/dist/Plugin.d.mts +67 -0
- package/dist/Plugin.d.mts.map +1 -0
- package/dist/{types/Plugin.d.ts → Plugin.d.ts} +5 -5
- package/dist/Plugin.d.ts.map +1 -0
- package/dist/Witness/Config.d.mts.map +1 -0
- package/dist/Witness/Config.d.ts +13 -0
- package/dist/Witness/Config.d.ts.map +1 -0
- package/dist/Witness/Params.d.mts.map +1 -0
- package/dist/Witness/Params.d.ts +12 -0
- package/dist/Witness/Params.d.ts.map +1 -0
- package/dist/Witness/Witness.d.mts.map +1 -0
- package/dist/Witness/Witness.d.ts +24 -0
- package/dist/Witness/Witness.d.ts.map +1 -0
- package/dist/Witness/index.d.mts.map +1 -0
- package/dist/{esm/Witness/index.js → Witness/index.d.ts} +1 -1
- package/dist/Witness/index.d.ts.map +1 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/{esm/index.js → index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +93 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +29 -22
- package/dist/cjs/Plugin.js +0 -16
- package/dist/cjs/Plugin.js.map +0 -1
- package/dist/cjs/Witness/Config.js +0 -6
- package/dist/cjs/Witness/Config.js.map +0 -1
- package/dist/cjs/Witness/Params.js +0 -3
- package/dist/cjs/Witness/Params.js.map +0 -1
- package/dist/cjs/Witness/Witness.js +0 -76
- package/dist/cjs/Witness/Witness.js.map +0 -1
- package/dist/cjs/Witness/index.js +0 -7
- package/dist/cjs/Witness/index.js.map +0 -1
- package/dist/cjs/index.js +0 -10
- package/dist/cjs/index.js.map +0 -1
- package/dist/docs.json +0 -24909
- package/dist/esm/Plugin.js +0 -11
- package/dist/esm/Plugin.js.map +0 -1
- package/dist/esm/Witness/Config.js +0 -3
- package/dist/esm/Witness/Config.js.map +0 -1
- package/dist/esm/Witness/Params.js +0 -2
- package/dist/esm/Witness/Params.js.map +0 -1
- package/dist/esm/Witness/Witness.js +0 -64
- package/dist/esm/Witness/Witness.js.map +0 -1
- package/dist/esm/Witness/index.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/types/Plugin.d.ts.map +0 -1
- package/dist/types/Witness/Config.d.ts.map +0 -1
- package/dist/types/Witness/Params.d.ts.map +0 -1
- package/dist/types/Witness/Witness.d.ts.map +0 -1
- package/dist/types/Witness/index.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- /package/dist/{types/Witness/Config.d.ts → Witness/Config.d.mts} +0 -0
- /package/dist/{types/Witness/Params.d.ts → Witness/Params.d.mts} +0 -0
- /package/dist/{types/Witness/Witness.d.ts → Witness/Witness.d.mts} +0 -0
- /package/dist/{types/Witness/index.d.ts → Witness/index.d.mts} +0 -0
- /package/dist/{types/index.d.ts → index.d.mts} +0 -0
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UrlSafetyWitness = exports.GoogleSafeBrowsingMatchSchema = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const axios_1 = require("@xyo-network/axios");
|
|
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");
|
|
8
|
-
const witness_1 = require("@xyo-network/witness");
|
|
9
|
-
const Config_1 = require("./Config");
|
|
10
|
-
exports.GoogleSafeBrowsingMatchSchema = 'com.google.safebrowsing.match';
|
|
11
|
-
const checkUrlSafety = (urls, config) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
-
var _a, _b, _c;
|
|
13
|
-
const axios = new axios_1.AxiosJson();
|
|
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';
|
|
15
|
-
const key = config === null || config === void 0 ? void 0 : config.key;
|
|
16
|
-
const mutatedUrls = urls.map((url) => url.replace('ipfs://', 'https://cloudflare-ipfs.com/'));
|
|
17
|
-
if (mutatedUrls.length === 0) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
const postData = {
|
|
21
|
-
client: {
|
|
22
|
-
clientId: 'foreventory',
|
|
23
|
-
clientVersion: '1.0',
|
|
24
|
-
},
|
|
25
|
-
threatInfo: {
|
|
26
|
-
platformTypes: ['WINDOWS', 'LINUX', 'OSX'],
|
|
27
|
-
threatEntries: mutatedUrls.map((url) => ({ url })),
|
|
28
|
-
threatEntryTypes: ['URL'],
|
|
29
|
-
threatTypes: ['SOCIAL_ENGINEERING', 'POTENTIALLY_HARMFUL_APPLICATION', 'UNWANTED_SOFTWARE', 'THREAT_TYPE_UNSPECIFIED'],
|
|
30
|
-
},
|
|
31
|
-
};
|
|
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 : [];
|
|
37
|
-
});
|
|
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
|
-
}
|
|
43
|
-
get urls() {
|
|
44
|
-
var _a;
|
|
45
|
-
return (_a = this.config) === null || _a === void 0 ? void 0 : _a.urls;
|
|
46
|
-
}
|
|
47
|
-
observeHandler(payloads = []) {
|
|
48
|
-
var _a;
|
|
49
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const urls = (_a = this.urls) !== null && _a !== void 0 ? _a : payloads
|
|
51
|
-
.filter((p) => p.schema === url_payload_plugin_1.UrlSchema)
|
|
52
|
-
.map((p) => {
|
|
53
|
-
return p.url;
|
|
54
|
-
});
|
|
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
|
-
});
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.UrlSafetyWitness = UrlSafetyWitness;
|
|
75
|
-
UrlSafetyWitness.configSchemas = [Config_1.UrlSafetyWitnessConfigSchema];
|
|
76
|
-
//# sourceMappingURL=Witness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./Config"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./Params"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./Witness"), exports);
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB"}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UrlSafetyPlugin = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const Plugin_1 = require("./Plugin");
|
|
6
|
-
Object.defineProperty(exports, "UrlSafetyPlugin", { enumerable: true, get: function () { return Plugin_1.UrlSafetyPlugin; } });
|
|
7
|
-
tslib_1.__exportStar(require("./Witness"), exports);
|
|
8
|
-
// eslint-disable-next-line import/no-default-export
|
|
9
|
-
exports.default = Plugin_1.UrlSafetyPlugin;
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|