@keplr-wallet/background 0.11.58-rc.0 → 0.11.58
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/build/phishing-list/messages.js +2 -2
- package/build/phishing-list/messages.js.map +1 -1
- package/build/phishing-list/service.js +23 -12
- package/build/phishing-list/service.js.map +1 -1
- package/build/phishing-list/service.spec.js +60 -7
- package/build/phishing-list/service.spec.js.map +1 -1
- package/build/phishing-list/utils.d.ts +1 -1
- package/build/phishing-list/utils.js +4 -4
- package/build/phishing-list/utils.js.map +1 -1
- package/build/phishing-list/utils.spec.js +8 -8
- package/build/phishing-list/utils.spec.js.map +1 -1
- package/package.json +12 -12
- package/src/phishing-list/messages.ts +3 -3
- package/src/phishing-list/service.spec.ts +72 -7
- package/src/phishing-list/service.ts +26 -14
- package/src/phishing-list/utils.spec.ts +9 -9
- package/src/phishing-list/utils.ts +2 -2
|
@@ -14,7 +14,7 @@ class CheckURLIsPhishingMsg extends router_1.Message {
|
|
|
14
14
|
validateBasic() {
|
|
15
15
|
const url = new URL(this.origin);
|
|
16
16
|
// Will throw an error if url has not second level domain.
|
|
17
|
-
utils_1.
|
|
17
|
+
utils_1.parseDomain(url.origin);
|
|
18
18
|
}
|
|
19
19
|
approveExternal() {
|
|
20
20
|
return true;
|
|
@@ -38,7 +38,7 @@ class URLTempAllowMsg extends router_1.Message {
|
|
|
38
38
|
validateBasic() {
|
|
39
39
|
const url = new URL(this.url);
|
|
40
40
|
// Will throw an error if url has not second level domain.
|
|
41
|
-
utils_1.
|
|
41
|
+
utils_1.parseDomain(url.origin);
|
|
42
42
|
}
|
|
43
43
|
route() {
|
|
44
44
|
return constants_1.ROUTE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/phishing-list/messages.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,2CAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/phishing-list/messages.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,2CAAoC;AACpC,mCAAsC;AAEtC,MAAa,qBAAsB,SAAQ,gBAAgB;IAClD,MAAM,CAAC,IAAI;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,0DAA0D;QAC1D,mBAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACF;AA3BD,sDA2BC;AAED,MAAa,eAAgB,SAAQ,gBAAa;IAKhD,YAA4B,GAAW;QACrC,KAAK,EAAE,CAAC;QADkB,QAAG,GAAH,GAAG,CAAQ;IAEvC,CAAC;IANM,MAAM,CAAC,IAAI;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAMD,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,0DAA0D;QAC1D,mBAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACF;AAtBD,0CAsBC;AAED,MAAa,oBAAqB,SAAQ,gBAAgB;IAKxD,YAA4B,EAAU;QACpC,KAAK,EAAE,CAAC;QADkB,OAAE,GAAF,EAAE,CAAQ;IAEtC,CAAC;IANM,MAAM,CAAC,IAAI;QAChB,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAMD,aAAa;QACX,OAAO;IACT,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;CACF;AAxBD,oDAwBC"}
|
|
@@ -65,6 +65,11 @@ class IntervalFetcher {
|
|
|
65
65
|
class PhishingListService {
|
|
66
66
|
constructor(opts) {
|
|
67
67
|
this.opts = opts;
|
|
68
|
+
// If blocked urls is "scam1.com", "scam2.service.com",
|
|
69
|
+
// "scam1.com" and "**.scam1.com" should be blocked.
|
|
70
|
+
// and "scam2.service.com" and "**.scam2.service.com" should be blocked.
|
|
71
|
+
// and "service.com" should be allowed.
|
|
72
|
+
// urls which blocked.
|
|
68
73
|
this.urlMap = new Map();
|
|
69
74
|
this.allowedUrlMap = new Map();
|
|
70
75
|
this.twitterMap = new Map();
|
|
@@ -79,7 +84,7 @@ class PhishingListService {
|
|
|
79
84
|
const map = new Map();
|
|
80
85
|
for (const domain of domains) {
|
|
81
86
|
try {
|
|
82
|
-
map.set(utils_1.
|
|
87
|
+
map.set(utils_1.parseDomain(domain).join("."), true);
|
|
83
88
|
}
|
|
84
89
|
catch (e) {
|
|
85
90
|
console.log(e);
|
|
@@ -121,22 +126,28 @@ class PhishingListService {
|
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
128
|
checkURLIsPhishing(url) {
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
129
|
+
const origin = new URL(url).origin;
|
|
130
|
+
const parsed = utils_1.parseDomain(origin);
|
|
131
|
+
while (parsed.length >= 2) {
|
|
132
|
+
const domain = parsed.join(".");
|
|
133
|
+
if (this.urlMap.get(domain) === true) {
|
|
134
|
+
// Allowing url should not be based on subdomain but only allow specific domain.
|
|
135
|
+
const allowed = this.allowedUrlMap.get(utils_1.parseDomain(origin).join("."));
|
|
136
|
+
if (allowed &&
|
|
137
|
+
allowed + this.opts.allowTimeoutMs >= new Date().getTime()) {
|
|
138
|
+
// noop: This url is allowed temporarily
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
130
143
|
}
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
return false;
|
|
144
|
+
parsed.shift();
|
|
135
145
|
}
|
|
146
|
+
return false;
|
|
136
147
|
}
|
|
137
148
|
allowUrlTemp(url) {
|
|
138
149
|
const parsed = new URL(url);
|
|
139
|
-
this.allowedUrlMap.set(utils_1.
|
|
150
|
+
this.allowedUrlMap.set(utils_1.parseDomain(parsed.origin).join("."), new Date().getTime());
|
|
140
151
|
}
|
|
141
152
|
checkBadTwitterId(id) {
|
|
142
153
|
return this.twitterMap.get(id.replace("@", "").toLowerCase()) === true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/phishing-list/service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/phishing-list/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const phishings = [
|
|
|
24
24
|
"app-keplr-vvallet.tech",
|
|
25
25
|
"app-keplr-vvallet.host",
|
|
26
26
|
];
|
|
27
|
+
const subdomains = ["scam1.service.com", "scam2.service.com"];
|
|
27
28
|
const createMockServer = () => {
|
|
28
29
|
let queryCount = 0;
|
|
29
30
|
const server = http_1.default.createServer((req, resp) => {
|
|
@@ -60,9 +61,6 @@ const createMockServer = () => {
|
|
|
60
61
|
case 5:
|
|
61
62
|
phishing = phishing + " , ";
|
|
62
63
|
break;
|
|
63
|
-
case 6:
|
|
64
|
-
phishing = "third-domain." + phishing;
|
|
65
|
-
break;
|
|
66
64
|
default:
|
|
67
65
|
phishing = ` ${phishing} `;
|
|
68
66
|
}
|
|
@@ -71,7 +69,6 @@ const createMockServer = () => {
|
|
|
71
69
|
resp.end(str);
|
|
72
70
|
return;
|
|
73
71
|
}
|
|
74
|
-
// Even if an invalid endpoint exists, only that endpoint should be ignored and proceeded.
|
|
75
72
|
// When second fetch, add other domain to test fetching interval.
|
|
76
73
|
if (req.url === "/list3") {
|
|
77
74
|
resp.writeHead(200);
|
|
@@ -97,8 +94,42 @@ const createMockServer = () => {
|
|
|
97
94
|
case 5:
|
|
98
95
|
phishing = phishing + "?test\n";
|
|
99
96
|
break;
|
|
100
|
-
|
|
101
|
-
phishing =
|
|
97
|
+
default:
|
|
98
|
+
phishing = ` ${phishing} `;
|
|
99
|
+
}
|
|
100
|
+
str += phishing;
|
|
101
|
+
}
|
|
102
|
+
str += ";invalid";
|
|
103
|
+
if (queryCount === 2) {
|
|
104
|
+
str += ";added.domain";
|
|
105
|
+
}
|
|
106
|
+
resp.end(str);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (req.url === "/subdomains") {
|
|
110
|
+
resp.writeHead(200);
|
|
111
|
+
const list = phishings.concat(subdomains);
|
|
112
|
+
let str = "";
|
|
113
|
+
for (let i = 0; i < list.length; i++) {
|
|
114
|
+
let phishing = list[i];
|
|
115
|
+
switch (i) {
|
|
116
|
+
case 0:
|
|
117
|
+
phishing = phishing + "\n";
|
|
118
|
+
break;
|
|
119
|
+
case 1:
|
|
120
|
+
phishing = phishing + ".\n";
|
|
121
|
+
break;
|
|
122
|
+
case 2:
|
|
123
|
+
phishing = "." + phishing + "\r\n";
|
|
124
|
+
break;
|
|
125
|
+
case 3:
|
|
126
|
+
phishing = "invalid;.." + phishing + "..;";
|
|
127
|
+
break;
|
|
128
|
+
case 4:
|
|
129
|
+
phishing = phishing + "/,";
|
|
130
|
+
break;
|
|
131
|
+
case 5:
|
|
132
|
+
phishing = phishing + "?test\n";
|
|
102
133
|
break;
|
|
103
134
|
default:
|
|
104
135
|
phishing = ` ${phishing} `;
|
|
@@ -343,7 +374,6 @@ describe("Test phishing list service", () => {
|
|
|
343
374
|
// allow temp Url
|
|
344
375
|
service.allowUrlTemp("https://" + phishing);
|
|
345
376
|
expect(service.checkURLIsPhishing("https://" + phishing)).toBe(false);
|
|
346
|
-
expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(false);
|
|
347
377
|
// but another url still blocked
|
|
348
378
|
expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
|
|
349
379
|
expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(true);
|
|
@@ -354,5 +384,28 @@ describe("Test phishing list service", () => {
|
|
|
354
384
|
expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
|
|
355
385
|
expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(true);
|
|
356
386
|
}));
|
|
387
|
+
test("Test subdomains", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
388
|
+
const service = new service_1.PhishingListService({
|
|
389
|
+
blockListUrl: `http://127.0.0.1:${port}/subdomains`,
|
|
390
|
+
fetchingIntervalMs: 200,
|
|
391
|
+
retryIntervalMs: 100,
|
|
392
|
+
allowTimeoutMs: 100,
|
|
393
|
+
});
|
|
394
|
+
eachService = service;
|
|
395
|
+
service.init();
|
|
396
|
+
yield waitServiceInit(service);
|
|
397
|
+
testCheckURLIsPhishing(service);
|
|
398
|
+
expect(service.checkURLIsPhishing("https://service.com")).toBe(false);
|
|
399
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(true);
|
|
400
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
401
|
+
// allow temp Url
|
|
402
|
+
service.allowUrlTemp("https://service.com");
|
|
403
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(true);
|
|
404
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
405
|
+
// allow temp Url
|
|
406
|
+
service.allowUrlTemp("https://scam1.service.com");
|
|
407
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(false);
|
|
408
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
409
|
+
}));
|
|
357
410
|
});
|
|
358
411
|
//# sourceMappingURL=service.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/phishing-list/service.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/phishing-list/service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function parseDomain(param: string): string[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
function
|
|
3
|
+
exports.parseDomain = void 0;
|
|
4
|
+
function parseDomain(param) {
|
|
5
5
|
let domain = param;
|
|
6
6
|
if (domain.match(/^[a-zA-Z0-9-]+:\/\/.+$/)) {
|
|
7
7
|
domain = domain.replace(/^[a-zA-Z0-9-]+:\/\//, "");
|
|
@@ -25,7 +25,7 @@ function parseDomainUntilSecondLevel(param) {
|
|
|
25
25
|
if (i >= 0) {
|
|
26
26
|
split[split.length - 1] = split[split.length - 1].slice(0, i);
|
|
27
27
|
}
|
|
28
|
-
return split
|
|
28
|
+
return split;
|
|
29
29
|
}
|
|
30
|
-
exports.
|
|
30
|
+
exports.parseDomain = parseDomain;
|
|
31
31
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/phishing-list/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/phishing-list/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;KACpD;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACjC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACjC;IAED,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;KAC7C;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/D;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,kCA+BC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("./utils");
|
|
4
4
|
describe("Test phishing list service utils", () => {
|
|
5
|
-
test("Test
|
|
5
|
+
test("Test parseDomain", () => {
|
|
6
6
|
const tests = [
|
|
7
7
|
{
|
|
8
8
|
url: "",
|
|
@@ -54,11 +54,11 @@ describe("Test phishing list service utils", () => {
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
url: "asd.test.com.",
|
|
57
|
-
expect: "test.com",
|
|
57
|
+
expect: "asd.test.com",
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
url: "asd..test.com.",
|
|
61
|
-
expect: "test.com",
|
|
61
|
+
expect: "asd.test.com",
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
url: "http://",
|
|
@@ -106,15 +106,15 @@ describe("Test phishing list service utils", () => {
|
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
url: "https://asd.test.com.",
|
|
109
|
-
expect: "test.com",
|
|
109
|
+
expect: "asd.test.com",
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
url: "https://asd..test.com.",
|
|
113
|
-
expect: "test.com",
|
|
113
|
+
expect: "asd.test.com",
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
url: "https://asd..test.com:999.",
|
|
117
|
-
expect: "test.com",
|
|
117
|
+
expect: "asd.test.com",
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
url: "chrome-extension://hajcclbibbmagnhankhjinooiploogfm/_generated_background_page.html",
|
|
@@ -139,10 +139,10 @@ describe("Test phishing list service utils", () => {
|
|
|
139
139
|
];
|
|
140
140
|
for (const test of tests) {
|
|
141
141
|
if ("invalid" in test) {
|
|
142
|
-
expect(() => utils_1.
|
|
142
|
+
expect(() => utils_1.parseDomain(test.url)).toThrow();
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
|
-
expect(utils_1.
|
|
145
|
+
expect(utils_1.parseDomain(test.url).join(".")).toBe(test.expect);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/phishing-list/utils.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/phishing-list/utils.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/background",
|
|
3
|
-
"version": "0.11.58
|
|
3
|
+
"version": "0.11.58",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,16 +32,16 @@
|
|
|
32
32
|
"@ethersproject/hash": "^5.7.0",
|
|
33
33
|
"@ethersproject/transactions": "^5.7.0",
|
|
34
34
|
"@ethersproject/wallet": "^5.7.0",
|
|
35
|
-
"@keplr-wallet/chain-validator": "0.11.58
|
|
36
|
-
"@keplr-wallet/common": "0.11.58
|
|
37
|
-
"@keplr-wallet/cosmos": "0.11.58
|
|
38
|
-
"@keplr-wallet/crypto": "0.11.58
|
|
39
|
-
"@keplr-wallet/ledger-cosmos": "0.11.58
|
|
40
|
-
"@keplr-wallet/popup": "0.11.58
|
|
41
|
-
"@keplr-wallet/proto-types": "0.11.58
|
|
42
|
-
"@keplr-wallet/router": "0.11.58
|
|
43
|
-
"@keplr-wallet/types": "0.11.58
|
|
44
|
-
"@keplr-wallet/unit": "0.11.58
|
|
35
|
+
"@keplr-wallet/chain-validator": "0.11.58",
|
|
36
|
+
"@keplr-wallet/common": "0.11.58",
|
|
37
|
+
"@keplr-wallet/cosmos": "0.11.58",
|
|
38
|
+
"@keplr-wallet/crypto": "0.11.58",
|
|
39
|
+
"@keplr-wallet/ledger-cosmos": "0.11.58",
|
|
40
|
+
"@keplr-wallet/popup": "0.11.58",
|
|
41
|
+
"@keplr-wallet/proto-types": "0.11.58",
|
|
42
|
+
"@keplr-wallet/router": "0.11.58",
|
|
43
|
+
"@keplr-wallet/types": "0.11.58",
|
|
44
|
+
"@keplr-wallet/unit": "0.11.58",
|
|
45
45
|
"@keystonehq/base-eth-keyring": "^0.6.4",
|
|
46
46
|
"@keystonehq/bc-ur-registry": "^0.5.1",
|
|
47
47
|
"@keystonehq/bc-ur-registry-cosmos": "^0.1.1",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"secretjs": "0.17.7",
|
|
66
66
|
"utility-types": "^3.10.0"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "89aee6af3b85332fa5dc130e1e97b84e05290461"
|
|
69
69
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Message } from "@keplr-wallet/router";
|
|
2
2
|
import { ROUTE } from "./constants";
|
|
3
|
-
import {
|
|
3
|
+
import { parseDomain } from "./utils";
|
|
4
4
|
|
|
5
5
|
export class CheckURLIsPhishingMsg extends Message<boolean> {
|
|
6
6
|
public static type() {
|
|
@@ -15,7 +15,7 @@ export class CheckURLIsPhishingMsg extends Message<boolean> {
|
|
|
15
15
|
const url = new URL(this.origin);
|
|
16
16
|
|
|
17
17
|
// Will throw an error if url has not second level domain.
|
|
18
|
-
|
|
18
|
+
parseDomain(url.origin);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
approveExternal(): boolean {
|
|
@@ -43,7 +43,7 @@ export class URLTempAllowMsg extends Message<void> {
|
|
|
43
43
|
validateBasic(): void {
|
|
44
44
|
const url = new URL(this.url);
|
|
45
45
|
// Will throw an error if url has not second level domain.
|
|
46
|
-
|
|
46
|
+
parseDomain(url.origin);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
route(): string {
|
|
@@ -12,6 +12,8 @@ const phishings = [
|
|
|
12
12
|
"app-keplr-vvallet.host",
|
|
13
13
|
];
|
|
14
14
|
|
|
15
|
+
const subdomains = ["scam1.service.com", "scam2.service.com"];
|
|
16
|
+
|
|
15
17
|
const createMockServer = () => {
|
|
16
18
|
let queryCount = 0;
|
|
17
19
|
|
|
@@ -52,9 +54,6 @@ const createMockServer = () => {
|
|
|
52
54
|
case 5:
|
|
53
55
|
phishing = phishing + " , ";
|
|
54
56
|
break;
|
|
55
|
-
case 6:
|
|
56
|
-
phishing = "third-domain." + phishing;
|
|
57
|
-
break;
|
|
58
57
|
default:
|
|
59
58
|
phishing = ` ${phishing} `;
|
|
60
59
|
}
|
|
@@ -65,7 +64,6 @@ const createMockServer = () => {
|
|
|
65
64
|
return;
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
// Even if an invalid endpoint exists, only that endpoint should be ignored and proceeded.
|
|
69
67
|
// When second fetch, add other domain to test fetching interval.
|
|
70
68
|
if (req.url === "/list3") {
|
|
71
69
|
resp.writeHead(200);
|
|
@@ -92,8 +90,47 @@ const createMockServer = () => {
|
|
|
92
90
|
case 5:
|
|
93
91
|
phishing = phishing + "?test\n";
|
|
94
92
|
break;
|
|
95
|
-
|
|
96
|
-
phishing =
|
|
93
|
+
default:
|
|
94
|
+
phishing = ` ${phishing} `;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
str += phishing;
|
|
98
|
+
}
|
|
99
|
+
str += ";invalid";
|
|
100
|
+
|
|
101
|
+
if (queryCount === 2) {
|
|
102
|
+
str += ";added.domain";
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
resp.end(str);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (req.url === "/subdomains") {
|
|
110
|
+
resp.writeHead(200);
|
|
111
|
+
const list = phishings.concat(subdomains);
|
|
112
|
+
let str = "";
|
|
113
|
+
for (let i = 0; i < list.length; i++) {
|
|
114
|
+
let phishing = list[i];
|
|
115
|
+
|
|
116
|
+
switch (i) {
|
|
117
|
+
case 0:
|
|
118
|
+
phishing = phishing + "\n";
|
|
119
|
+
break;
|
|
120
|
+
case 1:
|
|
121
|
+
phishing = phishing + ".\n";
|
|
122
|
+
break;
|
|
123
|
+
case 2:
|
|
124
|
+
phishing = "." + phishing + "\r\n";
|
|
125
|
+
break;
|
|
126
|
+
case 3:
|
|
127
|
+
phishing = "invalid;.." + phishing + "..;";
|
|
128
|
+
break;
|
|
129
|
+
case 4:
|
|
130
|
+
phishing = phishing + "/,";
|
|
131
|
+
break;
|
|
132
|
+
case 5:
|
|
133
|
+
phishing = phishing + "?test\n";
|
|
97
134
|
break;
|
|
98
135
|
default:
|
|
99
136
|
phishing = ` ${phishing} `;
|
|
@@ -421,7 +458,6 @@ describe("Test phishing list service", () => {
|
|
|
421
458
|
// allow temp Url
|
|
422
459
|
service.allowUrlTemp("https://" + phishing);
|
|
423
460
|
expect(service.checkURLIsPhishing("https://" + phishing)).toBe(false);
|
|
424
|
-
expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(false);
|
|
425
461
|
// but another url still blocked
|
|
426
462
|
expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
|
|
427
463
|
expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(
|
|
@@ -438,4 +474,33 @@ describe("Test phishing list service", () => {
|
|
|
438
474
|
true
|
|
439
475
|
);
|
|
440
476
|
});
|
|
477
|
+
|
|
478
|
+
test("Test subdomains", async () => {
|
|
479
|
+
const service = new PhishingListService({
|
|
480
|
+
blockListUrl: `http://127.0.0.1:${port}/subdomains`,
|
|
481
|
+
fetchingIntervalMs: 200,
|
|
482
|
+
retryIntervalMs: 100,
|
|
483
|
+
allowTimeoutMs: 100,
|
|
484
|
+
});
|
|
485
|
+
eachService = service;
|
|
486
|
+
|
|
487
|
+
service.init();
|
|
488
|
+
|
|
489
|
+
await waitServiceInit(service);
|
|
490
|
+
|
|
491
|
+
testCheckURLIsPhishing(service);
|
|
492
|
+
|
|
493
|
+
expect(service.checkURLIsPhishing("https://service.com")).toBe(false);
|
|
494
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(true);
|
|
495
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
496
|
+
|
|
497
|
+
// allow temp Url
|
|
498
|
+
service.allowUrlTemp("https://service.com");
|
|
499
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(true);
|
|
500
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
501
|
+
// allow temp Url
|
|
502
|
+
service.allowUrlTemp("https://scam1.service.com");
|
|
503
|
+
expect(service.checkURLIsPhishing("https://scam1.service.com")).toBe(false);
|
|
504
|
+
expect(service.checkURLIsPhishing("https://scam2.service.com")).toBe(true);
|
|
505
|
+
});
|
|
441
506
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Axios, { AxiosResponse } from "axios";
|
|
2
|
-
import {
|
|
2
|
+
import { parseDomain } from "./utils";
|
|
3
3
|
|
|
4
4
|
class IntervalFetcher<R> {
|
|
5
5
|
protected _hasInited: boolean = false;
|
|
@@ -66,6 +66,11 @@ class IntervalFetcher<R> {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export class PhishingListService {
|
|
69
|
+
// If blocked urls is "scam1.com", "scam2.service.com",
|
|
70
|
+
// "scam1.com" and "**.scam1.com" should be blocked.
|
|
71
|
+
// and "scam2.service.com" and "**.scam2.service.com" should be blocked.
|
|
72
|
+
// and "service.com" should be allowed.
|
|
73
|
+
// urls which blocked.
|
|
69
74
|
protected urlMap: Map<string, boolean> = new Map();
|
|
70
75
|
protected readonly allowedUrlMap: Map<string, number> = new Map();
|
|
71
76
|
|
|
@@ -101,7 +106,7 @@ export class PhishingListService {
|
|
|
101
106
|
|
|
102
107
|
for (const domain of domains) {
|
|
103
108
|
try {
|
|
104
|
-
map.set(
|
|
109
|
+
map.set(parseDomain(domain).join("."), true);
|
|
105
110
|
} catch (e) {
|
|
106
111
|
console.log(e);
|
|
107
112
|
}
|
|
@@ -159,25 +164,32 @@ export class PhishingListService {
|
|
|
159
164
|
}
|
|
160
165
|
|
|
161
166
|
checkURLIsPhishing(url: string): boolean {
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
const origin = new URL(url).origin;
|
|
168
|
+
const parsed = parseDomain(origin);
|
|
169
|
+
while (parsed.length >= 2) {
|
|
170
|
+
const domain = parsed.join(".");
|
|
171
|
+
if (this.urlMap.get(domain) === true) {
|
|
172
|
+
// Allowing url should not be based on subdomain but only allow specific domain.
|
|
173
|
+
const allowed = this.allowedUrlMap.get(parseDomain(origin).join("."));
|
|
174
|
+
if (
|
|
175
|
+
allowed &&
|
|
176
|
+
allowed + this.opts.allowTimeoutMs >= new Date().getTime()
|
|
177
|
+
) {
|
|
178
|
+
// noop: This url is allowed temporarily
|
|
179
|
+
} else {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
170
182
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
return false;
|
|
183
|
+
|
|
184
|
+
parsed.shift();
|
|
174
185
|
}
|
|
186
|
+
return false;
|
|
175
187
|
}
|
|
176
188
|
|
|
177
189
|
allowUrlTemp(url: string): void {
|
|
178
190
|
const parsed = new URL(url);
|
|
179
191
|
this.allowedUrlMap.set(
|
|
180
|
-
|
|
192
|
+
parseDomain(parsed.origin).join("."),
|
|
181
193
|
new Date().getTime()
|
|
182
194
|
);
|
|
183
195
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { parseDomain } from "./utils";
|
|
2
2
|
|
|
3
3
|
describe("Test phishing list service utils", () => {
|
|
4
|
-
test("Test
|
|
4
|
+
test("Test parseDomain", () => {
|
|
5
5
|
const tests: ({
|
|
6
6
|
url: string;
|
|
7
7
|
} & ({ expect: string } | { invalid: true }))[] = [
|
|
@@ -55,11 +55,11 @@ describe("Test phishing list service utils", () => {
|
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
url: "asd.test.com.",
|
|
58
|
-
expect: "test.com",
|
|
58
|
+
expect: "asd.test.com",
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
url: "asd..test.com.",
|
|
62
|
-
expect: "test.com",
|
|
62
|
+
expect: "asd.test.com",
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
url: "http://",
|
|
@@ -107,15 +107,15 @@ describe("Test phishing list service utils", () => {
|
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
109
|
url: "https://asd.test.com.",
|
|
110
|
-
expect: "test.com",
|
|
110
|
+
expect: "asd.test.com",
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
url: "https://asd..test.com.",
|
|
114
|
-
expect: "test.com",
|
|
114
|
+
expect: "asd.test.com",
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
117
|
url: "https://asd..test.com:999.",
|
|
118
|
-
expect: "test.com",
|
|
118
|
+
expect: "asd.test.com",
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
121
|
url:
|
|
@@ -143,9 +143,9 @@ describe("Test phishing list service utils", () => {
|
|
|
143
143
|
|
|
144
144
|
for (const test of tests) {
|
|
145
145
|
if ("invalid" in test) {
|
|
146
|
-
expect(() =>
|
|
146
|
+
expect(() => parseDomain(test.url)).toThrow();
|
|
147
147
|
} else {
|
|
148
|
-
expect(
|
|
148
|
+
expect(parseDomain(test.url).join(".")).toBe(test.expect);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function parseDomain(param: string): string[] {
|
|
2
2
|
let domain = param;
|
|
3
3
|
|
|
4
4
|
if (domain.match(/^[a-zA-Z0-9-]+:\/\/.+$/)) {
|
|
@@ -28,5 +28,5 @@ export function parseDomainUntilSecondLevel(param: string): string {
|
|
|
28
28
|
split[split.length - 1] = split[split.length - 1].slice(0, i);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
return split
|
|
31
|
+
return split;
|
|
32
32
|
}
|