@prosopo/provider 4.11.3 → 4.11.5
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 +12 -12
- package/.turbo/turbo-build$colon$tsc.log +24 -24
- package/.turbo/turbo-build.log +13 -13
- package/CHANGELOG.md +55 -2
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -1
- package/dist/api/blacklistRequestInspector.d.ts +3 -1
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
- package/dist/api/blacklistRequestInspector.js +11 -3
- package/dist/api/blacklistRequestInspector.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +47 -41
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +18 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/cjs/api/blacklistRequestInspector.cjs +11 -3
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +47 -41
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +18 -2
- package/dist/cjs/tasks/captchaManager.cjs +11 -4
- package/dist/cjs/tasks/detection/getBotScore.cjs +9 -1
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +38 -6
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +12 -1
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +48 -2
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +43 -2
- package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +22 -10
- package/dist/tasks/captchaManager.d.ts +3 -1
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +11 -4
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/detection/getBotScore.d.ts +8 -0
- package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
- package/dist/tasks/detection/getBotScore.js +9 -1
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +5 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +38 -6
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +12 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +49 -3
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +44 -3
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.js +22 -10
- package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +16 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +137 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +89 -1
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +96 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +133 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +90 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +86 -0
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -1
- package/package.json +19 -19
package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js
CHANGED
|
@@ -16,6 +16,7 @@ vi.mock("../../../../../tasks/frictionless/frictionlessTasks.js", () => ({
|
|
|
16
16
|
WEBVIEW_DETECTED: "WEBVIEW_DETECTED",
|
|
17
17
|
OLD_TIMESTAMP: "OLD_TIMESTAMP",
|
|
18
18
|
BOT_SCORE_ABOVE_THRESHOLD: "BOT_SCORE_ABOVE_THRESHOLD",
|
|
19
|
+
AUTO_BAN_SCORE: "AUTO_BAN_SCORE",
|
|
19
20
|
},
|
|
20
21
|
}));
|
|
21
22
|
vi.mock("../../../../../tasks/frictionless/frictionlessTasksUtils.js", () => ({
|
|
@@ -47,6 +48,7 @@ const buildInput = (overrides = {}) => ({
|
|
|
47
48
|
updateScore: vi.fn(),
|
|
48
49
|
hostVerified: vi.fn().mockResolvedValue({ verified: true, domain: "ok" }),
|
|
49
50
|
getClientContextEntropy: vi.fn().mockResolvedValue(undefined),
|
|
51
|
+
registerBlockedSession: vi.fn().mockResolvedValue(undefined),
|
|
50
52
|
},
|
|
51
53
|
},
|
|
52
54
|
env: { config: { captchas: { solved: { count: 4 } } } },
|
|
@@ -83,7 +85,10 @@ const buildHandle = (uaHeader = "ua", prosopoUser = "uid") => {
|
|
|
83
85
|
requestId: "rid",
|
|
84
86
|
i18n: { t: (s) => s },
|
|
85
87
|
};
|
|
86
|
-
const res = {
|
|
88
|
+
const res = {
|
|
89
|
+
json: vi.fn().mockReturnValue("done"),
|
|
90
|
+
status: vi.fn().mockReturnThis(),
|
|
91
|
+
};
|
|
87
92
|
const next = vi.fn();
|
|
88
93
|
return { req, res, next, handle: { req, res, next } };
|
|
89
94
|
};
|
|
@@ -150,5 +155,136 @@ describe("runDecisionMachine", () => {
|
|
|
150
155
|
expect(input.tasks.frictionlessManager.scoreIncreaseUnverifiedHost).toHaveBeenCalled();
|
|
151
156
|
expect(input.tasks.frictionlessManager.sendPowCaptcha).toHaveBeenCalled();
|
|
152
157
|
});
|
|
158
|
+
describe("auto-ban threshold (post-penalty)", () => {
|
|
159
|
+
it("fires when unverifiedHost penalty pushes the score over the threshold", async () => {
|
|
160
|
+
const input = buildInput({
|
|
161
|
+
botScore: 1.0,
|
|
162
|
+
baseBotScore: 1.0,
|
|
163
|
+
botThreshold: 0.5,
|
|
164
|
+
clientRecord: {
|
|
165
|
+
settings: { imageMaxRounds: 8, autoBanScoreThreshold: 1.1 },
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
input.tasks.frictionlessManager.hostVerified.mockResolvedValueOnce({
|
|
169
|
+
verified: false,
|
|
170
|
+
domain: "bad",
|
|
171
|
+
});
|
|
172
|
+
input.tasks.frictionlessManager.scoreIncreaseUnverifiedHost.mockImplementationOnce((_d, _bs, score, sc) => ({ score: score + 0.2, scoreComponents: sc }));
|
|
173
|
+
const { res, handle } = buildHandle();
|
|
174
|
+
await runDecisionMachine(input, handle);
|
|
175
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).toHaveBeenCalledWith(expect.objectContaining({ reason: "AUTO_BAN_SCORE" }));
|
|
176
|
+
expect(res.status).toHaveBeenCalledWith(401);
|
|
177
|
+
expect(res.json).toHaveBeenCalledWith(expect.objectContaining({ error: "Unauthorized" }));
|
|
178
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).not.toHaveBeenCalled();
|
|
179
|
+
});
|
|
180
|
+
it("fires when webView penalty pushes the score over the threshold", async () => {
|
|
181
|
+
const input = buildInput({
|
|
182
|
+
botScore: 1.0,
|
|
183
|
+
baseBotScore: 1.0,
|
|
184
|
+
botThreshold: 0.5,
|
|
185
|
+
webView: true,
|
|
186
|
+
clientRecord: {
|
|
187
|
+
settings: {
|
|
188
|
+
imageMaxRounds: 8,
|
|
189
|
+
disallowWebView: true,
|
|
190
|
+
autoBanScoreThreshold: 1.1,
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
input.tasks.frictionlessManager.scoreIncreaseWebView.mockImplementationOnce((_bs, score, sc) => ({ score: score + 0.3, scoreComponents: sc }));
|
|
195
|
+
const { res, handle } = buildHandle();
|
|
196
|
+
await runDecisionMachine(input, handle);
|
|
197
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).toHaveBeenCalledWith(expect.objectContaining({ reason: "AUTO_BAN_SCORE" }));
|
|
198
|
+
expect(res.status).toHaveBeenCalledWith(401);
|
|
199
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).not.toHaveBeenCalled();
|
|
200
|
+
});
|
|
201
|
+
it("fires when timestamp_too_old penalty pushes the score over the threshold", async () => {
|
|
202
|
+
timestampTooOldMock.mockReturnValueOnce(true);
|
|
203
|
+
const input = buildInput({
|
|
204
|
+
botScore: 1.0,
|
|
205
|
+
baseBotScore: 1.0,
|
|
206
|
+
botThreshold: 0.5,
|
|
207
|
+
clientRecord: {
|
|
208
|
+
settings: { imageMaxRounds: 8, autoBanScoreThreshold: 1.1 },
|
|
209
|
+
},
|
|
210
|
+
});
|
|
211
|
+
input.tasks.frictionlessManager.scoreIncreaseTimestamp.mockImplementationOnce((_t, _bs, score, sc) => ({ score: score + 0.5, scoreComponents: sc }));
|
|
212
|
+
const { res, handle } = buildHandle();
|
|
213
|
+
await runDecisionMachine(input, handle);
|
|
214
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).toHaveBeenCalledWith(expect.objectContaining({ reason: "AUTO_BAN_SCORE" }));
|
|
215
|
+
expect(res.status).toHaveBeenCalledWith(401);
|
|
216
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).not.toHaveBeenCalled();
|
|
217
|
+
});
|
|
218
|
+
it("fires when the pre-penalty score already exceeds the threshold (no penalties needed)", async () => {
|
|
219
|
+
const input = buildInput({
|
|
220
|
+
botScore: 1.2,
|
|
221
|
+
baseBotScore: 1.0,
|
|
222
|
+
clientRecord: {
|
|
223
|
+
settings: { imageMaxRounds: 8, autoBanScoreThreshold: 1.1 },
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
const { res, handle } = buildHandle();
|
|
227
|
+
await runDecisionMachine(input, handle);
|
|
228
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).toHaveBeenCalledWith(expect.objectContaining({ reason: "AUTO_BAN_SCORE" }));
|
|
229
|
+
expect(res.status).toHaveBeenCalledWith(401);
|
|
230
|
+
});
|
|
231
|
+
it("does NOT fire when the post-penalty score is below the threshold", async () => {
|
|
232
|
+
const input = buildInput({
|
|
233
|
+
botScore: 0.5,
|
|
234
|
+
baseBotScore: 0.5,
|
|
235
|
+
botThreshold: 0.5,
|
|
236
|
+
clientRecord: {
|
|
237
|
+
settings: { imageMaxRounds: 8, autoBanScoreThreshold: 1.1 },
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
input.tasks.frictionlessManager.hostVerified.mockResolvedValueOnce({
|
|
241
|
+
verified: false,
|
|
242
|
+
domain: "bad",
|
|
243
|
+
});
|
|
244
|
+
input.tasks.frictionlessManager.scoreIncreaseUnverifiedHost.mockImplementationOnce((_d, _bs, score, sc) => ({ score: score + 0.2, scoreComponents: sc }));
|
|
245
|
+
const { res, handle } = buildHandle();
|
|
246
|
+
await runDecisionMachine(input, handle);
|
|
247
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).not.toHaveBeenCalled();
|
|
248
|
+
expect(res.status).not.toHaveBeenCalled();
|
|
249
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).toHaveBeenCalled();
|
|
250
|
+
});
|
|
251
|
+
it("does NOT fire when autoBanScoreThreshold is unset, preserving previous routing", async () => {
|
|
252
|
+
const input = buildInput({
|
|
253
|
+
botScore: 1.0,
|
|
254
|
+
baseBotScore: 1.0,
|
|
255
|
+
botThreshold: 0.5,
|
|
256
|
+
});
|
|
257
|
+
input.tasks.frictionlessManager.hostVerified.mockResolvedValueOnce({
|
|
258
|
+
verified: false,
|
|
259
|
+
domain: "bad",
|
|
260
|
+
});
|
|
261
|
+
input.tasks.frictionlessManager.scoreIncreaseUnverifiedHost.mockImplementationOnce((_d, _bs, score, sc) => ({ score: score + 0.2, scoreComponents: sc }));
|
|
262
|
+
const { res, handle } = buildHandle();
|
|
263
|
+
await runDecisionMachine(input, handle);
|
|
264
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).not.toHaveBeenCalled();
|
|
265
|
+
expect(res.status).not.toHaveBeenCalled();
|
|
266
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).toHaveBeenCalled();
|
|
267
|
+
});
|
|
268
|
+
it("when both webView and autoBan would trip, autoBan wins", async () => {
|
|
269
|
+
const input = buildInput({
|
|
270
|
+
botScore: 1.0,
|
|
271
|
+
baseBotScore: 1.0,
|
|
272
|
+
botThreshold: 0.5,
|
|
273
|
+
webView: true,
|
|
274
|
+
clientRecord: {
|
|
275
|
+
settings: {
|
|
276
|
+
imageMaxRounds: 8,
|
|
277
|
+
disallowWebView: true,
|
|
278
|
+
autoBanScoreThreshold: 1.1,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
input.tasks.frictionlessManager.scoreIncreaseWebView.mockImplementationOnce((_bs, score, sc) => ({ score: score + 0.2, scoreComponents: sc }));
|
|
283
|
+
const { handle } = buildHandle();
|
|
284
|
+
await runDecisionMachine(input, handle);
|
|
285
|
+
expect(input.tasks.frictionlessManager.registerBlockedSession).toHaveBeenCalled();
|
|
286
|
+
expect(input.tasks.frictionlessManager.sendImageCaptcha).not.toHaveBeenCalled();
|
|
287
|
+
});
|
|
288
|
+
});
|
|
153
289
|
});
|
|
154
290
|
//# sourceMappingURL=decisionMachine.unit.test.js.map
|
package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachine.unit.test.js","sourceRoot":"","sources":["../../../../../../src/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decisionMachine.unit.test.js","sourceRoot":"","sources":["../../../../../../src/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CaptchaType, DecisionMachineDecision, DecisionMachineRuntime, DecisionMachineScope, } from "@prosopo/types";
|
|
1
|
+
import { CaptchaType, DecisionMachineDecision, DecisionMachineRuntime, DecisionMachineScope, FrictionlessReason, } from "@prosopo/types";
|
|
2
2
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
3
|
import { DecisionMachineRunner } from "../../../../tasks/decisionMachine/decisionMachineRunner.js";
|
|
4
4
|
const stubLogger = () => {
|
|
@@ -167,6 +167,94 @@ describe("DecisionMachineRunner", () => {
|
|
|
167
167
|
});
|
|
168
168
|
expect(result.decision).toBe(DecisionMachineDecision.Allow);
|
|
169
169
|
});
|
|
170
|
+
it("forwards session-derived fields verbatim to the artifact", async () => {
|
|
171
|
+
const artifact = buildArtifact(`module.exports = {
|
|
172
|
+
decide: (input) => ({
|
|
173
|
+
decision: "deny",
|
|
174
|
+
reason: "echo",
|
|
175
|
+
tags: [
|
|
176
|
+
"score:" + (input.score ?? "u"),
|
|
177
|
+
"threshold:" + (input.threshold ?? "u"),
|
|
178
|
+
"sc.base:" + (input.scoreComponents && input.scoreComponents.baseScore !== undefined ? input.scoreComponents.baseScore : "u"),
|
|
179
|
+
"sc.unverifiedHost:" + (input.scoreComponents && input.scoreComponents.unverifiedHost !== undefined ? input.scoreComponents.unverifiedHost : "u"),
|
|
180
|
+
"sc.dnsAsymmetry:" + (input.scoreComponents && input.scoreComponents.dnsAsymmetry !== undefined ? input.scoreComponents.dnsAsymmetry : "u"),
|
|
181
|
+
"headHash:" + (input.decryptedHeadHash ?? "u"),
|
|
182
|
+
"userSitekeyIpHash:" + (input.userSitekeyIpHash ?? "u"),
|
|
183
|
+
"providerSelectEntropy:" + (input.providerSelectEntropy ?? "u"),
|
|
184
|
+
"simdSupported:" + (input.simdReadings && input.simdReadings.supported !== undefined ? input.simdReadings.supported : "u"),
|
|
185
|
+
"frictionlessReason:" + (input.frictionlessReason ?? "u"),
|
|
186
|
+
"ruleType:" + (input.ruleType ? input.ruleType.join(",") : "u"),
|
|
187
|
+
"webView:" + (input.webView === undefined ? "u" : input.webView),
|
|
188
|
+
"iFrame:" + (input.iFrame === undefined ? "u" : input.iFrame),
|
|
189
|
+
],
|
|
190
|
+
}),
|
|
191
|
+
};`, DecisionMachineScope.Dapp, "dapp");
|
|
192
|
+
db.getDecisionMachineArtifact
|
|
193
|
+
.mockResolvedValueOnce(artifact)
|
|
194
|
+
.mockResolvedValueOnce(undefined);
|
|
195
|
+
const result = await runner.decide({
|
|
196
|
+
userAccount: "user",
|
|
197
|
+
dappAccount: "dapp",
|
|
198
|
+
captchaResult: "passed",
|
|
199
|
+
headers: {},
|
|
200
|
+
score: 1.2,
|
|
201
|
+
threshold: 0.27,
|
|
202
|
+
scoreComponents: {
|
|
203
|
+
baseScore: 1,
|
|
204
|
+
unverifiedHost: 0.2,
|
|
205
|
+
dnsAsymmetry: 0.5,
|
|
206
|
+
triggeredDetectors: [27],
|
|
207
|
+
shadowDomPenalty: false,
|
|
208
|
+
},
|
|
209
|
+
decryptedHeadHash: "0".repeat(128),
|
|
210
|
+
userSitekeyIpHash: "abc123",
|
|
211
|
+
providerSelectEntropy: 891,
|
|
212
|
+
simdReadings: {
|
|
213
|
+
supported: true,
|
|
214
|
+
schema: 1,
|
|
215
|
+
timerResolutionMs: 0.1,
|
|
216
|
+
runsPerOp: 3,
|
|
217
|
+
durationMs: 200,
|
|
218
|
+
ops: [],
|
|
219
|
+
},
|
|
220
|
+
frictionlessReason: FrictionlessReason.BOT_SCORE_ABOVE_THRESHOLD,
|
|
221
|
+
ruleType: ["ja4Hash"],
|
|
222
|
+
webView: false,
|
|
223
|
+
iFrame: true,
|
|
224
|
+
});
|
|
225
|
+
expect(result.decision).toBe(DecisionMachineDecision.Deny);
|
|
226
|
+
expect(result.tags).toEqual([
|
|
227
|
+
"score:1.2",
|
|
228
|
+
"threshold:0.27",
|
|
229
|
+
"sc.base:1",
|
|
230
|
+
"sc.unverifiedHost:0.2",
|
|
231
|
+
"sc.dnsAsymmetry:0.5",
|
|
232
|
+
`headHash:${"0".repeat(128)}`,
|
|
233
|
+
"userSitekeyIpHash:abc123",
|
|
234
|
+
"providerSelectEntropy:891",
|
|
235
|
+
"simdSupported:true",
|
|
236
|
+
`frictionlessReason:${FrictionlessReason.BOT_SCORE_ABOVE_THRESHOLD}`,
|
|
237
|
+
"ruleType:ja4Hash",
|
|
238
|
+
"webView:false",
|
|
239
|
+
"iFrame:true",
|
|
240
|
+
]);
|
|
241
|
+
});
|
|
242
|
+
it("treats omitted session fields as undefined", async () => {
|
|
243
|
+
const artifact = buildArtifact(`module.exports = (input) => ({
|
|
244
|
+
decision: input.score === undefined ? "allow" : "deny",
|
|
245
|
+
reason: "min",
|
|
246
|
+
});`, DecisionMachineScope.Global);
|
|
247
|
+
db.getDecisionMachineArtifact
|
|
248
|
+
.mockResolvedValueOnce(undefined)
|
|
249
|
+
.mockResolvedValueOnce(artifact);
|
|
250
|
+
const result = await runner.decide({
|
|
251
|
+
userAccount: "user",
|
|
252
|
+
dappAccount: "dapp",
|
|
253
|
+
captchaResult: "passed",
|
|
254
|
+
headers: {},
|
|
255
|
+
});
|
|
256
|
+
expect(result.decision).toBe(DecisionMachineDecision.Allow);
|
|
257
|
+
});
|
|
170
258
|
describe("route", () => {
|
|
171
259
|
it("returns undefined when no artifact is configured", async () => {
|
|
172
260
|
db.getDecisionMachineArtifact
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachineRunner.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decisionMachineRunner.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { u8aToHex } from "@polkadot/util";
|
|
|
2
2
|
import { ProsopoEnvError } from "@prosopo/common";
|
|
3
3
|
import { compareCaptchaSolutions, computePendingRequestHash, parseAndSortCaptchaSolutions, } from "@prosopo/datasets";
|
|
4
4
|
import { getLogger } from "@prosopo/logger";
|
|
5
|
-
import { CaptchaStatus, IpAddressType, } from "@prosopo/types";
|
|
5
|
+
import { CaptchaStatus, CaptchaType, FrictionlessReason, IpAddressType, } from "@prosopo/types";
|
|
6
6
|
import { getIPAddress } from "@prosopo/util";
|
|
7
7
|
import { randomAsHex, signatureVerify } from "@prosopo/util-crypto";
|
|
8
8
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
@@ -584,6 +584,101 @@ describe("ImgCaptchaManager", () => {
|
|
|
584
584
|
}), expect.any(Object));
|
|
585
585
|
imgCaptchaManager.decisionMachineRunner.decide = originalDecide;
|
|
586
586
|
});
|
|
587
|
+
it("forwards every session-derived field into the decide() input", async () => {
|
|
588
|
+
const userAccount = "userAccount";
|
|
589
|
+
const dappAccount = "dappAccount";
|
|
590
|
+
const commitmentId = "commitmentId-fields";
|
|
591
|
+
const ipAddress = getIPAddress("1.1.1.1");
|
|
592
|
+
const headers = { a: "1" };
|
|
593
|
+
const sessionId = "session-fields";
|
|
594
|
+
const commitment = {
|
|
595
|
+
id: commitmentId,
|
|
596
|
+
userAccount,
|
|
597
|
+
dappAccount,
|
|
598
|
+
providerAccount: "providerAccount",
|
|
599
|
+
datasetId: "datasetId",
|
|
600
|
+
result: { status: CaptchaStatus.approved },
|
|
601
|
+
userSignature: "",
|
|
602
|
+
userSubmitted: true,
|
|
603
|
+
serverChecked: false,
|
|
604
|
+
requestedAtTimestamp: new Date(),
|
|
605
|
+
submittedAtTimestamp: new Date(),
|
|
606
|
+
ipAddress: {
|
|
607
|
+
lower: ipAddress.bigInt(),
|
|
608
|
+
upper: 0n,
|
|
609
|
+
type: IpAddressType.v4,
|
|
610
|
+
},
|
|
611
|
+
headers,
|
|
612
|
+
ja4: "ja4",
|
|
613
|
+
lastUpdatedTimestamp: new Date(),
|
|
614
|
+
sessionId,
|
|
615
|
+
};
|
|
616
|
+
const sessionRecord = {
|
|
617
|
+
sessionId,
|
|
618
|
+
createdAt: new Date(),
|
|
619
|
+
token: "test-token",
|
|
620
|
+
score: 0.42,
|
|
621
|
+
threshold: 0.27,
|
|
622
|
+
scoreComponents: {
|
|
623
|
+
baseScore: 1,
|
|
624
|
+
unverifiedHost: 0.2,
|
|
625
|
+
dnsAsymmetry: 0.5,
|
|
626
|
+
triggeredDetectors: [27],
|
|
627
|
+
shadowDomPenalty: false,
|
|
628
|
+
},
|
|
629
|
+
providerSelectEntropy: 891,
|
|
630
|
+
ipAddress: {
|
|
631
|
+
lower: ipAddress.bigInt(),
|
|
632
|
+
upper: 0n,
|
|
633
|
+
type: IpAddressType.v4,
|
|
634
|
+
},
|
|
635
|
+
captchaType: CaptchaType.image,
|
|
636
|
+
webView: false,
|
|
637
|
+
iFrame: true,
|
|
638
|
+
decryptedHeadHash: "h".repeat(16),
|
|
639
|
+
userSitekeyIpHash: "ush",
|
|
640
|
+
reason: FrictionlessReason.BOT_SCORE_ABOVE_THRESHOLD,
|
|
641
|
+
ruleType: ["ja4Hash"],
|
|
642
|
+
simdReadings: {
|
|
643
|
+
supported: true,
|
|
644
|
+
schema: 1,
|
|
645
|
+
timerResolutionMs: 0.1,
|
|
646
|
+
runsPerOp: 3,
|
|
647
|
+
durationMs: 200,
|
|
648
|
+
ops: [],
|
|
649
|
+
},
|
|
650
|
+
};
|
|
651
|
+
db.getDappUserCommitmentById.mockResolvedValue(commitment);
|
|
652
|
+
db.getSessionRecordBySessionId = vi
|
|
653
|
+
.fn()
|
|
654
|
+
.mockResolvedValue(sessionRecord);
|
|
655
|
+
const originalDecide = imgCaptchaManager.decisionMachineRunner.decide;
|
|
656
|
+
const decideSpy = vi
|
|
657
|
+
.fn()
|
|
658
|
+
.mockResolvedValue({ decision: "allow" });
|
|
659
|
+
imgCaptchaManager.decisionMachineRunner.decide = decideSpy;
|
|
660
|
+
try {
|
|
661
|
+
await imgCaptchaManager.verifyImageCaptchaSolution(userAccount, dappAccount, commitmentId, mockEnv);
|
|
662
|
+
expect(decideSpy).toHaveBeenCalledOnce();
|
|
663
|
+
const input = decideSpy.mock.calls[0]?.[0];
|
|
664
|
+
expect(input.captchaType).toBe(CaptchaType.image);
|
|
665
|
+
expect(input.threshold).toBe(sessionRecord.threshold);
|
|
666
|
+
expect(input.scoreComponents).toEqual(sessionRecord.scoreComponents);
|
|
667
|
+
expect(input.decryptedHeadHash).toBe(sessionRecord.decryptedHeadHash);
|
|
668
|
+
expect(input.userSitekeyIpHash).toBe(sessionRecord.userSitekeyIpHash);
|
|
669
|
+
expect(input.providerSelectEntropy).toBe(sessionRecord.providerSelectEntropy);
|
|
670
|
+
expect(input.simdReadings).toEqual(sessionRecord.simdReadings);
|
|
671
|
+
expect(input.frictionlessReason).toBe(sessionRecord.reason);
|
|
672
|
+
expect(input.ruleType).toEqual(sessionRecord.ruleType);
|
|
673
|
+
expect(input.webView).toBe(sessionRecord.webView);
|
|
674
|
+
expect(input.iFrame).toBe(sessionRecord.iFrame);
|
|
675
|
+
expect(typeof input.score).toBe("number");
|
|
676
|
+
}
|
|
677
|
+
finally {
|
|
678
|
+
imgCaptchaManager.decisionMachineRunner.decide =
|
|
679
|
+
originalDecide;
|
|
680
|
+
}
|
|
681
|
+
});
|
|
587
682
|
});
|
|
588
683
|
describe("session result tracking for verifyImageCaptchaSolution", () => {
|
|
589
684
|
const ipAddress = getIPAddress("1.1.1.1");
|