@prosopo/provider 4.11.4 → 4.11.6
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 +53 -2
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -1
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.d.ts.map +1 -1
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js +8 -2
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.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/admin/apiUpdateDecisionMachineEndpoint.cjs +8 -2
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +47 -41
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +18 -2
- package/dist/cjs/tasks/client/clientTasks.cjs +5 -1
- package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +41 -17
- 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 +12 -1
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +12 -1
- package/dist/tasks/client/clientTasks.d.ts +5 -2
- package/dist/tasks/client/clientTasks.d.ts.map +1 -1
- package/dist/tasks/client/clientTasks.js +5 -1
- package/dist/tasks/client/clientTasks.js.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js +42 -18
- package/dist/tasks/decisionMachine/decisionMachineRunner.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 +12 -1
- 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 +12 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +15 -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 +96 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +66 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.11.
|
|
2
|
+
> @prosopo/provider@4.11.6 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -83,7 +83,6 @@ rendering chunks...
|
|
|
83
83
|
[2mdist/cjs/[22m[36mapi/headerCheckMiddleware.cjs [39m[1m[2m 1.07 kB[22m[1m[22m
|
|
84
84
|
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs [39m[1m[2m 1.09 kB[22m[1m[22m
|
|
85
85
|
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasksUtils.cjs [39m[1m[2m 1.11 kB[22m[1m[22m
|
|
86
|
-
[2mdist/cjs/[22m[36mtasks/detection/getBotScore.cjs [39m[1m[2m 1.21 kB[22m[1m[22m
|
|
87
86
|
[2mdist/cjs/[22m[36mschedulers/getClientList.cjs [39m[1m[2m 1.21 kB[22m[1m[22m
|
|
88
87
|
[2mdist/cjs/[22m[36mschedulers/setClientEntropy.cjs [39m[1m[2m 1.24 kB[22m[1m[22m
|
|
89
88
|
[2mdist/cjs/[22m[36mschedulers/captchaScheduler.cjs [39m[1m[2m 1.28 kB[22m[1m[22m
|
|
@@ -98,16 +97,17 @@ rendering chunks...
|
|
|
98
97
|
[2mdist/cjs/[22m[36mapi/admin/apiRemoveSiteKeysEndpoint.cjs [39m[1m[2m 1.48 kB[22m[1m[22m
|
|
99
98
|
[2mdist/cjs/[22m[36mtasks/dataset/datasetTasksUtils.cjs [39m[1m[2m 1.50 kB[22m[1m[22m
|
|
100
99
|
[2mdist/cjs/[22m[36mapi/admin/apiGetAllDecisionMachinesEndpoint.cjs [39m[1m[2m 1.57 kB[22m[1m[22m
|
|
100
|
+
[2mdist/cjs/[22m[36mtasks/detection/getBotScore.cjs [39m[1m[2m 1.60 kB[22m[1m[22m
|
|
101
101
|
[2mdist/cjs/[22m[36mcompositeIpAddress.cjs [39m[1m[2m 1.64 kB[22m[1m[22m
|
|
102
102
|
[2mdist/cjs/[22m[36mschedulers/updateSpamEmailDomains.cjs [39m[1m[2m 1.65 kB[22m[1m[22m
|
|
103
103
|
[2mdist/cjs/[22m[36mutils/honeypot/phraseBank.cjs [39m[1m[2m 1.71 kB[22m[1m[22m
|
|
104
104
|
[2mdist/cjs/[22m[36mapi/admin/apiToggleMaintenanceModeEndpoint.cjs [39m[1m[2m 1.72 kB[22m[1m[22m
|
|
105
105
|
[2mdist/cjs/[22m[36mapi/public.cjs [39m[1m[2m 1.74 kB[22m[1m[22m
|
|
106
106
|
[2mdist/cjs/[22m[36mapi/admin/apiClearAllCountersEndpoint.cjs [39m[1m[2m 1.78 kB[22m[1m[22m
|
|
107
|
-
[2mdist/cjs/[22m[36mapi/admin/apiUpdateDecisionMachineEndpoint.cjs [39m[1m[2m 1.79 kB[22m[1m[22m
|
|
108
107
|
[2mdist/cjs/[22m[36mutils/honeypot/encoders.cjs [39m[1m[2m 1.82 kB[22m[1m[22m
|
|
109
108
|
[2mdist/cjs/[22m[36mapi/admin/apiRemoveDetectorKeyEndpoint.cjs [39m[1m[2m 1.84 kB[22m[1m[22m
|
|
110
109
|
[2mdist/cjs/[22m[36mtasks/frictionless/routingMachine.cjs [39m[1m[2m 1.86 kB[22m[1m[22m
|
|
110
|
+
[2mdist/cjs/[22m[36mapi/admin/apiUpdateDecisionMachineEndpoint.cjs [39m[1m[2m 1.91 kB[22m[1m[22m
|
|
111
111
|
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs [39m[1m[2m 2.11 kB[22m[1m[22m
|
|
112
112
|
[2mdist/cjs/[22m[36mtasks/spam/updateSpamEmailDomains.cjs [39m[1m[2m 2.13 kB[22m[1m[22m
|
|
113
113
|
[2mdist/cjs/[22m[36mtasks/dnsEvent/enrichDnsEvent.cjs [39m[1m[2m 2.16 kB[22m[1m[22m
|
|
@@ -134,22 +134,22 @@ rendering chunks...
|
|
|
134
134
|
[2mdist/cjs/[22m[36mapi/captcha/getPoWCaptchaChallenge.cjs [39m[1m[2m 6.23 kB[22m[1m[22m
|
|
135
135
|
[2mdist/cjs/[22m[36mapi/captcha/getPuzzleCaptchaChallenge.cjs [39m[1m[2m 6.42 kB[22m[1m[22m
|
|
136
136
|
[2mdist/cjs/[22m[36mapi/startProviderApi.cjs [39m[1m[2m 9.53 kB[22m[1m[22m
|
|
137
|
-
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs [39m[1m[2m 9.
|
|
138
|
-
[2mdist/cjs/[22m[36mtasks/decisionMachine/decisionMachineRunner.cjs [39m[1m[2m10.19 kB[22m[1m[22m
|
|
139
|
-
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.20 kB[22m[1m[22m
|
|
137
|
+
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs [39m[1m[2m 9.70 kB[22m[1m[22m
|
|
140
138
|
[2mdist/cjs/[22m[36mapi/blacklistRequestInspector.cjs [39m[1m[2m10.45 kB[22m[1m[22m
|
|
139
|
+
[2mdist/cjs/[22m[36mtasks/decisionMachine/decisionMachineRunner.cjs [39m[1m[2m10.59 kB[22m[1m[22m
|
|
140
|
+
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.70 kB[22m[1m[22m
|
|
141
141
|
[2mdist/cjs/[22m[36mapi/verify.cjs [39m[1m[2m10.86 kB[22m[1m[22m
|
|
142
142
|
[2mdist/cjs/[22m[36mutil.cjs [39m[1m[2m12.59 kB[22m[1m[22m
|
|
143
|
-
[2mdist/cjs/[22m[36mtasks/client/clientTasks.cjs [39m[1m[2m15.
|
|
144
|
-
[2mdist/cjs/[22m[36mtasks/frictionless/frictionlessTasks.cjs [39m[1m[2m16.20 kB[22m[1m[22m
|
|
143
|
+
[2mdist/cjs/[22m[36mtasks/client/clientTasks.cjs [39m[1m[2m15.71 kB[22m[1m[22m
|
|
145
144
|
[2mdist/cjs/[22m[36mtasks/captchaManager.cjs [39m[1m[2m16.42 kB[22m[1m[22m
|
|
145
|
+
[2mdist/cjs/[22m[36mtasks/frictionless/frictionlessTasks.cjs [39m[1m[2m17.71 kB[22m[1m[22m
|
|
146
146
|
[2mdist/cjs/[22m[36mtasks/detection/decodeBehavior.cjs [39m[1m[2m19.16 kB[22m[1m[22m
|
|
147
|
-
[2mdist/cjs/[22m[36mtasks/puzzleCaptcha/puzzleTasks.cjs [39m[1m[2m21.24 kB[22m[1m[22m
|
|
148
147
|
[2mdist/cjs/[22m[36mtasks/detection/decodeSimd.cjs [39m[1m[2m21.53 kB[22m[1m[22m
|
|
149
|
-
[2mdist/cjs/[22m[36mtasks/
|
|
150
|
-
[2mdist/cjs/[22m[36mtasks/
|
|
148
|
+
[2mdist/cjs/[22m[36mtasks/puzzleCaptcha/puzzleTasks.cjs [39m[1m[2m21.77 kB[22m[1m[22m
|
|
149
|
+
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasks.cjs [39m[1m[2m24.22 kB[22m[1m[22m
|
|
150
|
+
[2mdist/cjs/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.cjs [39m[1m[2m29.01 kB[22m[1m[22m
|
|
151
151
|
[2mdist/cjs/[22m[36mtasks/detection/decodePayload.cjs [39m[1m[2m29.94 kB[22m[1m[22m
|
|
152
|
-
[32m✓ built in
|
|
152
|
+
[32m✓ built in 759ms[39m
|
|
153
153
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
|
|
154
154
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
|
|
155
155
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.11.
|
|
2
|
+
> @prosopo/provider@4.11.6 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1:02:22 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -25,47 +25,47 @@
|
|
|
25
25
|
* ../load-balancer/tsconfig.json
|
|
26
26
|
* tsconfig.json
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
1:02:22 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
1:02:22 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
1:02:22 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
1:02:22 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
1:02:22 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
1:02:22 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
1:02:22 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
1:02:22 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/objectUtils.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
1:02:22 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
1:02:22 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
1:02:23 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
1:02:23 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/rule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
1:02:23 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/bannedDomain.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
1:02:23 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/databases/centralDbStreamer.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
1:02:23 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
1:02:23 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
1:02:23 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
1:02:23 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/apiExpressRouterFactory.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
1:02:23 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
1:02:23 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
1:02:23 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
1:02:23 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
71
71
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.11.
|
|
2
|
+
> @prosopo/provider@4.11.6 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/provider@4.11.
|
|
6
|
+
> @prosopo/provider@4.11.6 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -89,7 +89,6 @@ rendering chunks...
|
|
|
89
89
|
[2mdist/[22m[36mapi/admin/apiRemoveSiteKeyEndpoint.js [39m[1m[2m 1.00 kB[22m[1m[22m
|
|
90
90
|
[2mdist/[22m[36mapi/admin/apiRemoveSiteKeysEndpoint.js [39m[1m[2m 1.00 kB[22m[1m[22m
|
|
91
91
|
[2mdist/[22m[36mapi/admin/apiRegisterSiteKeysEndpoint.js [39m[1m[2m 1.01 kB[22m[1m[22m
|
|
92
|
-
[2mdist/[22m[36mtasks/detection/getBotScore.js [39m[1m[2m 1.09 kB[22m[1m[22m
|
|
93
92
|
[2mdist/[22m[36mapi/admin/apiRemoveDetectorKeyEndpoint.js [39m[1m[2m 1.09 kB[22m[1m[22m
|
|
94
93
|
[2mdist/[22m[36mschedulers/getClientList.js [39m[1m[2m 1.10 kB[22m[1m[22m
|
|
95
94
|
[2mdist/[22m[36mschedulers/setClientEntropy.js [39m[1m[2m 1.13 kB[22m[1m[22m
|
|
@@ -103,14 +102,15 @@ rendering chunks...
|
|
|
103
102
|
[2mdist/[22m[36mtasks/dataset/datasetTasksUtils.js [39m[1m[2m 1.36 kB[22m[1m[22m
|
|
104
103
|
[2mdist/[22m[36mapi/admin/apiGetAllDecisionMachinesEndpoint.js [39m[1m[2m 1.43 kB[22m[1m[22m
|
|
105
104
|
[2mdist/[22m[36mcompositeIpAddress.js [39m[1m[2m 1.44 kB[22m[1m[22m
|
|
105
|
+
[2mdist/[22m[36mtasks/detection/getBotScore.js [39m[1m[2m 1.49 kB[22m[1m[22m
|
|
106
106
|
[2mdist/[22m[36mschedulers/updateSpamEmailDomains.js [39m[1m[2m 1.50 kB[22m[1m[22m
|
|
107
107
|
[2mdist/[22m[36mutils/honeypot/phraseBank.js [39m[1m[2m 1.57 kB[22m[1m[22m
|
|
108
108
|
[2mdist/[22m[36mapi/public.js [39m[1m[2m 1.60 kB[22m[1m[22m
|
|
109
109
|
[2mdist/[22m[36mapi/admin/apiClearAllCountersEndpoint.js [39m[1m[2m 1.66 kB[22m[1m[22m
|
|
110
|
-
[2mdist/[22m[36mapi/admin/apiUpdateDecisionMachineEndpoint.js [39m[1m[2m 1.67 kB[22m[1m[22m
|
|
111
110
|
[2mdist/[22m[36mutils/honeypot/encoders.js [39m[1m[2m 1.71 kB[22m[1m[22m
|
|
112
111
|
[2mdist/[22m[36mtasks/frictionless/routingMachine.js [39m[1m[2m 1.76 kB[22m[1m[22m
|
|
113
112
|
[2mdist/[22m[36mapi/captcha/maintenanceModeResponses.js [39m[1m[2m 1.78 kB[22m[1m[22m
|
|
113
|
+
[2mdist/[22m[36mapi/admin/apiUpdateDecisionMachineEndpoint.js [39m[1m[2m 1.79 kB[22m[1m[22m
|
|
114
114
|
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js [39m[1m[2m 1.95 kB[22m[1m[22m
|
|
115
115
|
[2mdist/[22m[36mtasks/dnsEvent/enrichDnsEvent.js [39m[1m[2m 1.97 kB[22m[1m[22m
|
|
116
116
|
[2mdist/[22m[36mtasks/spam/updateSpamEmailDomains.js [39m[1m[2m 2.03 kB[22m[1m[22m
|
|
@@ -136,22 +136,22 @@ rendering chunks...
|
|
|
136
136
|
[2mdist/[22m[36mapi/captcha/getPoWCaptchaChallenge.js [39m[1m[2m 6.00 kB[22m[1m[22m
|
|
137
137
|
[2mdist/[22m[36mapi/captcha/getPuzzleCaptchaChallenge.js [39m[1m[2m 6.17 kB[22m[1m[22m
|
|
138
138
|
[2mdist/[22m[36mapi/startProviderApi.js [39m[1m[2m 7.65 kB[22m[1m[22m
|
|
139
|
-
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js [39m[1m[2m 9.
|
|
140
|
-
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m 9.87 kB[22m[1m[22m
|
|
141
|
-
[2mdist/[22m[36mtasks/decisionMachine/decisionMachineRunner.js [39m[1m[2m10.14 kB[22m[1m[22m
|
|
139
|
+
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js [39m[1m[2m 9.33 kB[22m[1m[22m
|
|
142
140
|
[2mdist/[22m[36mapi/blacklistRequestInspector.js [39m[1m[2m10.21 kB[22m[1m[22m
|
|
141
|
+
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m10.37 kB[22m[1m[22m
|
|
143
142
|
[2mdist/[22m[36mapi/verify.js [39m[1m[2m10.44 kB[22m[1m[22m
|
|
143
|
+
[2mdist/[22m[36mtasks/decisionMachine/decisionMachineRunner.js [39m[1m[2m10.54 kB[22m[1m[22m
|
|
144
144
|
[2mdist/[22m[36mutil.js [39m[1m[2m12.17 kB[22m[1m[22m
|
|
145
|
-
[2mdist/[22m[36mtasks/client/clientTasks.js [39m[1m[2m15.
|
|
145
|
+
[2mdist/[22m[36mtasks/client/clientTasks.js [39m[1m[2m15.45 kB[22m[1m[22m
|
|
146
146
|
[2mdist/[22m[36mtasks/captchaManager.js [39m[1m[2m15.77 kB[22m[1m[22m
|
|
147
|
-
[2mdist/[22m[36mtasks/frictionless/frictionlessTasks.js [39m[1m[
|
|
147
|
+
[2mdist/[22m[36mtasks/frictionless/frictionlessTasks.js [39m[1m[2m17.40 kB[22m[1m[22m
|
|
148
148
|
[2mdist/[22m[36mtasks/detection/decodeBehavior.js [39m[1m[2m19.02 kB[22m[1m[22m
|
|
149
|
-
[2mdist/[22m[36mtasks/puzzleCaptcha/puzzleTasks.js [39m[1m[2m20.93 kB[22m[1m[22m
|
|
150
149
|
[2mdist/[22m[36mtasks/detection/decodeSimd.js [39m[1m[2m21.39 kB[22m[1m[22m
|
|
151
|
-
[2mdist/[22m[36mtasks/
|
|
152
|
-
[2mdist/[22m[36mtasks/
|
|
150
|
+
[2mdist/[22m[36mtasks/puzzleCaptcha/puzzleTasks.js [39m[1m[2m21.46 kB[22m[1m[22m
|
|
151
|
+
[2mdist/[22m[36mtasks/powCaptcha/powTasks.js [39m[1m[2m23.82 kB[22m[1m[22m
|
|
152
|
+
[2mdist/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.js [39m[1m[2m28.58 kB[22m[1m[22m
|
|
153
153
|
[2mdist/[22m[36mtasks/detection/decodePayload.js [39m[1m[2m29.92 kB[22m[1m[22m
|
|
154
|
-
[32m✓ built in 1.
|
|
154
|
+
[32m✓ built in 1.41s[39m
|
|
155
155
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
|
|
156
156
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
|
|
157
157
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 4.11.6
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- bb98af1: Add `DecisionMachineKind` (`routing` | `decision`) to separate routing and decision artifacts on the same provider.
|
|
7
|
+
|
|
8
|
+
- New `DecisionMachineKind` enum in `@prosopo/types`.
|
|
9
|
+
- `DecisionMachineArtifact` and the Mongoose `DecisionMachineArtifactRecordSchema` gain an optional `kind` field; the unique compound index becomes `(scope, dappAccount, kind)` so a routing machine and a decision machine can coexist for the same scope/dapp.
|
|
10
|
+
- `ProviderApi.updateDecisionMachine` accepts an optional `kind` 10th arg; the `apiUpdateDecisionMachineEndpoint` admin handler reads `decisionMachineKind` from the request body and forwards it.
|
|
11
|
+
- `ClientTaskManager.updateDecisionMachine` and the artifact-listing returns include `kind`.
|
|
12
|
+
- `ProviderDatabase.getDecisionMachineArtifact` filters by `kind` when supplied; `upsertDecisionMachineArtifact` defaults missing `kind` to `Routing` for backward compatibility on existing rows.
|
|
13
|
+
- `DecisionMachineRunner` keys its in-memory cache by `(scope, kind, dappAccount)` and selects the appropriate artifact for `runDecisionMachine` (kind=`decision`), `runRoutingMachine` (kind=`routing`) and `runCounterMachine` (kind=`routing`).
|
|
14
|
+
- `DecisionMachineArtifactRecordSchema.captchaType` enum now includes `CaptchaType.puzzle` alongside `pow`/`image`.
|
|
15
|
+
- d50e7d8: chore(deps-dev): bump undici from 5.29.0 to 6.27.0
|
|
16
|
+
- 77b7c66: chore(deps-dev): bump undici from 5.29.0 to 6.27.0 in /packages/provider
|
|
17
|
+
- Updated dependencies [bb98af1]
|
|
18
|
+
- @prosopo/types@4.7.4
|
|
19
|
+
- @prosopo/types-database@4.10.7
|
|
20
|
+
- @prosopo/database@3.14.7
|
|
21
|
+
- @prosopo/api@3.5.4
|
|
22
|
+
- @prosopo/api-express-router@3.1.30
|
|
23
|
+
- @prosopo/datasets@3.1.39
|
|
24
|
+
- @prosopo/env@3.5.20
|
|
25
|
+
- @prosopo/ipinfo@0.2.25
|
|
26
|
+
- @prosopo/keyring@2.9.45
|
|
27
|
+
- @prosopo/load-balancer@2.9.21
|
|
28
|
+
- @prosopo/types-env@2.9.29
|
|
29
|
+
- @prosopo/user-access-policy@3.10.7
|
|
30
|
+
|
|
31
|
+
## 4.11.5
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- 89ab6fc: Extend verify-phase `DecisionMachineInput` with the session-derived fields the internal scorer/router already uses: `score`, `threshold`, `scoreComponents`, `decryptedHeadHash`, `userSitekeyIpHash`, `providerSelectEntropy`, `simdReadings`, `frictionlessReason`, `ruleType`, `webView`, `iFrame`. All fields are optional; existing decision-machine artifacts continue to work. Populates the new fields from `sessionRecord` at the three verify call sites (`powTasks`, `imgCaptchaTasks`, `puzzleTasks`).
|
|
35
|
+
|
|
36
|
+
Also move the `autoBanScoreThreshold` check in `runDecisionMachine` to after all score-based penalties (webView, oldTimestamp, unverifiedHost) are applied. Previously the check ran against the pre-penalty score (`baseBotScore + lScore`), meaning thresholds above 1.0 were unreachable for clients whose detector saturates at 1.0 even when the post-penalty sum (the value the bot-score-above-threshold branch sees) comfortably exceeded the operator-set threshold. The check now operates on the full scored sum, matching the semantic operators expect from an "auto-ban threshold" knob. UA-mismatch and context-aware short-circuits still run first since neither touches the score.
|
|
37
|
+
- 0f3750b: Add optional `entropyMathRandomFingerprint`, `entropyCryptoFingerprint`, `entropyWallClockOffsetMs` and `entropyMathRandomFirst` fields on `Session` (Zod + Mongoose) and the frictionless `decryptPayload` → `setSessionParams` → `createSession` chain. Sparse compound index `{ siteKey, entropyMathRandomFingerprint, createdAt: -1 }` for query support.
|
|
38
|
+
- 281c62a: Convert the `clientSettingsPersistence` integration test's `trafficFilter` assertion from a single `toMatchObject` to per-field `expect` calls. Matches the convention already used for top-level settings fields so a future regression that drops one of the trafficFilter sub-fields will surface the specific field name in the failure rather than dumping the whole nested object diff.
|
|
39
|
+
- Updated dependencies [89ab6fc]
|
|
40
|
+
- Updated dependencies [0f3750b]
|
|
41
|
+
- @prosopo/types@4.7.3
|
|
42
|
+
- @prosopo/types-database@4.10.6
|
|
43
|
+
- @prosopo/api@3.5.3
|
|
44
|
+
- @prosopo/api-express-router@3.1.29
|
|
45
|
+
- @prosopo/database@3.14.6
|
|
46
|
+
- @prosopo/datasets@3.1.38
|
|
47
|
+
- @prosopo/env@3.5.19
|
|
48
|
+
- @prosopo/ipinfo@0.2.24
|
|
49
|
+
- @prosopo/keyring@2.9.44
|
|
50
|
+
- @prosopo/load-balancer@2.9.20
|
|
51
|
+
- @prosopo/types-env@2.9.28
|
|
52
|
+
- @prosopo/user-access-policy@3.10.6
|
|
53
|
+
|
|
3
54
|
## 4.11.4
|
|
4
55
|
### Patch Changes
|
|
5
56
|
|
|
@@ -216,11 +267,11 @@
|
|
|
216
267
|
|
|
217
268
|
The dapp-verify recency check used to be `now - challengeTimestamp <= timeout`. The window was issuance→verify, which gave bots room to stockpile pre-solved solutions and redeem them many seconds (sometimes minutes) later from the time they reached the provider.
|
|
218
269
|
|
|
219
|
-
The check is now `now - challengeRecord.submittedAtTimestamp <= clientSettings.verifiedTimeout`. The window measures from the moment the user's solution actually arrived. Combined with the new lifecycle fields, this
|
|
270
|
+
The check is now `now - challengeRecord.submittedAtTimestamp <= clientSettings.verifiedTimeout`. The window measures from the moment the user's solution actually arrived. Combined with the new lifecycle fields, this tightens the stockpile attack surface.
|
|
220
271
|
|
|
221
272
|
### Settings move
|
|
222
273
|
|
|
223
|
-
`verifiedTimeout` moves to `ClientSettingsSchema` (per-client, operator-set via the portal). Default stays at 120000ms for back-compat; auto-submit dapps
|
|
274
|
+
`verifiedTimeout` moves to `ClientSettingsSchema` (per-client, operator-set via the portal). Default stays at 120000ms for back-compat; auto-submit dapps should set it to ~10000ms.
|
|
224
275
|
|
|
225
276
|
Removed from request bodies entirely:
|
|
226
277
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiRemoveDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAElE,cAAM,4BACL,YAAW,WAAW,CAAC,yBAAyB,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA0BxB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"apiRemoveDetectorKeyEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiRemoveDetectorKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAElE,cAAM,4BACL,YAAW,WAAW,CAAC,yBAAyB,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,EACxC,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA0BxB,oBAAoB;qBAMotqG,EAAG,SAAS;;;;;;;;;CAH3vqG;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDecisionMachineEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDecisionMachineEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,6BAA6B,GAAG,OAAO,yBAAyB,CAAC;AAEtE,cAAM,gCACL,YAAW,WAAW,CAAC,6BAA6B,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAC5C,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"apiUpdateDecisionMachineEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDecisionMachineEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,6BAA6B,GAAG,OAAO,yBAAyB,CAAC;AAEtE,cAAM,gCACL,YAAW,WAAW,CAAC,6BAA6B,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAC5C,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IAwDxB,oBAAoB,IAAI,6BAA6B;CAG5D;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -16,11 +16,16 @@ class ApiUpdateDecisionMachineEndpoint {
|
|
|
16
16
|
decisionMachineName,
|
|
17
17
|
decisionMachineVersion,
|
|
18
18
|
decisionMachineCaptchaType,
|
|
19
|
+
decisionMachineKind,
|
|
19
20
|
dapp
|
|
20
21
|
} = args;
|
|
21
22
|
logger.info(() => ({
|
|
22
23
|
msg: "Updating decision machine",
|
|
23
|
-
data: {
|
|
24
|
+
data: {
|
|
25
|
+
decisionMachineScope,
|
|
26
|
+
dappAccount: dapp,
|
|
27
|
+
kind: decisionMachineKind
|
|
28
|
+
}
|
|
24
29
|
}));
|
|
25
30
|
const result = await this.clientTaskManager.updateDecisionMachine(
|
|
26
31
|
decisionMachineScope,
|
|
@@ -30,7 +35,8 @@ class ApiUpdateDecisionMachineEndpoint {
|
|
|
30
35
|
decisionMachineLanguage,
|
|
31
36
|
decisionMachineName,
|
|
32
37
|
decisionMachineVersion,
|
|
33
|
-
decisionMachineCaptchaType
|
|
38
|
+
decisionMachineCaptchaType,
|
|
39
|
+
decisionMachineKind
|
|
34
40
|
);
|
|
35
41
|
logger.info(() => ({
|
|
36
42
|
msg: "Decision machine updated",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiUpdateDecisionMachineEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDecisionMachineEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,MAAM,gCAAgC;IAGrC,YAAoC,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAE5E,KAAK,CAAC,cAAc,CACnB,IAA4C,EAC5C,MAAe;QAEf,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,IAAI,GACJ,GAAG,IAAI,CAAC;YAET,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,GAAG,EAAE,2BAA2B;gBAChC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"apiUpdateDecisionMachineEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiUpdateDecisionMachineEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,MAAM,gCAAgC;IAGrC,YAAoC,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAE5E,KAAK,CAAC,cAAc,CACnB,IAA4C,EAC5C,MAAe;QAEf,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,IAAI,GACJ,GAAG,IAAI,CAAC;YAET,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,GAAG,EAAE,2BAA2B;gBAChC,IAAI,EAAE;oBACL,oBAAoB;oBACpB,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,mBAAmB;iBACzB;aACD,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAChE,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,IAAI,EACJ,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,CACnB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,GAAG,EAAE,0BAA0B;gBAC/B,IAAI,EAAE,MAAM;aACZ,CAAC,CAAC,CAAC;YACJ,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;gBACzC,IAAI,EAAE,MAAM;aACZ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnB,GAAG,EAAE,iCAAiC;gBACtC,GAAG,EAAE,KAAK;aACV,CAAC,CAAC,CAAC;YACJ,OAAO;gBACN,MAAM,EAAE,yBAAyB,CAAC,IAAI;gBACtC,KAAK,EAAG,KAAyB,CAAC,OAAO;aACzC,CAAC;QACH,CAAC;IACF,CAAC;IAEM,oBAAoB;QAC1B,OAAO,yBAAyB,CAAC;IAClC,CAAC;CACD;AAED,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AASrD,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,mBAAmB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAChC,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,kBAAkB,UACvB,oBAAoB,UACnB,aAAa,KACnB,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"decisionMachine.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAeA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AASrD,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,mBAAmB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAChC,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,kBAAkB,UACvB,oBAAoB,UACnB,aAAa,KACnB,OAAO,CAAC,OAAO,CA8LjB,CAAC"}
|
|
@@ -19,6 +19,51 @@ const runDecisionMachine = async (input, handle) => {
|
|
|
19
19
|
} = input;
|
|
20
20
|
const { req, res } = handle;
|
|
21
21
|
let { botScore, scoreComponents } = input;
|
|
22
|
+
const userAgentMismatchResponse = await runUserAgentMismatchCheck(
|
|
23
|
+
input,
|
|
24
|
+
handle
|
|
25
|
+
);
|
|
26
|
+
if (userAgentMismatchResponse) return userAgentMismatchResponse;
|
|
27
|
+
const contextResponse = await runContextAwareValidation(input, handle);
|
|
28
|
+
if (contextResponse) return contextResponse;
|
|
29
|
+
const webViewTripped = clientRecord.settings.disallowWebView === true && input.webView === true;
|
|
30
|
+
if (webViewTripped) {
|
|
31
|
+
tasks.logger.info(() => ({ msg: "WebView detected" }));
|
|
32
|
+
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseWebView(
|
|
33
|
+
input.baseBotScore,
|
|
34
|
+
botScore,
|
|
35
|
+
scoreComponents
|
|
36
|
+
);
|
|
37
|
+
botScore = scoreUpdate.score;
|
|
38
|
+
scoreComponents = scoreUpdate.scoreComponents;
|
|
39
|
+
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
40
|
+
}
|
|
41
|
+
const timestampTripped = FrictionlessManager.timestampTooOld(input.timestamp);
|
|
42
|
+
if (timestampTripped) {
|
|
43
|
+
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseTimestamp(
|
|
44
|
+
input.timestamp,
|
|
45
|
+
input.baseBotScore,
|
|
46
|
+
botScore,
|
|
47
|
+
scoreComponents
|
|
48
|
+
);
|
|
49
|
+
botScore = scoreUpdate.score;
|
|
50
|
+
scoreComponents = scoreUpdate.scoreComponents;
|
|
51
|
+
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
52
|
+
}
|
|
53
|
+
const hostVerified = await tasks.frictionlessManager.hostVerified(
|
|
54
|
+
input.providerSelectEntropy
|
|
55
|
+
);
|
|
56
|
+
if (!hostVerified.verified) {
|
|
57
|
+
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseUnverifiedHost(
|
|
58
|
+
hostVerified.domain,
|
|
59
|
+
input.baseBotScore,
|
|
60
|
+
botScore,
|
|
61
|
+
scoreComponents
|
|
62
|
+
);
|
|
63
|
+
botScore = scoreUpdate.score;
|
|
64
|
+
scoreComponents = scoreUpdate.scoreComponents;
|
|
65
|
+
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
66
|
+
}
|
|
22
67
|
const autoBanThreshold = clientRecord.settings.autoBanScoreThreshold;
|
|
23
68
|
if (autoBanThreshold !== void 0 && Number(botScore) >= autoBanThreshold) {
|
|
24
69
|
req.logger.info(() => ({
|
|
@@ -41,23 +86,7 @@ const runDecisionMachine = async (input, handle) => {
|
|
|
41
86
|
});
|
|
42
87
|
return res.status(401).json({ error: "Unauthorized" });
|
|
43
88
|
}
|
|
44
|
-
|
|
45
|
-
input,
|
|
46
|
-
handle
|
|
47
|
-
);
|
|
48
|
-
if (userAgentMismatchResponse) return userAgentMismatchResponse;
|
|
49
|
-
const contextResponse = await runContextAwareValidation(input, handle);
|
|
50
|
-
if (contextResponse) return contextResponse;
|
|
51
|
-
if (clientRecord.settings.disallowWebView && input.webView) {
|
|
52
|
-
tasks.logger.info(() => ({ msg: "WebView detected" }));
|
|
53
|
-
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseWebView(
|
|
54
|
-
input.baseBotScore,
|
|
55
|
-
botScore,
|
|
56
|
-
scoreComponents
|
|
57
|
-
);
|
|
58
|
-
botScore = scoreUpdate.score;
|
|
59
|
-
scoreComponents = scoreUpdate.scoreComponents;
|
|
60
|
-
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
89
|
+
if (webViewTripped) {
|
|
61
90
|
req.logger.info(() => ({
|
|
62
91
|
msg: "Frictionless decision",
|
|
63
92
|
data: {
|
|
@@ -81,16 +110,7 @@ const runDecisionMachine = async (input, handle) => {
|
|
|
81
110
|
})
|
|
82
111
|
);
|
|
83
112
|
}
|
|
84
|
-
if (
|
|
85
|
-
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseTimestamp(
|
|
86
|
-
input.timestamp,
|
|
87
|
-
input.baseBotScore,
|
|
88
|
-
botScore,
|
|
89
|
-
scoreComponents
|
|
90
|
-
);
|
|
91
|
-
botScore = scoreUpdate.score;
|
|
92
|
-
scoreComponents = scoreUpdate.scoreComponents;
|
|
93
|
-
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
113
|
+
if (timestampTripped) {
|
|
94
114
|
req.logger.info(() => ({
|
|
95
115
|
msg: "Frictionless decision",
|
|
96
116
|
data: {
|
|
@@ -115,20 +135,6 @@ const runDecisionMachine = async (input, handle) => {
|
|
|
115
135
|
})
|
|
116
136
|
);
|
|
117
137
|
}
|
|
118
|
-
const hostVerified = await tasks.frictionlessManager.hostVerified(
|
|
119
|
-
input.providerSelectEntropy
|
|
120
|
-
);
|
|
121
|
-
if (!hostVerified.verified) {
|
|
122
|
-
const scoreUpdate = tasks.frictionlessManager.scoreIncreaseUnverifiedHost(
|
|
123
|
-
hostVerified.domain,
|
|
124
|
-
input.baseBotScore,
|
|
125
|
-
botScore,
|
|
126
|
-
scoreComponents
|
|
127
|
-
);
|
|
128
|
-
botScore = scoreUpdate.score;
|
|
129
|
-
scoreComponents = scoreUpdate.scoreComponents;
|
|
130
|
-
tasks.frictionlessManager.updateScore(botScore, scoreComponents);
|
|
131
|
-
}
|
|
132
138
|
if (Number(botScore) > input.botThreshold) {
|
|
133
139
|
req.logger.info(() => ({
|
|
134
140
|
msg: "Bot score is greater than threshold",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachine.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,WAAW,EACX,WAAW,GAIX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACN,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiCvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACtC,KAA2B,EAC3B,MAAqB,EACF,EAAE;IACrB,MAAM,EACL,KAAK,EACL,GAAG,EACH,YAAY,EACZ,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACX,MAAM,GACN,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,
|
|
1
|
+
{"version":3,"file":"decisionMachine.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAmBtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAmBtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAgYG"}
|
|
@@ -187,7 +187,11 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
187
187
|
decryptedHeadHash,
|
|
188
188
|
decryptionFailed,
|
|
189
189
|
triggeredDetectors,
|
|
190
|
-
shadowDomPenalty
|
|
190
|
+
shadowDomPenalty,
|
|
191
|
+
entropyMathRandomFingerprint,
|
|
192
|
+
entropyCryptoFingerprint,
|
|
193
|
+
entropyWallClockOffsetMs,
|
|
194
|
+
entropyMathRandomFirst
|
|
191
195
|
} = decryptedPayload;
|
|
192
196
|
req.logger.debug(() => ({
|
|
193
197
|
msg: "Decrypted payload",
|
|
@@ -232,7 +236,19 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
232
236
|
ipInfo: req.ipInfo,
|
|
233
237
|
headers: flatHeaders,
|
|
234
238
|
mode: sessionMode,
|
|
235
|
-
...decodedSimdReadings && { simdReadings: decodedSimdReadings }
|
|
239
|
+
...decodedSimdReadings && { simdReadings: decodedSimdReadings },
|
|
240
|
+
...entropyMathRandomFingerprint !== void 0 && {
|
|
241
|
+
entropyMathRandomFingerprint
|
|
242
|
+
},
|
|
243
|
+
...entropyCryptoFingerprint !== void 0 && {
|
|
244
|
+
entropyCryptoFingerprint
|
|
245
|
+
},
|
|
246
|
+
...entropyWallClockOffsetMs !== void 0 && {
|
|
247
|
+
entropyWallClockOffsetMs
|
|
248
|
+
},
|
|
249
|
+
...entropyMathRandomFirst !== void 0 && {
|
|
250
|
+
entropyMathRandomFirst
|
|
251
|
+
}
|
|
236
252
|
});
|
|
237
253
|
const ipInfoMobile = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.isMobile : void 0;
|
|
238
254
|
const safeUserAgent = userAgent ?? "";
|