@prosopo/provider 5.8.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +15 -11
- package/.turbo/turbo-build$colon$tsc.log +29 -26
- package/.turbo/turbo-build.log +19 -15
- package/CHANGELOG.md +102 -0
- package/dist/api/blacklistRequestInspector.d.ts +1 -1
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
- package/dist/api/blacklistRequestInspector.js +4 -2
- package/dist/api/blacklistRequestInspector.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +33 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js +3 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/signedAssetsResolver.d.ts +20 -0
- package/dist/api/captcha/signedAssetsResolver.d.ts.map +1 -0
- package/dist/api/captcha/signedAssetsResolver.js +53 -0
- package/dist/api/captcha/signedAssetsResolver.js.map +1 -0
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +83 -0
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/blacklistRequestInspector.cjs +4 -2
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +33 -2
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +3 -1
- package/dist/cjs/api/captcha/signedAssetsResolver.cjs +54 -0
- package/dist/cjs/api/verify.cjs +83 -0
- package/dist/cjs/tasks/detection/getBotScore.cjs +3 -1
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +90 -2
- package/dist/cjs/tasks/frictionless/ipMatch.cjs +45 -0
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +1 -1
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +1 -1
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +1 -1
- package/dist/tasks/detection/getBotScore.d.ts +2 -0
- package/dist/tasks/detection/getBotScore.d.ts.map +1 -1
- package/dist/tasks/detection/getBotScore.js +3 -1
- package/dist/tasks/detection/getBotScore.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +5 -0
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +91 -3
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/ipMatch.d.ts +3 -0
- package/dist/tasks/frictionless/ipMatch.d.ts.map +1 -0
- package/dist/tasks/frictionless/ipMatch.js +45 -0
- package/dist/tasks/frictionless/ipMatch.js.map +1 -0
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -0
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +1 -1
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +3 -1
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +2 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.d.ts +2 -0
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js +448 -0
- package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +2 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/signedAssetsResolver.unit.test.d.ts +2 -0
- package/dist/tests/unit/signedAssetsResolver.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/signedAssetsResolver.unit.test.js +77 -0
- package/dist/tests/unit/signedAssetsResolver.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +2 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.js +107 -0
- package/dist/tests/unit/tasks/frictionless/ipMatch.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +88 -1
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleMaxDifficultyMatchesLadder.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleMaxDifficultyMatchesLadder.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleMaxDifficultyMatchesLadder.unit.test.js +16 -0
- package/dist/tests/unit/tasks/puzzleMaxDifficultyMatchesLadder.unit.test.js.map +1 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js.map +1 -1
- package/package.json +16 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.
|
|
2
|
+
> @prosopo/provider@5.9.0 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -25,7 +25,8 @@ ViteCommonJSConfig: .
|
|
|
25
25
|
'/home/runner/work/captcha/captcha/packages/captcha-severity/tsconfig.json',
|
|
26
26
|
'/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
|
|
27
27
|
'/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
|
|
28
|
-
'/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json'
|
|
28
|
+
'/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json',
|
|
29
|
+
'/home/runner/work/captcha/captcha/packages/web-bot-auth/tsconfig.json'
|
|
29
30
|
]
|
|
30
31
|
}
|
|
31
32
|
{
|
|
@@ -50,14 +51,15 @@ ViteCommonJSConfig: .
|
|
|
50
51
|
'@prosopo/captcha-severity',
|
|
51
52
|
'@prosopo/datasets',
|
|
52
53
|
'@prosopo/load-balancer',
|
|
53
|
-
'@prosopo/puzzle-assets'
|
|
54
|
+
'@prosopo/puzzle-assets',
|
|
55
|
+
'@prosopo/web-bot-auth'
|
|
54
56
|
]
|
|
55
57
|
}
|
|
56
58
|
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
57
59
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
58
60
|
Bundle build started
|
|
59
61
|
[2K
|
|
60
|
-
✓
|
|
62
|
+
✓ 109 modules transformed.
|
|
61
63
|
rendering chunks...
|
|
62
64
|
computing gzip size...
|
|
63
65
|
dist/cjs/tasks/index.cjs 0.08 kB │ gzip: 0.07 kB
|
|
@@ -98,7 +100,7 @@ dist/cjs/pairs.cjs 1
|
|
|
98
100
|
dist/cjs/tasks/dataset/datasetTasksUtils.cjs 1.42 kB │ gzip: 0.49 kB
|
|
99
101
|
dist/cjs/utils/clientMetaData.cjs 1.48 kB │ gzip: 0.72 kB
|
|
100
102
|
dist/cjs/compositeIpAddress.cjs 1.55 kB │ gzip: 0.57 kB
|
|
101
|
-
dist/cjs/tasks/detection/getBotScore.cjs 1.
|
|
103
|
+
dist/cjs/tasks/detection/getBotScore.cjs 1.58 kB │ gzip: 0.55 kB
|
|
102
104
|
dist/cjs/api/admin/apiGetAllDecisionMachinesEndpoint.cjs 1.59 kB │ gzip: 0.60 kB
|
|
103
105
|
dist/cjs/schedulers/updateSpamEmailDomains.cjs 1.64 kB │ gzip: 0.62 kB
|
|
104
106
|
dist/cjs/utils/honeypot/encoders.cjs 1.66 kB │ gzip: 0.67 kB
|
|
@@ -111,8 +113,10 @@ dist/cjs/api/admin/apiUpdateDecisionMachineEndpoint.cjs 1
|
|
|
111
113
|
dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs 1.80 kB │ gzip: 0.72 kB
|
|
112
114
|
dist/cjs/utils/honeypot/phraseBank.cjs 1.87 kB │ gzip: 0.91 kB
|
|
113
115
|
dist/cjs/api/handshakeTimingMiddleware.cjs 1.88 kB │ gzip: 0.71 kB
|
|
116
|
+
dist/cjs/api/captcha/signedAssetsResolver.cjs 1.96 kB │ gzip: 0.96 kB
|
|
114
117
|
dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs 2.01 kB │ gzip: 0.78 kB
|
|
115
118
|
dist/cjs/api/captcha/assignDetectorBundle.cjs 2.03 kB │ gzip: 0.86 kB
|
|
119
|
+
dist/cjs/tasks/frictionless/ipMatch.cjs 2.03 kB │ gzip: 1.03 kB
|
|
116
120
|
dist/cjs/tasks/spam/updateSpamEmailDomains.cjs 2.12 kB │ gzip: 0.85 kB
|
|
117
121
|
dist/cjs/tasks/frictionless/routingMachine.cjs 2.17 kB │ gzip: 0.91 kB
|
|
118
122
|
dist/cjs/api/public.cjs 2.18 kB │ gzip: 0.91 kB
|
|
@@ -145,7 +149,7 @@ dist/cjs/index.cjs 4
|
|
|
145
149
|
dist/cjs/tasks/tasks.cjs 5.07 kB │ gzip: 1.57 kB
|
|
146
150
|
dist/cjs/util/usageCounters.cjs 5.72 kB │ gzip: 2.03 kB
|
|
147
151
|
dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.73 kB │ gzip: 1.89 kB
|
|
148
|
-
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.
|
|
152
|
+
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.25 kB │ gzip: 2.05 kB
|
|
149
153
|
dist/cjs/tasks/spam/checkTrafficFilter.cjs 7.47 kB │ gzip: 2.48 kB
|
|
150
154
|
dist/cjs/api/metrics.cjs 7.51 kB │ gzip: 2.12 kB
|
|
151
155
|
dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs 7.56 kB │ gzip: 2.03 kB
|
|
@@ -155,12 +159,12 @@ dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10
|
|
|
155
159
|
dist/cjs/api/startProviderApi.cjs 11.62 kB │ gzip: 3.70 kB
|
|
156
160
|
dist/cjs/tasks/client/clientTasks.cjs 11.73 kB │ gzip: 3.04 kB
|
|
157
161
|
dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 12.32 kB │ gzip: 3.81 kB
|
|
158
|
-
dist/cjs/api/blacklistRequestInspector.cjs 13.
|
|
162
|
+
dist/cjs/api/blacklistRequestInspector.cjs 13.10 kB │ gzip: 4.41 kB
|
|
159
163
|
dist/cjs/util.cjs 13.33 kB │ gzip: 3.24 kB
|
|
160
|
-
dist/cjs/api/verify.cjs
|
|
161
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs
|
|
162
|
-
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 20.29 kB │ gzip: 5.36 kB
|
|
164
|
+
dist/cjs/api/verify.cjs 16.79 kB │ gzip: 2.93 kB
|
|
165
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 20.45 kB │ gzip: 4.69 kB
|
|
163
166
|
dist/cjs/tasks/captchaManager.cjs 22.43 kB │ gzip: 6.38 kB
|
|
167
|
+
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 23.95 kB │ gzip: 6.37 kB
|
|
164
168
|
dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 24.03 kB │ gzip: 5.15 kB
|
|
165
169
|
dist/cjs/tasks/powCaptcha/powTasks.cjs 24.84 kB │ gzip: 5.97 kB
|
|
166
170
|
dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 27.96 kB │ gzip: 6.37 kB
|
|
@@ -168,7 +172,7 @@ dist/cjs/tasks/detection/decodeBehavior.cjs 32
|
|
|
168
172
|
dist/cjs/tasks/detection/decodeSimd.cjs 36.03 kB │ gzip: 11.96 kB
|
|
169
173
|
dist/cjs/tasks/detection/decodePayload.cjs 49.79 kB │ gzip: 16.98 kB
|
|
170
174
|
|
|
171
|
-
[32m✓ built in
|
|
175
|
+
[32m✓ built in 173ms[39m
|
|
172
176
|
[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
|
|
173
177
|
[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
|
|
174
178
|
[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@5.
|
|
2
|
+
> @prosopo/provider@5.9.0 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
11:41:33 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -25,53 +25,56 @@
|
|
|
25
25
|
* ../datasets/tsconfig.json
|
|
26
26
|
* ../load-balancer/tsconfig.json
|
|
27
27
|
* ../puzzle-assets/tsconfig.json
|
|
28
|
+
* ../web-bot-auth/tsconfig.json
|
|
28
29
|
* tsconfig.json
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
11:41:33 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/vite.backend.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
11:41:33 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
11:41:33 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
11:41:33 AM - 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'
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
11:41:33 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
11:41:33 AM - 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'
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
11:41:33 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
11:41:33 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
11:41:33 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/types.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
11:41:33 AM - 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'
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
11:41:33 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
11:41:33 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
11:41:33 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/schemas.test.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
11:41:34 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
11:41:34 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
11:41:34 AM - 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'
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
11:41:34 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
11:41:34 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressDefaultEndpointAdapter.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
11:41:34 AM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
11:41:34 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
11:41:34 AM - 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'
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
11:41:34 AM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/types.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
11:41:34 AM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
11:41:34 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
78
|
+
|
|
79
|
+
11:41:34 AM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
77
80
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.
|
|
2
|
+
> @prosopo/provider@5.9.0 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/provider@5.
|
|
6
|
+
> @prosopo/provider@5.9.0 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -29,11 +29,11 @@ ViteEsmConfig: .
|
|
|
29
29
|
'/home/runner/work/captcha/captcha/packages/captcha-severity/tsconfig.json',
|
|
30
30
|
'/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
|
|
31
31
|
'/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
|
|
32
|
-
'/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json'
|
|
32
|
+
'/home/runner/work/captcha/captcha/packages/puzzle-assets/tsconfig.json',
|
|
33
|
+
'/home/runner/work/captcha/captcha/packages/web-bot-auth/tsconfig.json'
|
|
33
34
|
]
|
|
34
35
|
}
|
|
35
36
|
{
|
|
36
|
-
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
37
37
|
externals: [
|
|
38
38
|
'@prosopo/api-route',
|
|
39
39
|
'@prosopo/logger',
|
|
@@ -55,13 +55,15 @@ ViteEsmConfig: .
|
|
|
55
55
|
'@prosopo/captcha-severity',
|
|
56
56
|
'@prosopo/datasets',
|
|
57
57
|
'@prosopo/load-balancer',
|
|
58
|
-
'@prosopo/puzzle-assets'
|
|
58
|
+
'@prosopo/puzzle-assets',
|
|
59
|
+
'@prosopo/web-bot-auth'
|
|
59
60
|
]
|
|
60
61
|
}
|
|
62
|
+
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
61
63
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
62
64
|
Bundle build started
|
|
63
65
|
[2K
|
|
64
|
-
✓
|
|
66
|
+
✓ 109 modules transformed.
|
|
65
67
|
rendering chunks...
|
|
66
68
|
computing gzip size...
|
|
67
69
|
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
@@ -103,8 +105,8 @@ dist/tasks/dataset/datasetTasksUtils.js 1.30 k
|
|
|
103
105
|
dist/compositeIpAddress.js 1.36 kB │ gzip: 0.55 kB
|
|
104
106
|
dist/utils/clientMetaData.js 1.42 kB │ gzip: 0.72 kB
|
|
105
107
|
dist/api/admin/apiGetAllDecisionMachinesEndpoint.js 1.48 kB │ gzip: 0.57 kB
|
|
106
|
-
dist/tasks/detection/getBotScore.js 1.50 kB │ gzip: 0.54 kB
|
|
107
108
|
dist/schedulers/updateSpamEmailDomains.js 1.52 kB │ gzip: 0.60 kB
|
|
109
|
+
dist/tasks/detection/getBotScore.js 1.53 kB │ gzip: 0.54 kB
|
|
108
110
|
dist/api/admin/apiReplaceDetectorPoolEndpoint.js 1.57 kB │ gzip: 0.68 kB
|
|
109
111
|
dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js 1.57 kB │ gzip: 0.69 kB
|
|
110
112
|
dist/api/ja4Middleware.js 1.59 kB │ gzip: 0.75 kB
|
|
@@ -116,9 +118,11 @@ dist/api/admin/apiUpdateDecisionMachineEndpoint.js 1.68 k
|
|
|
116
118
|
dist/utils/honeypot/phraseBank.js 1.69 kB │ gzip: 0.84 kB
|
|
117
119
|
dist/api/handshakeTimingMiddleware.js 1.75 kB │ gzip: 0.69 kB
|
|
118
120
|
dist/tasks/spam/updateSpamEmailDomains.js 1.87 kB │ gzip: 0.77 kB
|
|
121
|
+
dist/api/captcha/signedAssetsResolver.js 1.89 kB │ gzip: 0.94 kB
|
|
119
122
|
dist/api/admin/apiClearAllCountersEndpoint.js 1.89 kB │ gzip: 0.76 kB
|
|
120
123
|
dist/api/public.js 1.90 kB │ gzip: 0.83 kB
|
|
121
124
|
dist/api/captcha/assignDetectorBundle.js 1.90 kB │ gzip: 0.84 kB
|
|
125
|
+
dist/tasks/frictionless/ipMatch.js 1.98 kB │ gzip: 1.02 kB
|
|
122
126
|
dist/migrations/frictionlessLadder.js 2.12 kB │ gzip: 0.93 kB
|
|
123
127
|
dist/tasks/puzzle/stratifiedSampler.js 2.14 kB │ gzip: 1.07 kB
|
|
124
128
|
dist/tasks/frictionless/routingMachine.js 2.16 kB │ gzip: 0.91 kB
|
|
@@ -149,7 +153,7 @@ dist/tasks/tasks.js 4.69 k
|
|
|
149
153
|
dist/tasks/dnsEvent/enrichDnsEvent.js 4.71 kB │ gzip: 1.72 kB
|
|
150
154
|
dist/util/usageCounters.js 5.65 kB │ gzip: 2.01 kB
|
|
151
155
|
dist/api/captcha/getPoWCaptchaChallenge.js 6.09 kB │ gzip: 1.83 kB
|
|
152
|
-
dist/api/captcha/getImageCaptchaChallenge.js 6.
|
|
156
|
+
dist/api/captcha/getImageCaptchaChallenge.js 6.51 kB │ gzip: 1.99 kB
|
|
153
157
|
dist/api/captcha/getPuzzleCaptchaChallenge.js 6.84 kB │ gzip: 1.97 kB
|
|
154
158
|
dist/api/metrics.js 6.96 kB │ gzip: 2.09 kB
|
|
155
159
|
dist/tasks/spam/checkTrafficFilter.js 7.16 kB │ gzip: 2.45 kB
|
|
@@ -159,20 +163,20 @@ dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 9.36 k
|
|
|
159
163
|
dist/api/startProviderApi.js 9.93 kB │ gzip: 3.42 kB
|
|
160
164
|
dist/tasks/client/clientTasks.js 11.27 kB │ gzip: 3.00 kB
|
|
161
165
|
dist/tasks/decisionMachine/decisionMachineRunner.js 11.93 kB │ gzip: 3.75 kB
|
|
162
|
-
dist/api/blacklistRequestInspector.js 12.
|
|
163
|
-
dist/api/verify.js 12.48 kB │ gzip: 2.48 kB
|
|
166
|
+
dist/api/blacklistRequestInspector.js 12.46 kB │ gzip: 4.37 kB
|
|
164
167
|
dist/util.js 12.65 kB │ gzip: 3.18 kB
|
|
165
|
-
dist/api/
|
|
166
|
-
dist/
|
|
168
|
+
dist/api/verify.js 15.12 kB │ gzip: 2.82 kB
|
|
169
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 18.93 kB │ gzip: 4.58 kB
|
|
167
170
|
dist/tasks/captchaManager.js 21.92 kB │ gzip: 6.32 kB
|
|
168
|
-
dist/tasks/puzzleCaptcha/puzzleTasks.js 22.62 kB │ gzip: 5.
|
|
171
|
+
dist/tasks/puzzleCaptcha/puzzleTasks.js 22.62 kB │ gzip: 5.10 kB
|
|
172
|
+
dist/tasks/frictionless/frictionlessTasks.js 23.37 kB │ gzip: 6.33 kB
|
|
169
173
|
dist/tasks/powCaptcha/powTasks.js 23.47 kB │ gzip: 5.93 kB
|
|
170
|
-
dist/tasks/imgCaptcha/imgCaptchaTasks.js 26.44 kB │ gzip: 6.
|
|
174
|
+
dist/tasks/imgCaptcha/imgCaptchaTasks.js 26.44 kB │ gzip: 6.31 kB
|
|
171
175
|
dist/tasks/detection/decodeBehavior.js 32.26 kB │ gzip: 10.34 kB
|
|
172
176
|
dist/tasks/detection/decodeSimd.js 36.06 kB │ gzip: 12.00 kB
|
|
173
177
|
dist/tasks/detection/decodePayload.js 49.69 kB │ gzip: 16.96 kB
|
|
174
178
|
|
|
175
|
-
[32m✓ built in
|
|
179
|
+
[32m✓ built in 139ms[39m
|
|
176
180
|
[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
|
|
177
181
|
[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
|
|
178
182
|
[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,107 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 5.9.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
- af267c2: Web Bot Auth verifier and an authenticated frictionless flow for pre-verified agents.
|
|
7
|
+
|
|
8
|
+
**`@prosopo/web-bot-auth`** — a new package: an RFC 9421 HTTP Message Signatures verifier built on `@noble/curves/ed25519`, with no Cloudflare dependency. It parses `Signature-Agent` in both its bare-string and dictionary forms, resolves the signer's JWKS at `/.well-known/http-message-signatures-directory` honouring the response's cache-control TTL, and verifies the Ed25519 signature over the RFC 9421 signature base.
|
|
9
|
+
|
|
10
|
+
**Provider fast path.** `/captcha/frictionless` returns `captchaType: authenticated` when a non-`deferToVerify` `AccessPolicyType.Allow` rule matches the request's user scope, and writes a session with `serverChecked: false`, `agent: true` and the issuing IP frozen for verify-time binding. Decrypt, bot score and the decision machine are all skipped. A verified `Signature-Agent` is one way to qualify — the userScope gains a `webBotAuthAgent` field, set only when signature verification succeeded so a rule scoped to a signer can never be matched by a spoofed header — but an IP CIDR, JA4, user agent, ASN or country rule qualifies the same way. A `Block` or `Restrict` on the same match set always wins, because severity outranks Allow.
|
|
11
|
+
|
|
12
|
+
**`/client/authenticated/verify`.** A separate router with mandatory IP binding — the operator must forward the client IP (`API.AUTHENTICATED_IP_REQUIRED`) and it must match the one the session was issued to (`API.AUTHENTICATED_IP_MISMATCH`), so a leaked token cannot be replayed from elsewhere. Single use is enforced through `serverChecked`, and `captchaType` is checked so an ordinary captcha token cannot be redeemed on this route. `clientSessionId` correlation goes through the same `isClientSessionMismatch` helper as pow / image / puzzle, so the authenticated path cannot drift from the others.
|
|
13
|
+
|
|
14
|
+
**Surface.** `AccessPolicyType.Allow` and `CaptchaType.authenticated`; `webBotAuthAgent` on the user scope (indexed, normalised at parse time to a lowercase scheme+host with no trailing slash); `Session.agent` / `Session.webBotAuthAgent` for the Traffic view's "pre-verified pass" filter; `submitAuthenticatedCaptchaVerify` on `ProviderApi` and the matching branch in `@prosopo/server.verifyProvider`; `AuthenticatedBadge` and a dispatch branch in `procaptcha-frictionless`.
|
|
15
|
+
|
|
16
|
+
Three fixes the new end-to-end coverage turned up, each of which broke the flow outright:
|
|
17
|
+
|
|
18
|
+
- `ipMatchesSession` compared the operator's parsed IP against the session's composite halves with `===`. A session read back from Mongo carries BSON (`Decimal128`, or `Long` on pre-migration records), not the `bigint` the type claims, so the comparison was false for every session that had been through the database — every legitimate redemption was rejected as `API.AUTHENTICATED_IP_MISMATCH`. Both halves are now normalised before comparison, and an unparseable half fails closed rather than defaulting to `0n`, so garbage still cannot match garbage.
|
|
19
|
+
- `serverChecked` was never written onto the authenticated session, so "never set" and "consumed" were distinguishable only by an absence. It is now written as `false` at issuance.
|
|
20
|
+
- `serverChecked` was missing from `SESSION_PROJECTION`. Left out, the single-use check reads `undefined` and an authenticated token verifies an unlimited number of times.
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 934fa5d: feat(types,provider): carry the client's `b` signal map on DetectorResult
|
|
25
|
+
|
|
26
|
+
`DetectorResult` grows an optional `b?: Record<string, string[]>`, and
|
|
27
|
+
`getBotScore` forwards it, following the same shape as the existing `g`, `i`,
|
|
28
|
+
`sw`, `md`, `bn` and `fs` fields: read off the decoded payload, passed through
|
|
29
|
+
untouched, absent for clients that predate it.
|
|
30
|
+
|
|
31
|
+
Typing it is the whole change. Without it the field arrives on the provider
|
|
32
|
+
untyped and any rule reading it has to assert its shape at the call site.
|
|
33
|
+
|
|
34
|
+
The map is keyed by signal name with a short list of strings per key. It is
|
|
35
|
+
empty for the great majority of sessions, so anything consuming it should
|
|
36
|
+
treat absent and empty as the same thing. Adding a key is a client-side
|
|
37
|
+
change and needs no deploy here — an existing decoder passes through keys it
|
|
38
|
+
predates rather than dropping the ones it knows, which is the property that
|
|
39
|
+
lets the two sides move independently.
|
|
40
|
+
- 27f525e: Stop the puzzle difficulty ladder silently replacing a site's own puzzle settings.
|
|
41
|
+
|
|
42
|
+
An escalated puzzle session samples its render settings from a difficulty band, and a sampled band sets every knob — decoy count, edge darkness, hole darken, piece scale and tolerance. While that is happening the site's configured `puzzle` block and `puzzleTolerance` are not consulted at all. For a site using escalation that is the intent; for a site that deliberately configured an easier puzzle it means the settings it saved never render, which reads as "my settings aren't being saved".
|
|
43
|
+
|
|
44
|
+
Two changes:
|
|
45
|
+
|
|
46
|
+
`puzzleMaxDifficulty` is a new client setting — the puzzle counterpart to `imageMaxRounds`. It caps how far automatic escalation may climb the ladder, and `0` pins the site to level 0, the documented "nothing escalated" case where the session is left bare and the site's own settings render every time. It defaults to `MAX_AUTO_ESCALATION_LEVEL`, so sites that never set it keep the behaviour they have.
|
|
47
|
+
|
|
48
|
+
Separately, the paths that measured nothing about a client — `MISSING_TOKEN`, `MISSING_HEAD_HASH` and `DECRYPTION_FAILED` — no longer feed the ladder. Each sizes its challenge from a fixed constant chosen to be short ("prove you're human quickly", per their own comments), not from any signal the client produced, but those constants sit above the default baseline of `DEFAULT_SOLVED_COUNT` and so scored as an escalation. A site whose CSP blocks the detector bundle sends no token on every request, so every one of its users was permanently escalated. `OLD_TIMESTAMP` deliberately keeps the ladder: its round count comes from `timestampDecayFunction`, which scales with staleness and is a real graduated measurement.
|
|
49
|
+
|
|
50
|
+
Explicit router and traffic-filter overrides are unaffected in both cases — an operator naming a value still gets it.
|
|
51
|
+
- a0c87c7: feat(provider): sign captcha image URLs with short-lived tokens
|
|
52
|
+
|
|
53
|
+
Captcha image URLs are permanent, unauthenticated and cacheable. Harvest the
|
|
54
|
+
URLs once and the entire image pool can be refetched indefinitely, offline and
|
|
55
|
+
unattributably — which is what makes scraping the demo dataset cheap, and why
|
|
56
|
+
regenerating the dataset alone never fixes it.
|
|
57
|
+
|
|
58
|
+
`AssetsResolver` has been declared in `@prosopo/types` and called by
|
|
59
|
+
`parseCaptchaAssets` since the image flow was written, but nothing ever assigned
|
|
60
|
+
it. `env.assetsResolver` was always `undefined`, so `item.data` went out exactly
|
|
61
|
+
as stored. This fills that hook with a bunny.net token-authentication signer.
|
|
62
|
+
|
|
63
|
+
Signing happens strictly below `item.data`. The item hash stays
|
|
64
|
+
`blake2b(image bytes)`, so `captchaId`, `captchaContentId` and `datasetId` are
|
|
65
|
+
untouched and no dataset has to be rebuilt to adopt this — a signed URL is never
|
|
66
|
+
itself hashed. The resolver is constructed per request rather than per process,
|
|
67
|
+
so each challenge's URLs expire on their own clock and can optionally be bound
|
|
68
|
+
to the requesting IP via `ZoneSecurityIncludeHashRemoteIP`.
|
|
69
|
+
|
|
70
|
+
The scheme was checked against a live token-auth pull zone before being written:
|
|
71
|
+
a correctly signed URL returns 200, while a tampered token, an expired token,
|
|
72
|
+
and a token replayed against a different path all return 403. The token is bound
|
|
73
|
+
to its exact path, so one harvested URL cannot be rewritten across the pool.
|
|
74
|
+
|
|
75
|
+
Inactive unless `PROSOPO_ASSET_TOKEN_KEY` is set. Without it the resolver is
|
|
76
|
+
`undefined` and the response is byte-for-byte what it is today, so this can ship
|
|
77
|
+
ahead of the infrastructure change.
|
|
78
|
+
|
|
79
|
+
Ordering matters when it is switched on. The pull zone only excludes
|
|
80
|
+
`token`/`expires` from its cache key while token authentication is enabled: with
|
|
81
|
+
it on, repeated requests carrying different tokens still hit cache; with it off,
|
|
82
|
+
every distinct `expires` becomes its own cache entry and every image misses.
|
|
83
|
+
Enabling the zone first is worse still — unsigned requests 403 and image
|
|
84
|
+
captchas break — so the zone has to be switched over promptly after providers
|
|
85
|
+
begin signing, not before.
|
|
86
|
+
- Updated dependencies [929d99b]
|
|
87
|
+
- Updated dependencies [934fa5d]
|
|
88
|
+
- Updated dependencies [b2183f9]
|
|
89
|
+
- Updated dependencies [27f525e]
|
|
90
|
+
- Updated dependencies [af267c2]
|
|
91
|
+
- @prosopo/types@5.8.0
|
|
92
|
+
- @prosopo/types-database@5.5.0
|
|
93
|
+
- @prosopo/database@4.0.30
|
|
94
|
+
- @prosopo/web-bot-auth@0.1.0
|
|
95
|
+
- @prosopo/user-access-policy@3.14.0
|
|
96
|
+
- @prosopo/api@4.2.0
|
|
97
|
+
- @prosopo/api-express-router@3.1.84
|
|
98
|
+
- @prosopo/datasets@3.1.79
|
|
99
|
+
- @prosopo/env@3.6.53
|
|
100
|
+
- @prosopo/ipinfo@0.3.25
|
|
101
|
+
- @prosopo/keyring@2.9.86
|
|
102
|
+
- @prosopo/load-balancer@2.10.41
|
|
103
|
+
- @prosopo/types-env@2.10.46
|
|
104
|
+
|
|
3
105
|
## 5.8.1
|
|
4
106
|
### Patch Changes
|
|
5
107
|
|
|
@@ -4,7 +4,7 @@ import type { IProviderDatabase } from "@prosopo/types-database";
|
|
|
4
4
|
import { type AccessRule, type AccessRulesStorage, type UserScope, type UserScopeRecord } from "@prosopo/user-access-policy";
|
|
5
5
|
import type { NextFunction, Request, Response } from "express";
|
|
6
6
|
import { HardBlockVerdictCache } from "./hardBlockVerdictCache.js";
|
|
7
|
-
export declare const getRequestUserScope: (requestHeaders: Record<string, unknown>, ja4?: string, ip?: string, user?: string, headHash?: string, coords?: string, countryCode?: string, asn?: number) => Pick<UserScopeRecord, "userId" | "ja4Hash" | "userAgent" | "ip" | "headHash" | "coords" | "countryCode" | "asn" | "os" | "browser" | "headerMatch">;
|
|
7
|
+
export declare const getRequestUserScope: (requestHeaders: Record<string, unknown>, ja4?: string, ip?: string, user?: string, headHash?: string, coords?: string, countryCode?: string, asn?: number, webBotAuthAgent?: string) => Pick<UserScopeRecord, "userId" | "ja4Hash" | "userAgent" | "ip" | "headHash" | "coords" | "countryCode" | "asn" | "os" | "browser" | "headerMatch" | "webBotAuthAgent">;
|
|
8
8
|
export declare const normalizeHeadersForMatching: (headers: Record<string, unknown>) => Record<string, string>;
|
|
9
9
|
export declare const rankCandidateRules: (rules: AccessRule[], request: UserScope, requestClientId: string | undefined, requestHeaders: Record<string, string>) => AccessRule[];
|
|
10
10
|
export declare const getVerdictCache: () => HardBlockVerdictCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklistRequestInspector.d.ts","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAKN,KAAK,cAAc,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAEN,KAAK,UAAU,EACf,KAAK,kBAAkB,EAGvB,KAAK,SAAS,EACd,KAAK,eAAe,EAOpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACN,qBAAqB,EAErB,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,mBAAmB,mBACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QACjC,MAAM,OACP,MAAM,SACJ,MAAM,aACF,MAAM,WACR,MAAM,gBACD,MAAM,QACd,MAAM,
|
|
1
|
+
{"version":3,"file":"blacklistRequestInspector.d.ts","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { randomUUID } from "node:crypto";
|
|
|
6
6
|
import { captchaPolicySeverity } from "@prosopo/captcha-severity";
|
|
7
7
|
import { AccessPolicyType, FilterScopeMatch, HEADER_RULE_MARKER, accessRuleHeaderMatches, classifyBrowser, classifyOs, describeMatchedRule, makeAccessRuleHash, userScopeInput } from "@prosopo/user-access-policy";
|
|
8
8
|
//#region src/api/blacklistRequestInspector.ts
|
|
9
|
-
var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, countryCode, asn) => {
|
|
9
|
+
var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, countryCode, asn, webBotAuthAgent) => {
|
|
10
10
|
const userAgent = requestHeaders["user-agent"] ? requestHeaders["user-agent"].toString() : void 0;
|
|
11
11
|
return {
|
|
12
12
|
...user && { userId: user },
|
|
@@ -17,6 +17,7 @@ var getRequestUserScope = (requestHeaders, ja4, ip, user, headHash, coords, coun
|
|
|
17
17
|
...coords && { coords },
|
|
18
18
|
...countryCode && { countryCode },
|
|
19
19
|
...typeof asn === "number" && { asn },
|
|
20
|
+
...webBotAuthAgent && { webBotAuthAgent },
|
|
20
21
|
os: classifyOs(userAgent),
|
|
21
22
|
browser: classifyBrowser(userAgent),
|
|
22
23
|
headerMatch: HEADER_RULE_MARKER
|
|
@@ -39,7 +40,8 @@ var SCALAR_USER_SCOPE_FIELDS = [
|
|
|
39
40
|
"asn",
|
|
40
41
|
"os",
|
|
41
42
|
"browser",
|
|
42
|
-
"headerMatch"
|
|
43
|
+
"headerMatch",
|
|
44
|
+
"webBotAuthAgent"
|
|
43
45
|
];
|
|
44
46
|
var deriveRuleType = (rule) => {
|
|
45
47
|
const fields = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklistRequestInspector.js","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blacklistRequestInspector.js","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.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,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;
|
|
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,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAuCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBAq4BG"}
|
|
@@ -24,6 +24,7 @@ import { ApiParams, CaptchaType, GetFrictionlessCaptchaChallengeRequestBody, Mod
|
|
|
24
24
|
import { flatten, isProtectDeployment, sanitisePageUrl } from "@prosopo/util";
|
|
25
25
|
import { v4 } from "uuid";
|
|
26
26
|
import { AccessPolicyType } from "@prosopo/user-access-policy";
|
|
27
|
+
import { verifyWebBotAuth } from "@prosopo/web-bot-auth";
|
|
27
28
|
//#region src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts
|
|
28
29
|
var handler_default = (env, userAccessRulesStorage) => async (req, res, next) => {
|
|
29
30
|
try {
|
|
@@ -37,7 +38,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
37
38
|
}
|
|
38
39
|
}));
|
|
39
40
|
});
|
|
40
|
-
const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl } = GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
|
|
41
|
+
const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId } = GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
|
|
41
42
|
const currentUrl = sanitisePageUrl(reportedCurrentUrl);
|
|
42
43
|
const iframeUrl = sanitisePageUrl(reportedIframeUrl);
|
|
43
44
|
const isProtect = isProtectDeployment(currentUrl, iframeUrl);
|
|
@@ -231,12 +232,41 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
231
232
|
const emptyPoolResponse = await runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
|
|
232
233
|
if (emptyPoolResponse) return emptyPoolResponse;
|
|
233
234
|
const lScore = tasks.frictionlessManager.checkLangRules(req.headers["accept-language"] || "");
|
|
234
|
-
const
|
|
235
|
+
const verified = await verifyWebBotAuth({
|
|
236
|
+
method: req.method,
|
|
237
|
+
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
238
|
+
headers: flatten(req.headers)
|
|
239
|
+
});
|
|
240
|
+
const verifiedSignerUrl = verified.verified ? verified.signerUrl : void 0;
|
|
241
|
+
const userScope = getRequestUserScope(flatten(req.headers), req.ja4, normalizedIp, user, void 0, void 0, countryCode, asn, verifiedSignerUrl);
|
|
235
242
|
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
236
243
|
tasks.frictionlessManager.decryptPayload(token, headHash, detectorSessionId),
|
|
237
244
|
tasks.frictionlessManager.isValidRequest(clientRecord, CaptchaType.frictionless, env),
|
|
238
245
|
tasks.frictionlessManager.getPrioritisedAccessPolicies(userAccessRulesStorage, dapp, userScope, normalizeHeadersForMatching(req.headers))
|
|
239
246
|
]);
|
|
247
|
+
const allowingPolicy = accessPolicies.find((p) => !p.deferToVerify && (p.type === AccessPolicyType.Block || p.type === AccessPolicyType.Restrict)) ? void 0 : accessPolicies.find((p) => !p.deferToVerify && p.type === AccessPolicyType.Allow);
|
|
248
|
+
if (allowingPolicy) {
|
|
249
|
+
const authenticatedSession = await tasks.frictionlessManager.createAuthenticatedSession(token, ipAddress, verifiedSignerUrl ?? "", dapp, userSitekeyIpHash, flatHeaders, req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo : void 0, clientSessionId);
|
|
250
|
+
req.logger.info(() => ({
|
|
251
|
+
msg: "Frictionless decision",
|
|
252
|
+
data: {
|
|
253
|
+
decision: "authenticated_allow_rule",
|
|
254
|
+
captchaType: CaptchaType.authenticated,
|
|
255
|
+
sessionId: authenticatedSession.sessionId,
|
|
256
|
+
webBotAuthAgent: verifiedSignerUrl,
|
|
257
|
+
ruleType: allowingPolicy.description
|
|
258
|
+
}
|
|
259
|
+
}));
|
|
260
|
+
recordFrictionlessDecision("authenticated_allow_rule");
|
|
261
|
+
attachHoneypot(res, clientRecord);
|
|
262
|
+
return res.json({
|
|
263
|
+
[ApiParams.captchaType]: CaptchaType.authenticated,
|
|
264
|
+
[ApiParams.sessionId]: authenticatedSession.sessionId,
|
|
265
|
+
[ApiParams.status]: "ok",
|
|
266
|
+
dns_url: buildDnsEventUrl(authenticatedSession.sessionId),
|
|
267
|
+
...verifiedSignerUrl && { agent: verifiedSignerUrl }
|
|
268
|
+
});
|
|
269
|
+
}
|
|
240
270
|
const { baseBotScore: rawBaseBotScore, timestamp: rawTimestamp, userId: rawUserId, userAgent: rawUserAgent, webView, iFrame, decryptedHeadHash, decryptionFailed: rawDecryptionFailed, triggeredDetectors, shadowDomPenalty, entropyMathRandomFingerprint, entropyCryptoFingerprint, entropyWallClockOffsetMs, entropyMathRandomFirst, g, sw, md, bn, fs, bundleId } = decryptedPayload;
|
|
241
271
|
const detectorOverride = process.env.PROSOPO_TEST_FRICTIONLESS_DETECTOR_OVERRIDE === "1";
|
|
242
272
|
const baseBotScore = detectorOverride ? 0 : rawBaseBotScore;
|
|
@@ -319,6 +349,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
319
349
|
imageMinRounds: clientRecord.settings.imageMinRounds,
|
|
320
350
|
frictionlessTypes: clientRecord.settings.frictionlessTypes,
|
|
321
351
|
baseImageRounds: env.config.captchas.solved.count,
|
|
352
|
+
puzzleMaxDifficulty: clientRecord.settings.puzzleMaxDifficulty,
|
|
322
353
|
platform: derivePlatform(requestUserAgent, webView, { ...typeof ipInfoMobile === "boolean" && { isMobile: ipInfoMobile } }),
|
|
323
354
|
raw: {
|
|
324
355
|
headers: flatHeaders,
|