@prosopo/provider 5.11.1 → 5.12.2
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/.turbo/turbo-build$colon$cjs.log +116 -115
- package/.turbo/turbo-build$colon$tsc.log +27 -27
- package/.turbo/turbo-build.log +117 -116
- package/CHANGELOG.md +116 -0
- package/dist/api/blacklistRequestInspector.d.ts +5 -2
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
- package/dist/api/blacklistRequestInspector.js +10 -5
- package/dist/api/blacklistRequestInspector.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +1 -1
- package/dist/api/cpuProfiler.d.ts +32 -0
- package/dist/api/cpuProfiler.d.ts.map +1 -0
- package/dist/api/cpuProfiler.js +128 -0
- package/dist/api/cpuProfiler.js.map +1 -0
- package/dist/api/metrics.d.ts +9 -0
- package/dist/api/metrics.d.ts.map +1 -1
- package/dist/api/metrics.js +107 -1
- package/dist/api/metrics.js.map +1 -1
- package/dist/api/startProviderApi.d.ts.map +1 -1
- package/dist/api/startProviderApi.js +2 -0
- package/dist/api/startProviderApi.js.map +1 -1
- package/dist/cjs/api/blacklistRequestInspector.cjs +10 -5
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +1 -1
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +1 -1
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +1 -1
- package/dist/cjs/api/cpuProfiler.cjs +129 -0
- package/dist/cjs/api/metrics.cjs +108 -0
- package/dist/cjs/api/startProviderApi.cjs +2 -0
- package/dist/cjs/tasks/captchaManager.cjs +61 -4
- package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +2 -1
- package/dist/cjs/tasks/detection/decoderModules.cjs +14 -0
- package/dist/cjs/tasks/detection/decoderPool.cjs +183 -0
- package/dist/cjs/tasks/detection/getBotScore.cjs +9 -2
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +6 -3
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +5 -2
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +6 -3
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +2 -2
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -2
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +30 -0
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +3 -2
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +6 -3
- package/dist/tasks/captchaManager.d.ts +7 -0
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +61 -4
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js +2 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
- package/dist/tasks/detection/decoderModules.d.ts +5 -0
- package/dist/tasks/detection/decoderModules.d.ts.map +1 -0
- package/dist/tasks/detection/decoderModules.js +13 -0
- package/dist/tasks/detection/decoderModules.js.map +1 -0
- package/dist/tasks/detection/decoderPool.d.ts +4 -0
- package/dist/tasks/detection/decoderPool.d.ts.map +1 -0
- package/dist/tasks/detection/decoderPool.js +183 -0
- package/dist/tasks/detection/decoderPool.js.map +1 -0
- package/dist/tasks/detection/getBotScore.js +9 -2
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +6 -3
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +5 -2
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +6 -3
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +4 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +3 -0
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -0
- package/dist/tasks/puzzle/nativeBackground.js +31 -0
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +3 -2
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +6 -3
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/powCaptcha.integration.test.js +1 -1
- package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js +2 -2
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js.map +1 -1
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +42 -1
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -1
- package/dist/tests/unit/api/cpuProfiler.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.js +47 -0
- package/dist/tests/unit/api/cpuProfiler.unit.test.js.map +1 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.js +37 -0
- package/dist/tests/unit/api/cpuSpans.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +83 -5
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.js +59 -0
- package/dist/tests/unit/tasks/detection/decoderPool.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +39 -18
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +50 -0
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -0
- package/package.json +25 -24
- package/dist/cjs/tasks/detection/decodeBehavior.cjs +0 -721
- package/dist/cjs/tasks/detection/decodePayload.cjs +0 -1325
- package/dist/cjs/tasks/detection/decodeSimd.cjs +0 -805
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { getMetrics, measureSync } from "../../../api/metrics.js";
|
|
3
|
+
const readCounter = async (name, span) => {
|
|
4
|
+
const metric = await getMetrics()
|
|
5
|
+
.registry.getSingleMetric(`prosopo_${name}`)
|
|
6
|
+
?.get();
|
|
7
|
+
const sample = metric?.values.find((value) => value.labels.span === span);
|
|
8
|
+
return typeof sample?.value === "number" ? sample.value : 0;
|
|
9
|
+
};
|
|
10
|
+
describe("measureSync", () => {
|
|
11
|
+
let callsBefore;
|
|
12
|
+
let wallBefore;
|
|
13
|
+
beforeEach(async () => {
|
|
14
|
+
callsBefore = await readCounter("sync_span_calls_total", "merkle_build");
|
|
15
|
+
wallBefore = await readCounter("sync_span_wall_seconds_total", "merkle_build");
|
|
16
|
+
});
|
|
17
|
+
it("returns the callback's value untouched", () => {
|
|
18
|
+
expect(measureSync("merkle_build", () => 42)).toBe(42);
|
|
19
|
+
});
|
|
20
|
+
it("bills the time the span held the loop", async () => {
|
|
21
|
+
measureSync("merkle_build", () => {
|
|
22
|
+
let total = 0;
|
|
23
|
+
for (let i = 0; i < 5_000_000; i++)
|
|
24
|
+
total += i % 7;
|
|
25
|
+
return total;
|
|
26
|
+
});
|
|
27
|
+
expect(await readCounter("sync_span_wall_seconds_total", "merkle_build")).toBeGreaterThan(wallBefore);
|
|
28
|
+
});
|
|
29
|
+
it("counts a span that throws, and rethrows", async () => {
|
|
30
|
+
const boom = new Error("decoder handed the wrong key");
|
|
31
|
+
expect(() => measureSync("merkle_build", () => {
|
|
32
|
+
throw boom;
|
|
33
|
+
})).toThrow(boom);
|
|
34
|
+
expect(await readCounter("sync_span_calls_total", "merkle_build")).toBe(callsBefore + 1);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=cpuSpans.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpuSpans.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/cpuSpans.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,GAAG,KAAK,EACxB,IAA8D,EAC9D,IAAY,EACM,EAAE;IACpB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE;SAC/B,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,EAAE,GAAG,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1E,OAAO,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAIF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAkB,CAAC;IAEvB,UAAU,CAAC,KAAK,IAAI,EAAE;QACrB,WAAW,GAAG,MAAM,WAAW,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;QACzE,UAAU,GAAG,MAAM,WAAW,CAC7B,8BAA8B,EAC9B,cAAc,CACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE;YAEhC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE;gBAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,CACL,MAAM,WAAW,CAAC,8BAA8B,EAAE,cAAc,CAAC,CACjE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,CACX,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE;YAChC,MAAM,IAAI,CAAC;QACZ,CAAC,CAAC,CACF,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,MAAM,WAAW,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CACtE,WAAW,GAAG,CAAC,CACf,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -4,8 +4,8 @@ import { CaptchaType, ResultReason, Tier, TrafficFilterAction, puzzleMaxDifficul
|
|
|
4
4
|
import { AccessPolicyType, } from "@prosopo/user-access-policy";
|
|
5
5
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
6
6
|
import { CaptchaManager } from "../../../tasks/captchaManager.js";
|
|
7
|
-
vi.mock("../../../tasks/detection/
|
|
8
|
-
|
|
7
|
+
vi.mock("../../../tasks/detection/decoderPool.js", () => ({
|
|
8
|
+
decode: vi.fn(),
|
|
9
9
|
}));
|
|
10
10
|
const loggerOuter = getLogger("info", "test:captcha-manager");
|
|
11
11
|
const defaultUserSettings = {
|
|
@@ -962,11 +962,85 @@ describe("CaptchaManager", () => {
|
|
|
962
962
|
expect(result).not.toHaveProperty("sessionId");
|
|
963
963
|
});
|
|
964
964
|
});
|
|
965
|
+
describe("decodeSubmissionPayloads", () => {
|
|
966
|
+
const bundle = { key: "pk", innerConfig: "cfg" };
|
|
967
|
+
beforeEach(() => {
|
|
968
|
+
vi.spyOn(captchaManager, "resolveBundleBySessionId").mockResolvedValue(bundle);
|
|
969
|
+
});
|
|
970
|
+
it("resolves the session bundle once for both payloads", async () => {
|
|
971
|
+
vi.spyOn(captchaManager, "decryptBehavioralData").mockResolvedValue(null);
|
|
972
|
+
vi.spyOn(captchaManager, "decryptSimdReadingsForAttach").mockResolvedValue(undefined);
|
|
973
|
+
await captchaManager.decodeSubmissionPayloads("session-1", {
|
|
974
|
+
behavioural: "b",
|
|
975
|
+
simd: "s",
|
|
976
|
+
});
|
|
977
|
+
expect(captchaManager.resolveBundleBySessionId).toHaveBeenCalledTimes(1);
|
|
978
|
+
});
|
|
979
|
+
it("runs the two decodes concurrently", async () => {
|
|
980
|
+
let behaviouralStarted = false;
|
|
981
|
+
let simdStartedWhileBehaviouralInFlight = false;
|
|
982
|
+
let releaseBehavioural = () => undefined;
|
|
983
|
+
const behaviouralGate = new Promise((resolve) => {
|
|
984
|
+
releaseBehavioural = resolve;
|
|
985
|
+
});
|
|
986
|
+
vi.spyOn(captchaManager, "decryptBehavioralData").mockImplementation(async () => {
|
|
987
|
+
behaviouralStarted = true;
|
|
988
|
+
await behaviouralGate;
|
|
989
|
+
return null;
|
|
990
|
+
});
|
|
991
|
+
vi.spyOn(captchaManager, "decryptSimdReadingsForAttach").mockImplementation(async () => {
|
|
992
|
+
simdStartedWhileBehaviouralInFlight = behaviouralStarted;
|
|
993
|
+
releaseBehavioural();
|
|
994
|
+
return undefined;
|
|
995
|
+
});
|
|
996
|
+
await captchaManager.decodeSubmissionPayloads("session-1", {
|
|
997
|
+
behavioural: "b",
|
|
998
|
+
simd: "s",
|
|
999
|
+
});
|
|
1000
|
+
expect(simdStartedWhileBehaviouralInFlight).toBe(true);
|
|
1001
|
+
});
|
|
1002
|
+
it("returns both decoded payloads", async () => {
|
|
1003
|
+
const behaviouralResult = {
|
|
1004
|
+
collector1: [{ event: "click" }],
|
|
1005
|
+
collector2: [],
|
|
1006
|
+
collector3: [],
|
|
1007
|
+
deviceCapability: "desktop",
|
|
1008
|
+
timestamp: 1000,
|
|
1009
|
+
};
|
|
1010
|
+
vi.spyOn(captchaManager, "decryptBehavioralData").mockResolvedValue(behaviouralResult);
|
|
1011
|
+
vi.spyOn(captchaManager, "decryptSimdReadingsForAttach").mockResolvedValue({ ops: [1, 2] });
|
|
1012
|
+
const decoded = await captchaManager.decodeSubmissionPayloads("s1", {
|
|
1013
|
+
behavioural: "b",
|
|
1014
|
+
simd: "s",
|
|
1015
|
+
});
|
|
1016
|
+
expect(decoded.behavioural).toEqual(behaviouralResult);
|
|
1017
|
+
expect(decoded.simd).toEqual({ ops: [1, 2] });
|
|
1018
|
+
});
|
|
1019
|
+
it("keeps one payload when the other decode throws", async () => {
|
|
1020
|
+
vi.spyOn(captchaManager, "decryptBehavioralData").mockRejectedValue(new Error("decoder blew up"));
|
|
1021
|
+
vi.spyOn(captchaManager, "decryptSimdReadingsForAttach").mockResolvedValue({ ops: [1] });
|
|
1022
|
+
const decoded = await captchaManager.decodeSubmissionPayloads("s1", {
|
|
1023
|
+
behavioural: "b",
|
|
1024
|
+
simd: "s",
|
|
1025
|
+
});
|
|
1026
|
+
expect(decoded.behavioural).toBeUndefined();
|
|
1027
|
+
expect(decoded.simd).toEqual({ ops: [1] });
|
|
1028
|
+
});
|
|
1029
|
+
it("does not resolve a bundle when there is nothing to decode", async () => {
|
|
1030
|
+
const decoded = await captchaManager.decodeSubmissionPayloads("s1", {});
|
|
1031
|
+
expect(decoded).toEqual({});
|
|
1032
|
+
expect(captchaManager.resolveBundleBySessionId).not.toHaveBeenCalled();
|
|
1033
|
+
});
|
|
1034
|
+
it("yields nothing when the bundle lookup throws", async () => {
|
|
1035
|
+
vi.spyOn(captchaManager, "resolveBundleBySessionId").mockRejectedValue(new Error("redis down"));
|
|
1036
|
+
await expect(captchaManager.decodeSubmissionPayloads("s1", { behavioural: "b" })).resolves.toEqual({});
|
|
1037
|
+
});
|
|
1038
|
+
});
|
|
965
1039
|
describe("decryptBehavioralData", () => {
|
|
966
1040
|
let decryptFn;
|
|
967
1041
|
beforeEach(async () => {
|
|
968
|
-
const mod = await import("../../../tasks/detection/
|
|
969
|
-
decryptFn = mod.
|
|
1042
|
+
const mod = await import("../../../tasks/detection/decoderPool.js");
|
|
1043
|
+
decryptFn = mod.decode;
|
|
970
1044
|
vi.mocked(decryptFn).mockReset();
|
|
971
1045
|
});
|
|
972
1046
|
it("should return null when no bundle is provided", async () => {
|
|
@@ -989,7 +1063,11 @@ describe("CaptchaManager", () => {
|
|
|
989
1063
|
});
|
|
990
1064
|
expect(result).toEqual(mockResult);
|
|
991
1065
|
expect(decryptFn).toHaveBeenCalledTimes(1);
|
|
992
|
-
expect(decryptFn).toHaveBeenCalledWith("
|
|
1066
|
+
expect(decryptFn).toHaveBeenCalledWith("behaviour", [
|
|
1067
|
+
"encryptedData",
|
|
1068
|
+
"pk",
|
|
1069
|
+
"cfg",
|
|
1070
|
+
]);
|
|
993
1071
|
});
|
|
994
1072
|
it("should return null when the bundle fails to decrypt", async () => {
|
|
995
1073
|
vi.mocked(decryptFn).mockRejectedValue(new Error("decrypt failed"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"captchaManager.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/tasks/captchaManager.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoderPool.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/decoderPool.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { DECODERS, decoderModuleUrl, } from "../../../../tasks/detection/decoderModules.js";
|
|
3
|
+
import { decode, shutdownDecoderPool, } from "../../../../tasks/detection/decoderPool.js";
|
|
4
|
+
const UNDECODABLE = [
|
|
5
|
+
"not-a-real-payload",
|
|
6
|
+
"headhash",
|
|
7
|
+
"key",
|
|
8
|
+
"innerConfig",
|
|
9
|
+
"payloadLayout",
|
|
10
|
+
"keyMap",
|
|
11
|
+
];
|
|
12
|
+
const inline = async (decoder) => {
|
|
13
|
+
const mod = (await import(decoderModuleUrl(decoder)));
|
|
14
|
+
try {
|
|
15
|
+
return `resolved:${JSON.stringify(await mod.default(...UNDECODABLE))}`;
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
return `threw:${err instanceof Error ? err.message : String(err)}`;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const viaPool = async (decoder) => {
|
|
22
|
+
try {
|
|
23
|
+
return `resolved:${JSON.stringify(await decode(decoder, UNDECODABLE))}`;
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
return `threw:${err instanceof Error ? err.message : String(err)}`;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
describe("decoder pool", () => {
|
|
30
|
+
afterEach(async () => {
|
|
31
|
+
await shutdownDecoderPool();
|
|
32
|
+
delete process.env.PROSOPO_DECODER_WORKERS;
|
|
33
|
+
delete process.env.PROSOPO_DECODER_TIMEOUT_MS;
|
|
34
|
+
});
|
|
35
|
+
it.each(DECODERS)("gives the same answer as decoding inline (%s)", async (decoder) => {
|
|
36
|
+
expect(await viaPool(decoder)).toBe(await inline(decoder));
|
|
37
|
+
});
|
|
38
|
+
it("loads every decoder it claims to support", async () => {
|
|
39
|
+
for (const decoder of DECODERS) {
|
|
40
|
+
const outcome = await viaPool(decoder);
|
|
41
|
+
expect(outcome).not.toMatch(/Cannot find module|ERR_MODULE_NOT_FOUND/);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
it("decodes inline when the pool is switched off", async () => {
|
|
45
|
+
process.env.PROSOPO_DECODER_WORKERS = "0";
|
|
46
|
+
expect(await viaPool("payload")).toBe(await inline("payload"));
|
|
47
|
+
});
|
|
48
|
+
it("survives concurrent calls across the pool", async () => {
|
|
49
|
+
const expected = await inline("simd");
|
|
50
|
+
const results = await Promise.all(Array.from({ length: 24 }, () => viaPool("simd")));
|
|
51
|
+
expect(results.every((r) => r === expected)).toBe(true);
|
|
52
|
+
});
|
|
53
|
+
it("rejects rather than hanging when a decode overruns", async () => {
|
|
54
|
+
process.env.PROSOPO_DECODER_TIMEOUT_MS = "1";
|
|
55
|
+
const outcome = await viaPool("behaviour");
|
|
56
|
+
expect(outcome).toMatch(/threw:/);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=decoderPool.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoderPool.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/decoderPool.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import * as
|
|
2
|
+
import * as decoderPool from "../../../../tasks/detection/decoderPool.js";
|
|
3
3
|
import { getBotScore, sanitiseDetectorData, } from "../../../../tasks/detection/getBotScore.js";
|
|
4
|
-
vi.mock("../../../../tasks/detection/
|
|
5
|
-
|
|
4
|
+
vi.mock("../../../../tasks/detection/decoderPool.js", () => ({
|
|
5
|
+
decode: vi.fn(),
|
|
6
6
|
}));
|
|
7
7
|
describe("getBotScore", () => {
|
|
8
8
|
beforeEach(() => {
|
|
9
9
|
vi.clearAllMocks();
|
|
10
10
|
});
|
|
11
|
-
it("returns bot score with all fields when
|
|
11
|
+
it("returns bot score with all fields when the decoder succeeds", async () => {
|
|
12
12
|
const mockResult = {
|
|
13
13
|
score: 0.85,
|
|
14
14
|
timestamp: 1234567890,
|
|
@@ -18,7 +18,7 @@ describe("getBotScore", () => {
|
|
|
18
18
|
isIframe: true,
|
|
19
19
|
decryptedHeadHash: "hash123",
|
|
20
20
|
};
|
|
21
|
-
vi.mocked(
|
|
21
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
22
22
|
const result = await getBotScore("payload", "headHash", "privateKey");
|
|
23
23
|
expect(result).toEqual({
|
|
24
24
|
baseBotScore: 0.85,
|
|
@@ -32,14 +32,21 @@ describe("getBotScore", () => {
|
|
|
32
32
|
shadowDomPenalty: undefined,
|
|
33
33
|
d: undefined,
|
|
34
34
|
});
|
|
35
|
-
expect(
|
|
35
|
+
expect(decoderPool.decode).toHaveBeenCalledWith("payload", [
|
|
36
|
+
"payload",
|
|
37
|
+
"headHash",
|
|
38
|
+
"privateKey",
|
|
39
|
+
undefined,
|
|
40
|
+
undefined,
|
|
41
|
+
undefined,
|
|
42
|
+
]);
|
|
36
43
|
});
|
|
37
44
|
it("returns default values when baseBotScore is undefined", async () => {
|
|
38
45
|
const mockResult = {
|
|
39
46
|
score: undefined,
|
|
40
47
|
timestamp: 1234567890,
|
|
41
48
|
};
|
|
42
|
-
vi.mocked(
|
|
49
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
43
50
|
const result = await getBotScore("payload", "headHash");
|
|
44
51
|
expect(result).toEqual({
|
|
45
52
|
baseBotScore: 1,
|
|
@@ -54,7 +61,7 @@ describe("getBotScore", () => {
|
|
|
54
61
|
score: 0.5,
|
|
55
62
|
timestamp: 1234567890,
|
|
56
63
|
};
|
|
57
|
-
vi.mocked(
|
|
64
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
58
65
|
const result = await getBotScore("payload", "headHash");
|
|
59
66
|
expect(result).toEqual({
|
|
60
67
|
baseBotScore: 0.5,
|
|
@@ -78,7 +85,7 @@ describe("getBotScore", () => {
|
|
|
78
85
|
nested: { k1: 3, k2: [true, false] },
|
|
79
86
|
},
|
|
80
87
|
};
|
|
81
|
-
vi.mocked(
|
|
88
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
82
89
|
const result = await getBotScore("payload", "headHash");
|
|
83
90
|
expect(result.d).toEqual({
|
|
84
91
|
aKeyThisRepoDoesNotKnow: "yes",
|
|
@@ -91,7 +98,7 @@ describe("getBotScore", () => {
|
|
|
91
98
|
timestamp: 1234567890,
|
|
92
99
|
d: {},
|
|
93
100
|
};
|
|
94
|
-
vi.mocked(
|
|
101
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
95
102
|
const result = await getBotScore("payload", "headHash");
|
|
96
103
|
expect(result.d).toBeUndefined();
|
|
97
104
|
});
|
|
@@ -101,7 +108,7 @@ describe("getBotScore", () => {
|
|
|
101
108
|
timestamp: 1234567890,
|
|
102
109
|
d: { ok: 1, "has.dot": 2 },
|
|
103
110
|
};
|
|
104
|
-
vi.mocked(
|
|
111
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
105
112
|
const result = await getBotScore("payload", "headHash");
|
|
106
113
|
expect(result.d).toEqual({ ok: 1 });
|
|
107
114
|
});
|
|
@@ -111,7 +118,7 @@ describe("getBotScore", () => {
|
|
|
111
118
|
timestamp: 1234567890,
|
|
112
119
|
isWebView: undefined,
|
|
113
120
|
};
|
|
114
|
-
vi.mocked(
|
|
121
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
115
122
|
const result = await getBotScore("payload", "headHash");
|
|
116
123
|
expect(result.isWebView).toBe(false);
|
|
117
124
|
});
|
|
@@ -121,7 +128,7 @@ describe("getBotScore", () => {
|
|
|
121
128
|
timestamp: 1234567890,
|
|
122
129
|
isIframe: undefined,
|
|
123
130
|
};
|
|
124
|
-
vi.mocked(
|
|
131
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
125
132
|
const result = await getBotScore("payload", "headHash");
|
|
126
133
|
expect(result.isIframe).toBe(false);
|
|
127
134
|
});
|
|
@@ -130,11 +137,18 @@ describe("getBotScore", () => {
|
|
|
130
137
|
score: 0.5,
|
|
131
138
|
timestamp: 1234567890,
|
|
132
139
|
};
|
|
133
|
-
vi.mocked(
|
|
140
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
134
141
|
await getBotScore("testPayload", "testHeadHash", "testPrivateKey", "innerConfig", "layout", "keyMap");
|
|
135
|
-
expect(
|
|
142
|
+
expect(decoderPool.decode).toHaveBeenCalledWith("payload", [
|
|
143
|
+
"testPayload",
|
|
144
|
+
"testHeadHash",
|
|
145
|
+
"testPrivateKey",
|
|
146
|
+
"innerConfig",
|
|
147
|
+
"layout",
|
|
148
|
+
"keyMap",
|
|
149
|
+
]);
|
|
136
150
|
});
|
|
137
|
-
it("calls
|
|
151
|
+
it("calls the decoder without privateKey when not provided", async () => {
|
|
138
152
|
const mockResult = {
|
|
139
153
|
score: 0.5,
|
|
140
154
|
timestamp: 1234567890,
|
|
@@ -142,9 +156,16 @@ describe("getBotScore", () => {
|
|
|
142
156
|
userAgent: "",
|
|
143
157
|
decryptedHeadHash: "",
|
|
144
158
|
};
|
|
145
|
-
vi.mocked(
|
|
159
|
+
vi.mocked(decoderPool.decode).mockResolvedValue(mockResult);
|
|
146
160
|
await getBotScore("testPayload", "testHeadHash");
|
|
147
|
-
expect(
|
|
161
|
+
expect(decoderPool.decode).toHaveBeenCalledWith("payload", [
|
|
162
|
+
"testPayload",
|
|
163
|
+
"testHeadHash",
|
|
164
|
+
undefined,
|
|
165
|
+
undefined,
|
|
166
|
+
undefined,
|
|
167
|
+
undefined,
|
|
168
|
+
]);
|
|
148
169
|
});
|
|
149
170
|
});
|
|
150
171
|
describe("sanitiseDetectorData", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getBotScore.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/detection/getBotScore.unit.test.ts"],"names":[],"mappings":"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"}
|