@prosopo/provider 4.11.0 → 4.11.1
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 +3 -3
- package/.turbo/turbo-build$colon$tsc.log +24 -24
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +30 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +32 -33
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +32 -33
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +1 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -1
- package/package.json +14 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@4.11.
|
|
2
|
+
> @prosopo/provider@4.11.1 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -136,8 +136,8 @@ rendering chunks...
|
|
|
136
136
|
[2mdist/cjs/[22m[36mapi/startProviderApi.cjs [39m[1m[2m 9.53 kB[22m[1m[22m
|
|
137
137
|
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs [39m[1m[2m 9.54 kB[22m[1m[22m
|
|
138
138
|
[2mdist/cjs/[22m[36mapi/blacklistRequestInspector.cjs [39m[1m[2m10.00 kB[22m[1m[22m
|
|
139
|
-
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.10 kB[22m[1m[22m
|
|
140
139
|
[2mdist/cjs/[22m[36mtasks/decisionMachine/decisionMachineRunner.cjs [39m[1m[2m10.19 kB[22m[1m[22m
|
|
140
|
+
[2mdist/cjs/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.cjs [39m[1m[2m10.20 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
143
|
[2mdist/cjs/[22m[36mtasks/client/clientTasks.cjs [39m[1m[2m15.63 kB[22m[1m[22m
|
|
@@ -149,7 +149,7 @@ rendering chunks...
|
|
|
149
149
|
[2mdist/cjs/[22m[36mtasks/powCaptcha/powTasks.cjs [39m[1m[2m22.39 kB[22m[1m[22m
|
|
150
150
|
[2mdist/cjs/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.cjs [39m[1m[2m28.48 kB[22m[1m[22m
|
|
151
151
|
[2mdist/cjs/[22m[36mtasks/detection/decodePayload.cjs [39m[1m[2m44.26 kB[22m[1m[22m
|
|
152
|
-
[32m✓ built in
|
|
152
|
+
[32m✓ built in 740ms[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.1 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1:49:09 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:49:09 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:49:09 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:49:09 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:49:09 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:49:09 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:49:09 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:49:09 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:49:09 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
1:49:10 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:49:10 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/tests/testRedisConnection.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
1:49:10 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:49:10 PM - 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'
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
1:49:10 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
1:49:10 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/integration/centralStreamingEnrichment.integration.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
1:49:10 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:49:10 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
1:49:10 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:49:10 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/middlewares/requestLoggerMiddleware.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
1:49:10 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/dataset.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
1:49:10 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:49:10 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
1:49:10 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.1 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.1 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -138,7 +138,7 @@ rendering chunks...
|
|
|
138
138
|
[2mdist/[22m[36mapi/startProviderApi.js [39m[1m[2m 7.65 kB[22m[1m[22m
|
|
139
139
|
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js [39m[1m[2m 9.17 kB[22m[1m[22m
|
|
140
140
|
[2mdist/[22m[36mapi/blacklistRequestInspector.js [39m[1m[2m 9.75 kB[22m[1m[22m
|
|
141
|
-
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m 9.
|
|
141
|
+
[2mdist/[22m[36mapi/captcha/getFrictionlessCaptchaChallenge/handler.js [39m[1m[2m 9.87 kB[22m[1m[22m
|
|
142
142
|
[2mdist/[22m[36mtasks/decisionMachine/decisionMachineRunner.js [39m[1m[2m10.14 kB[22m[1m[22m
|
|
143
143
|
[2mdist/[22m[36mapi/verify.js [39m[1m[2m10.44 kB[22m[1m[22m
|
|
144
144
|
[2mdist/[22m[36mutil.js [39m[1m[2m12.17 kB[22m[1m[22m
|
|
@@ -151,7 +151,7 @@ rendering chunks...
|
|
|
151
151
|
[2mdist/[22m[36mtasks/powCaptcha/powTasks.js [39m[1m[2m21.98 kB[22m[1m[22m
|
|
152
152
|
[2mdist/[22m[36mtasks/imgCaptcha/imgCaptchaTasks.js [39m[1m[2m28.04 kB[22m[1m[22m
|
|
153
153
|
[2mdist/[22m[36mtasks/detection/decodePayload.js [39m[1m[2m44.24 kB[22m[1m[22m
|
|
154
|
-
[32m✓ built in 1.
|
|
154
|
+
[32m✓ built in 1.34s[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,35 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 4.11.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 4626340: perf(provider): cut p95 on /captcha/frictionless and /captcha/image
|
|
7
|
+
|
|
8
|
+
Replaces the `$match → $sample` random-captcha lookup with an indexed
|
|
9
|
+
range scan over a new `{datasetId, solved, randomKey}` compound index;
|
|
10
|
+
reorders the `sampleContextEntropy` aggregation so `$sample` runs
|
|
11
|
+
before `$lookup`; batches three pairs of independent awaits in the
|
|
12
|
+
frictionless handler via `Promise.all`. Adds an integration test
|
|
13
|
+
asserting via `.explain()` and wall-clock timing that the new paths
|
|
14
|
+
are quantifiably faster. The legacy aggregation remains as a fallback
|
|
15
|
+
in `getRandomCaptcha` so deployment can precede the
|
|
16
|
+
providerBackfillCaptchaRandomKey rollout.
|
|
17
|
+
- Updated dependencies [4626340]
|
|
18
|
+
- Updated dependencies [6962179]
|
|
19
|
+
- Updated dependencies [5f47c42]
|
|
20
|
+
- @prosopo/database@3.14.2
|
|
21
|
+
- @prosopo/types@4.6.1
|
|
22
|
+
- @prosopo/types-database@4.10.2
|
|
23
|
+
- @prosopo/user-access-policy@3.10.2
|
|
24
|
+
- @prosopo/api@3.4.14
|
|
25
|
+
- @prosopo/api-express-router@3.1.25
|
|
26
|
+
- @prosopo/datasets@3.1.34
|
|
27
|
+
- @prosopo/env@3.5.15
|
|
28
|
+
- @prosopo/ipinfo@0.2.20
|
|
29
|
+
- @prosopo/keyring@2.9.40
|
|
30
|
+
- @prosopo/load-balancer@2.9.16
|
|
31
|
+
- @prosopo/types-env@2.9.24
|
|
32
|
+
|
|
3
33
|
## 4.11.0
|
|
4
34
|
### Minor Changes
|
|
5
35
|
|
|
@@ -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,wBAgXG"}
|
|
@@ -61,11 +61,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
61
61
|
)
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
|
-
const tasks = new Tasks(env, req.logger);
|
|
65
|
-
const decodedSimdReadings = await decryptIncomingSimdReadings(
|
|
66
|
-
tasks.frictionlessManager,
|
|
67
|
-
simdReadings
|
|
68
|
-
);
|
|
69
64
|
if (isReservedTestSiteKey(dapp)) {
|
|
70
65
|
req.logger.warn(() => ({
|
|
71
66
|
msg: "Reserved TEST site key - returning invisible PoW session",
|
|
@@ -78,13 +73,13 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
78
73
|
)
|
|
79
74
|
);
|
|
80
75
|
}
|
|
76
|
+
const tasks = new Tasks(env, req.logger);
|
|
81
77
|
const userSitekeyIpHash = hashUserIp(user, normalizedIp, dapp);
|
|
82
|
-
const { existingToken, dedup } = await
|
|
83
|
-
tasks,
|
|
84
|
-
token,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
);
|
|
78
|
+
const [decodedSimdReadings, { existingToken, dedup }, clientRecord] = await Promise.all([
|
|
79
|
+
decryptIncomingSimdReadings(tasks.frictionlessManager, simdReadings),
|
|
80
|
+
resolveSessionDedup(tasks, token, userSitekeyIpHash, req.logger),
|
|
81
|
+
tasks.db.getClientRecord(dapp)
|
|
82
|
+
]);
|
|
88
83
|
if (existingToken) {
|
|
89
84
|
req.logger.info(() => ({
|
|
90
85
|
token: existingToken,
|
|
@@ -98,7 +93,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
98
93
|
})
|
|
99
94
|
);
|
|
100
95
|
}
|
|
101
|
-
const clientRecord = await tasks.db.getClientRecord(dapp);
|
|
102
96
|
if (!clientRecord) {
|
|
103
97
|
return next(
|
|
104
98
|
new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
|
|
@@ -159,6 +153,29 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
159
153
|
const lScore = tasks.frictionlessManager.checkLangRules(
|
|
160
154
|
req.headers["accept-language"] || ""
|
|
161
155
|
);
|
|
156
|
+
const userScope = getRequestUserScope(
|
|
157
|
+
flatten(req.headers),
|
|
158
|
+
req.ja4,
|
|
159
|
+
normalizedIp,
|
|
160
|
+
user,
|
|
161
|
+
void 0,
|
|
162
|
+
void 0,
|
|
163
|
+
countryCode,
|
|
164
|
+
asn
|
|
165
|
+
);
|
|
166
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
167
|
+
tasks.frictionlessManager.decryptPayload(token, headHash),
|
|
168
|
+
tasks.frictionlessManager.isValidRequest(
|
|
169
|
+
clientRecord,
|
|
170
|
+
CaptchaType.frictionless,
|
|
171
|
+
env
|
|
172
|
+
),
|
|
173
|
+
tasks.frictionlessManager.getPrioritisedAccessPolicies(
|
|
174
|
+
userAccessRulesStorage,
|
|
175
|
+
dapp,
|
|
176
|
+
userScope
|
|
177
|
+
)
|
|
178
|
+
]);
|
|
162
179
|
const {
|
|
163
180
|
baseBotScore,
|
|
164
181
|
timestamp,
|
|
@@ -171,7 +188,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
171
188
|
decryptionFailed,
|
|
172
189
|
triggeredDetectors,
|
|
173
190
|
shadowDomPenalty
|
|
174
|
-
} =
|
|
191
|
+
} = decryptedPayload;
|
|
175
192
|
req.logger.debug(() => ({
|
|
176
193
|
msg: "Decrypted payload",
|
|
177
194
|
data: {
|
|
@@ -184,11 +201,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
184
201
|
}
|
|
185
202
|
}));
|
|
186
203
|
let botScore = baseBotScore + lScore;
|
|
187
|
-
const { valid, reason } =
|
|
188
|
-
clientRecord,
|
|
189
|
-
CaptchaType.frictionless,
|
|
190
|
-
env
|
|
191
|
-
);
|
|
204
|
+
const { valid, reason } = validation;
|
|
192
205
|
if (!valid) {
|
|
193
206
|
return next(
|
|
194
207
|
new ProsopoApiError(reason || "API.BAD_REQUEST", {
|
|
@@ -238,21 +251,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
238
251
|
...req.ja4 && { ja4: req.ja4 }
|
|
239
252
|
}
|
|
240
253
|
});
|
|
241
|
-
const
|
|
242
|
-
flatten(req.headers),
|
|
243
|
-
req.ja4,
|
|
244
|
-
normalizedIp,
|
|
245
|
-
user,
|
|
246
|
-
void 0,
|
|
247
|
-
void 0,
|
|
248
|
-
countryCode,
|
|
249
|
-
asn
|
|
250
|
-
);
|
|
251
|
-
const userAccessPolicy = (await tasks.frictionlessManager.getPrioritisedAccessPolicies(
|
|
252
|
-
userAccessRulesStorage,
|
|
253
|
-
dapp,
|
|
254
|
-
userScope
|
|
255
|
-
))[0];
|
|
254
|
+
const userAccessPolicy = accessPolicies[0];
|
|
256
255
|
const accessPolicyOutcome = await handleAccessPolicy(
|
|
257
256
|
{
|
|
258
257
|
tasks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,11 +62,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
62
62
|
)
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
|
-
const tasks$1 = new tasks.Tasks(env, req.logger);
|
|
66
|
-
const decodedSimdReadings = await decryptSimdReadings.decryptIncomingSimdReadings(
|
|
67
|
-
tasks$1.frictionlessManager,
|
|
68
|
-
simdReadings
|
|
69
|
-
);
|
|
70
65
|
if (testSiteKey.isReservedTestSiteKey(dapp)) {
|
|
71
66
|
req.logger.warn(() => ({
|
|
72
67
|
msg: "Reserved TEST site key - returning invisible PoW session",
|
|
@@ -79,13 +74,13 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
79
74
|
)
|
|
80
75
|
);
|
|
81
76
|
}
|
|
77
|
+
const tasks$1 = new tasks.Tasks(env, req.logger);
|
|
82
78
|
const userSitekeyIpHash = hashUserIp.hashUserIp(user, normalizedIp, dapp);
|
|
83
|
-
const { existingToken, dedup } = await
|
|
84
|
-
tasks$1,
|
|
85
|
-
token,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
);
|
|
79
|
+
const [decodedSimdReadings, { existingToken, dedup }, clientRecord] = await Promise.all([
|
|
80
|
+
decryptSimdReadings.decryptIncomingSimdReadings(tasks$1.frictionlessManager, simdReadings),
|
|
81
|
+
sessionDedup.resolveSessionDedup(tasks$1, token, userSitekeyIpHash, req.logger),
|
|
82
|
+
tasks$1.db.getClientRecord(dapp)
|
|
83
|
+
]);
|
|
89
84
|
if (existingToken) {
|
|
90
85
|
req.logger.info(() => ({
|
|
91
86
|
token: existingToken,
|
|
@@ -99,7 +94,6 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
99
94
|
})
|
|
100
95
|
);
|
|
101
96
|
}
|
|
102
|
-
const clientRecord = await tasks$1.db.getClientRecord(dapp);
|
|
103
97
|
if (!clientRecord) {
|
|
104
98
|
return next(
|
|
105
99
|
new common.ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
|
|
@@ -160,6 +154,29 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
160
154
|
const lScore = tasks$1.frictionlessManager.checkLangRules(
|
|
161
155
|
req.headers["accept-language"] || ""
|
|
162
156
|
);
|
|
157
|
+
const userScope = blacklistRequestInspector.getRequestUserScope(
|
|
158
|
+
util.flatten(req.headers),
|
|
159
|
+
req.ja4,
|
|
160
|
+
normalizedIp,
|
|
161
|
+
user,
|
|
162
|
+
void 0,
|
|
163
|
+
void 0,
|
|
164
|
+
countryCode,
|
|
165
|
+
asn
|
|
166
|
+
);
|
|
167
|
+
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|
|
168
|
+
tasks$1.frictionlessManager.decryptPayload(token, headHash),
|
|
169
|
+
tasks$1.frictionlessManager.isValidRequest(
|
|
170
|
+
clientRecord,
|
|
171
|
+
types.CaptchaType.frictionless,
|
|
172
|
+
env
|
|
173
|
+
),
|
|
174
|
+
tasks$1.frictionlessManager.getPrioritisedAccessPolicies(
|
|
175
|
+
userAccessRulesStorage,
|
|
176
|
+
dapp,
|
|
177
|
+
userScope
|
|
178
|
+
)
|
|
179
|
+
]);
|
|
163
180
|
const {
|
|
164
181
|
baseBotScore,
|
|
165
182
|
timestamp,
|
|
@@ -172,7 +189,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
172
189
|
decryptionFailed,
|
|
173
190
|
triggeredDetectors,
|
|
174
191
|
shadowDomPenalty
|
|
175
|
-
} =
|
|
192
|
+
} = decryptedPayload;
|
|
176
193
|
req.logger.debug(() => ({
|
|
177
194
|
msg: "Decrypted payload",
|
|
178
195
|
data: {
|
|
@@ -185,11 +202,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
185
202
|
}
|
|
186
203
|
}));
|
|
187
204
|
let botScore = baseBotScore + lScore;
|
|
188
|
-
const { valid, reason } =
|
|
189
|
-
clientRecord,
|
|
190
|
-
types.CaptchaType.frictionless,
|
|
191
|
-
env
|
|
192
|
-
);
|
|
205
|
+
const { valid, reason } = validation;
|
|
193
206
|
if (!valid) {
|
|
194
207
|
return next(
|
|
195
208
|
new common.ProsopoApiError(reason || "API.BAD_REQUEST", {
|
|
@@ -239,21 +252,7 @@ const getFrictionlessCaptchaChallenge = (env, userAccessRulesStorage) => async (
|
|
|
239
252
|
...req.ja4 && { ja4: req.ja4 }
|
|
240
253
|
}
|
|
241
254
|
});
|
|
242
|
-
const
|
|
243
|
-
util.flatten(req.headers),
|
|
244
|
-
req.ja4,
|
|
245
|
-
normalizedIp,
|
|
246
|
-
user,
|
|
247
|
-
void 0,
|
|
248
|
-
void 0,
|
|
249
|
-
countryCode,
|
|
250
|
-
asn
|
|
251
|
-
);
|
|
252
|
-
const userAccessPolicy = (await tasks$1.frictionlessManager.getPrioritisedAccessPolicies(
|
|
253
|
-
userAccessRulesStorage,
|
|
254
|
-
dapp,
|
|
255
|
-
userScope
|
|
256
|
-
))[0];
|
|
255
|
+
const userAccessPolicy = accessPolicies[0];
|
|
257
256
|
const accessPolicyOutcome = await accessPolicy.handleAccessPolicy(
|
|
258
257
|
{
|
|
259
258
|
tasks: tasks$1,
|
|
@@ -16,6 +16,7 @@ export declare const datasetWithIndexSolutions: {
|
|
|
16
16
|
assetURI?: string;
|
|
17
17
|
datasetId?: string;
|
|
18
18
|
datasetContentId?: string;
|
|
19
|
+
randomKey?: number;
|
|
19
20
|
unlabelled?: import("@prosopo/types").HashedSolution[] | import("@prosopo/types").RawSolution[];
|
|
20
21
|
salt: string;
|
|
21
22
|
items: import("@prosopo/types").HashedItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solvedTestCaptchas.d.ts","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAuiCjC,qBAAqB,CAAC;AAG3B,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"solvedTestCaptchas.d.ts","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAuiCjC,qBAAqB,CAAC;AAG3B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;CASrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/provider",
|
|
3
|
-
"version": "4.11.
|
|
3
|
+
"version": "4.11.1",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -23,23 +23,23 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@noble/hashes": "1.8.0",
|
|
25
25
|
"@polkadot/util": "13.5.7",
|
|
26
|
-
"@prosopo/api": "3.4.
|
|
27
|
-
"@prosopo/api-express-router": "3.1.
|
|
26
|
+
"@prosopo/api": "3.4.14",
|
|
27
|
+
"@prosopo/api-express-router": "3.1.25",
|
|
28
28
|
"@prosopo/api-route": "2.6.47",
|
|
29
29
|
"@prosopo/common": "3.1.39",
|
|
30
30
|
"@prosopo/logger": "1.0.3",
|
|
31
|
-
"@prosopo/database": "3.14.
|
|
32
|
-
"@prosopo/datasets": "3.1.
|
|
33
|
-
"@prosopo/env": "3.5.
|
|
34
|
-
"@prosopo/ipinfo": "0.2.
|
|
35
|
-
"@prosopo/keyring": "2.9.
|
|
36
|
-
"@prosopo/load-balancer": "2.9.
|
|
31
|
+
"@prosopo/database": "3.14.2",
|
|
32
|
+
"@prosopo/datasets": "3.1.34",
|
|
33
|
+
"@prosopo/env": "3.5.15",
|
|
34
|
+
"@prosopo/ipinfo": "0.2.20",
|
|
35
|
+
"@prosopo/keyring": "2.9.40",
|
|
36
|
+
"@prosopo/load-balancer": "2.9.16",
|
|
37
37
|
"@prosopo/redis-client": "1.0.24",
|
|
38
38
|
"@prosopo/locale": "3.2.4",
|
|
39
|
-
"@prosopo/types": "4.6.
|
|
40
|
-
"@prosopo/types-database": "4.10.
|
|
41
|
-
"@prosopo/types-env": "2.9.
|
|
42
|
-
"@prosopo/user-access-policy": "3.10.
|
|
39
|
+
"@prosopo/types": "4.6.1",
|
|
40
|
+
"@prosopo/types-database": "4.10.2",
|
|
41
|
+
"@prosopo/types-env": "2.9.24",
|
|
42
|
+
"@prosopo/user-access-policy": "3.10.2",
|
|
43
43
|
"@prosopo/util": "3.3.0",
|
|
44
44
|
"@prosopo/util-crypto": "13.5.29",
|
|
45
45
|
"cron": "3.1.7",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"zod": "3.23.8"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@prosopo/config": "3.3.
|
|
57
|
+
"@prosopo/config": "3.3.2",
|
|
58
58
|
"@types/node": "22.5.5",
|
|
59
59
|
"@types/pg": "8.16.0",
|
|
60
60
|
"@types/uuid": "10.0.0",
|