@prosopo/provider 5.13.4 → 5.15.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.
Files changed (205) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +30 -30
  2. package/.turbo/turbo-build$colon$tsc.log +27 -30
  3. package/.turbo/turbo-build.log +30 -33
  4. package/CHANGELOG.md +233 -0
  5. package/LICENSE +201 -0
  6. package/dist/api/adminAuthOptions.d.ts +4 -0
  7. package/dist/api/adminAuthOptions.d.ts.map +1 -0
  8. package/dist/api/adminAuthOptions.js +34 -0
  9. package/dist/api/adminAuthOptions.js.map +1 -0
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +16 -11
  16. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  17. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
  18. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
  19. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
  20. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
  21. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  22. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +24 -0
  23. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  24. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
  25. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  26. package/dist/api/captcha/submitPoWCaptchaSolution.js +12 -17
  27. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  28. package/dist/api/detectorPoolBodyParser.d.ts +4 -0
  29. package/dist/api/detectorPoolBodyParser.d.ts.map +1 -0
  30. package/dist/api/detectorPoolBodyParser.js +31 -0
  31. package/dist/api/detectorPoolBodyParser.js.map +1 -0
  32. package/dist/api/domainMiddleware.d.ts.map +1 -1
  33. package/dist/api/domainMiddleware.js +5 -1
  34. package/dist/api/domainMiddleware.js.map +1 -1
  35. package/dist/api/metrics.d.ts +2 -1
  36. package/dist/api/metrics.d.ts.map +1 -1
  37. package/dist/api/metrics.js +46 -4
  38. package/dist/api/metrics.js.map +1 -1
  39. package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
  40. package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
  41. package/dist/api/rawTlsSignalsMiddleware.js +111 -23
  42. package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
  43. package/dist/api/startProviderApi.d.ts.map +1 -1
  44. package/dist/api/startProviderApi.js +8 -5
  45. package/dist/api/startProviderApi.js.map +1 -1
  46. package/dist/api/verify.d.ts.map +1 -1
  47. package/dist/api/verify.js +50 -8
  48. package/dist/api/verify.js.map +1 -1
  49. package/dist/cjs/api/adminAuthOptions.cjs +35 -0
  50. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
  51. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +14 -8
  52. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
  53. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +24 -0
  54. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +10 -15
  55. package/dist/cjs/api/detectorPoolBodyParser.cjs +33 -0
  56. package/dist/cjs/api/domainMiddleware.cjs +5 -1
  57. package/dist/cjs/api/metrics.cjs +46 -3
  58. package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
  59. package/dist/cjs/api/startProviderApi.cjs +8 -5
  60. package/dist/cjs/api/verify.cjs +50 -8
  61. package/dist/cjs/compositeIpAddress.cjs +21 -7
  62. package/dist/cjs/tasks/captchaManager.cjs +15 -0
  63. package/dist/cjs/tasks/captchaTypeSelection.cjs +23 -2
  64. package/dist/cjs/tasks/client/clientTasks.cjs +25 -4
  65. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +1 -1
  66. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +26 -23
  67. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +4 -11
  68. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +7 -11
  69. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +2 -0
  70. package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
  71. package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
  72. package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
  73. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +2 -9
  74. package/dist/cjs/utils/tarpitPadding.cjs +81 -10
  75. package/dist/compositeIpAddress.d.ts.map +1 -1
  76. package/dist/compositeIpAddress.js +21 -7
  77. package/dist/compositeIpAddress.js.map +1 -1
  78. package/dist/tasks/captchaManager.d.ts.map +1 -1
  79. package/dist/tasks/captchaManager.js +16 -1
  80. package/dist/tasks/captchaManager.js.map +1 -1
  81. package/dist/tasks/captchaTypeSelection.d.ts +3 -1
  82. package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
  83. package/dist/tasks/captchaTypeSelection.js +23 -3
  84. package/dist/tasks/captchaTypeSelection.js.map +1 -1
  85. package/dist/tasks/client/clientTasks.d.ts +1 -0
  86. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  87. package/dist/tasks/client/clientTasks.js +25 -5
  88. package/dist/tasks/client/clientTasks.js.map +1 -1
  89. package/dist/tasks/dataset/datasetTasksUtils.js +1 -1
  90. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -1
  91. package/dist/tasks/frictionless/frictionlessTasks.d.ts +3 -1
  92. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  93. package/dist/tasks/frictionless/frictionlessTasks.js +28 -25
  94. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  95. package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
  96. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  97. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  98. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  99. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +4 -11
  100. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  101. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  102. package/dist/tasks/powCaptcha/powTasks.js +8 -12
  103. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  104. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
  105. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
  106. package/dist/tasks/powCaptcha/powTasksUtils.js +2 -1
  107. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
  108. package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
  109. package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
  110. package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
  111. package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
  112. package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
  113. package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
  114. package/dist/tasks/puzzle/nativeBackground.js +12 -5
  115. package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
  116. package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
  117. package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
  118. package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
  119. package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
  120. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  121. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +2 -9
  122. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  123. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +2 -0
  124. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  125. package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts +2 -0
  126. package/dist/tests/unit/api/adminAuthOptions.unit.test.d.ts.map +1 -0
  127. package/dist/tests/unit/api/adminAuthOptions.unit.test.js +38 -0
  128. package/dist/tests/unit/api/adminAuthOptions.unit.test.js.map +1 -0
  129. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +35 -2
  130. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
  131. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
  132. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
  133. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
  134. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
  135. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
  136. package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
  137. package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts +2 -0
  138. package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.d.ts.map +1 -0
  139. package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js +64 -0
  140. package/dist/tests/unit/api/detectorPoolBodyParser.unit.test.js.map +1 -0
  141. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts +2 -0
  142. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.d.ts.map +1 -0
  143. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js +67 -0
  144. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js.map +1 -0
  145. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -23
  146. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  147. package/dist/tests/unit/api/metricsAccess.unit.test.d.ts +2 -0
  148. package/dist/tests/unit/api/metricsAccess.unit.test.d.ts.map +1 -0
  149. package/dist/tests/unit/api/metricsAccess.unit.test.js +87 -0
  150. package/dist/tests/unit/api/metricsAccess.unit.test.js.map +1 -0
  151. package/dist/tests/unit/api/public.unit.test.js +4 -1
  152. package/dist/tests/unit/api/public.unit.test.js.map +1 -1
  153. package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
  154. package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
  155. package/dist/tests/unit/api/validateAddress.unit.test.js +1 -1
  156. package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -1
  157. package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts +2 -0
  158. package/dist/tests/unit/api/verifyBadDappSignature.unit.test.d.ts.map +1 -0
  159. package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js +96 -0
  160. package/dist/tests/unit/api/verifyBadDappSignature.unit.test.js.map +1 -0
  161. package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts +2 -0
  162. package/dist/tests/unit/api/verifyMalformedToken.unit.test.d.ts.map +1 -0
  163. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js +89 -0
  164. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js.map +1 -0
  165. package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
  166. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
  167. package/dist/tests/unit/tasks/captchaManager.unit.test.js +51 -0
  168. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  169. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +20 -1
  170. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
  171. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +33 -1
  172. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  173. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +14 -1
  174. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
  175. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
  176. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
  177. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +94 -0
  178. package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
  179. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
  180. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
  181. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
  182. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
  183. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
  184. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
  185. package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
  186. package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
  187. package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
  188. package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
  189. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
  190. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
  191. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
  192. package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
  193. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
  194. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
  195. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
  196. package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
  197. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
  198. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
  199. package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
  200. package/dist/tests/unit/utils/tarpitPadding.unit.test.js +118 -36
  201. package/dist/tests/unit/utils/tarpitPadding.unit.test.js.map +1 -1
  202. package/dist/utils/tarpitPadding.d.ts.map +1 -1
  203. package/dist/utils/tarpitPadding.js +81 -10
  204. package/dist/utils/tarpitPadding.js.map +1 -1
  205. package/package.json +105 -103
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ let _prosopo_api_express_router = require("@prosopo/api-express-router");
2
+ //#region src/api/adminAuthOptions.ts
3
+ /** Longest admin token lifetime (exp - iat) accepted by default, in seconds. */
4
+ var DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS = 3600;
5
+ var parseList = (value) => (value ?? "").split(",").map((entry) => entry.trim()).filter((entry) => entry.length > 0);
6
+ /**
7
+ * Admin JWT checks for this provider.
8
+ *
9
+ * - Audience: a token carrying `aud` must name this provider. The accepted
10
+ * values come from PROSOPO_ADMIN_JWT_AUDIENCE (comma separated), else from
11
+ * the provider host as both `host` and `https://host`. Tokens without `aud`
12
+ * are still accepted until PROSOPO_ADMIN_JWT_REQUIRE_AUDIENCE=true.
13
+ * - Replay: a token carrying `jti` is accepted once per process.
14
+ * - Lifetime: exp - iat may not exceed PROSOPO_ADMIN_JWT_MAX_LIFETIME_SECONDS
15
+ * (default one hour).
16
+ */
17
+ var adminAuthOptions = (vars, host) => {
18
+ const configured = parseList(vars.PROSOPO_ADMIN_JWT_AUDIENCE);
19
+ const requireAudience = vars.PROSOPO_ADMIN_JWT_REQUIRE_AUDIENCE === "true";
20
+ const derived = host ? [host, `https://${host}`] : [];
21
+ const candidates = configured.length > 0 ? configured : derived;
22
+ const audience = candidates.length > 0 || requireAudience ? candidates : void 0;
23
+ const maxLifetime = Number.parseInt(vars.PROSOPO_ADMIN_JWT_MAX_LIFETIME_SECONDS ?? "", 10);
24
+ return {
25
+ verify: {
26
+ audience,
27
+ requireAudience,
28
+ maxLifetimeSeconds: Number.isFinite(maxLifetime) && maxLifetime > 0 ? maxLifetime : DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS
29
+ },
30
+ replayGuard: (0, _prosopo_api_express_router.createMemoryJwtReplayGuard)()
31
+ };
32
+ };
33
+ //#endregion
34
+ exports.DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS = DEFAULT_ADMIN_JWT_MAX_LIFETIME_SECONDS;
35
+ exports.adminAuthOptions = adminAuthOptions;
@@ -13,6 +13,15 @@ var resolveScoreLadder = (configured) => {
13
13
  };
14
14
  };
15
15
  /**
16
+ * The types any session minted by /frictionless may be. The owner's
17
+ * `frictionlessTypes` only governs the frictionless flow, so a site pinned to
18
+ * a concrete `captchaType` is held to the feature flags alone.
19
+ */
20
+ var resolveSiteAllowedCaptchaTypes = (settings) => (0, _prosopo_types.resolveAllowedCaptchaTypes)({
21
+ captchaTypeFeatureFlags: settings.captchaTypeFeatureFlags,
22
+ ...(!settings.captchaType || settings.captchaType === _prosopo_types.CaptchaType.frictionless) && { frictionlessTypes: settings.frictionlessTypes }
23
+ });
24
+ /**
16
25
  * Size an image challenge by how much was actually found. `base` is the
17
26
  * sitekey's ordinary image round count; each triggered signal adds a round,
18
27
  * capped by `MAX_DETECTOR_EXTRA_IMAGE_ROUNDS`. A session with nothing
@@ -24,3 +33,4 @@ var getRoundsFromTriggeredDetectors = (base, triggeredDetectors) => base + Math.
24
33
  //#endregion
25
34
  exports.getRoundsFromTriggeredDetectors = getRoundsFromTriggeredDetectors;
26
35
  exports.resolveScoreLadder = resolveScoreLadder;
36
+ exports.resolveSiteAllowedCaptchaTypes = resolveSiteAllowedCaptchaTypes;
@@ -1,7 +1,9 @@
1
1
  const require_metrics = require("../../metrics.cjs");
2
2
  const require_dnsEventUrl = require("../../dnsEventUrl.cjs");
3
+ const require_rawTlsSignalsMiddleware = require("../../rawTlsSignalsMiddleware.cjs");
3
4
  const require_compositeIpAddress = require("../../../compositeIpAddress.cjs");
4
5
  const require_blacklistRequestInspector = require("../../blacklistRequestInspector.cjs");
6
+ const require_captchaTypeSelection = require("../../../tasks/captchaTypeSelection.cjs");
5
7
  const require_devicePlatform = require("../../../utils/devicePlatform.cjs");
6
8
  const require_tasks = require("../../../tasks/tasks.cjs");
7
9
  const require_apiToggleMaintenanceModeEndpoint = require("../../admin/apiToggleMaintenanceModeEndpoint.cjs");
@@ -9,7 +11,6 @@ const require_testSiteKey = require("../../testSiteKey.cjs");
9
11
  const require_normalizeRequestIp = require("../../../utils/normalizeRequestIp.cjs");
10
12
  const require_hashUserAgent = require("../../../utils/hashUserAgent.cjs");
11
13
  const require_hashUserIp = require("../../../utils/hashUserIp.cjs");
12
- const require_rawTlsSignalsMiddleware = require("../../rawTlsSignalsMiddleware.cjs");
13
14
  const require_maintenanceModeResponses = require("../maintenanceModeResponses.cjs");
14
15
  const require_trafficFilterRequestTime = require("../trafficFilterRequestTime.cjs");
15
16
  const require_honeypotResponse = require("./honeypotResponse.cjs");
@@ -17,6 +18,7 @@ const require_accessPolicy = require("./accessPolicy.cjs");
17
18
  const require_constants = require("./constants.cjs");
18
19
  const require_decisionMachine = require("./decisionMachine.cjs");
19
20
  const require_decryptSimdReadings = require("./decryptSimdReadings.cjs");
21
+ const require_refreshLineage = require("./refreshLineage.cjs");
20
22
  const require_sessionDedup = require("./sessionDedup.cjs");
21
23
  const require_shortCircuit = require("./shortCircuit.cjs");
22
24
  let _prosopo_common = require("@prosopo/common");
@@ -38,7 +40,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
38
40
  }
39
41
  }));
40
42
  });
41
- const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
43
+ const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId, refreshOf } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
42
44
  const currentUrl = (0, _prosopo_util.sanitisePageUrl)(reportedCurrentUrl);
43
45
  const iframeUrl = (0, _prosopo_util.sanitisePageUrl)(reportedIframeUrl);
44
46
  const isProtect = (0, _prosopo_util.isProtectDeployment)(currentUrl, iframeUrl);
@@ -108,6 +110,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
108
110
  i18n: req.i18n,
109
111
  logger: req.logger
110
112
  }));
113
+ const allowedCaptchaTypes = require_constants.resolveSiteAllowedCaptchaTypes(clientRecord.settings);
114
+ tasks.frictionlessManager.setAllowedCaptchaTypes(allowedCaptchaTypes);
111
115
  if (dedup) {
112
116
  const dedupCountryCode = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.countryCode : void 0;
113
117
  const dedupAsn = req.ipInfo && "isValid" in req.ipInfo && req.ipInfo.isValid ? req.ipInfo.asnNumber : void 0;
@@ -144,16 +148,17 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
144
148
  ...dedupTrafficPolicies && { trafficPolicies: dedupTrafficPolicies }
145
149
  }
146
150
  }) : { captchaType: cachedCaptchaType };
147
- const dedupConflictsWithRouting = dedupRouted.captchaType !== cachedCaptchaType;
151
+ const dedupConflictsWithRouting = require_captchaTypeSelection.coerceToEnabledCaptchaType(dedupRouted.captchaType, allowedCaptchaTypes) !== cachedCaptchaType;
152
+ const dedupConflictsWithAllowedTypes = require_captchaTypeSelection.coerceToEnabledCaptchaType(cachedCaptchaType, allowedCaptchaTypes) !== cachedCaptchaType;
148
153
  let dedupConflictsWithBundle = false;
149
154
  let dedupIncomingBundleId;
150
155
  if (detectorSessionId && dedup.session.bundleId) {
151
156
  dedupIncomingBundleId = (await tasks.frictionlessManager.resolveBundleByDetectorSession(detectorSessionId))?.bundleId;
152
157
  if (dedupIncomingBundleId !== void 0 && dedupIncomingBundleId !== dedup.session.bundleId) dedupConflictsWithBundle = true;
153
158
  }
154
- if (dedupConflictsWithPolicy || dedupConflictsWithRouting) {
159
+ if (dedupConflictsWithPolicy || dedupConflictsWithRouting || dedupConflictsWithAllowedTypes) {
155
160
  req.logger.info(() => ({
156
- msg: "Evicting reused session: cached captchaType conflicts with access policy or routing machine",
161
+ msg: "Evicting reused session: cached captchaType conflicts with access policy, routing machine or allowed types",
157
162
  data: {
158
163
  userSitekeyIpHash,
159
164
  sessionId: dedup.sessionId,
@@ -162,7 +167,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
162
167
  policyType: dedupAccessPolicy?.type,
163
168
  policyCaptchaType: dedupAccessPolicy?.captchaType
164
169
  },
165
- ...dedupConflictsWithRouting && { routedCaptchaType: dedupRouted.captchaType }
170
+ ...dedupConflictsWithRouting && { routedCaptchaType: dedupRouted.captchaType },
171
+ ...dedupConflictsWithAllowedTypes && { allowedCaptchaTypes }
166
172
  }
167
173
  }));
168
174
  await tasks.db.checkAndRemoveSession(dedup.sessionId);
@@ -306,6 +312,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
306
312
  ...triggeredDetectors && triggeredDetectors.length > 0 && { triggeredDetectors },
307
313
  ...shadowDomPenalty !== void 0 && { shadowDomPenalty }
308
314
  };
315
+ const refreshLineage = await require_refreshLineage.resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
309
316
  tasks.frictionlessManager.setSessionParams({
310
317
  token: sessionToken,
311
318
  score: botScore,
@@ -326,6 +333,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
326
333
  ...decodedSimdReadings && { simdReadings: decodedSimdReadings },
327
334
  ...d !== void 0 && { d },
328
335
  ...clientSessionId && { clientMetaData: { clientSessionId } },
336
+ ...refreshLineage,
329
337
  ...req.tcpToChelloUs !== void 0 && { tcpToChelloUs: req.tcpToChelloUs },
330
338
  ...req.chelloToHandshakeUs !== void 0 && { chelloToHandshakeUs: req.chelloToHandshakeUs },
331
339
  ...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
@@ -341,7 +349,6 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
341
349
  score: botScore,
342
350
  imageMaxRounds: clientRecord.settings.imageMaxRounds,
343
351
  imageMinRounds: clientRecord.settings.imageMinRounds,
344
- frictionlessTypes: clientRecord.settings.frictionlessTypes,
345
352
  baseImageRounds: env.config.captchas.solved.count,
346
353
  puzzleMaxDifficulty: clientRecord.settings.puzzleMaxDifficulty,
347
354
  platform: require_devicePlatform.derivePlatform(requestUserAgent, webView, { ...typeof ipInfoMobile === "boolean" && { isMobile: ipInfoMobile } }),
@@ -378,7 +385,6 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
378
385
  botScore = accessPolicyOutcome.botScore;
379
386
  scoreComponents = accessPolicyOutcome.scoreComponents;
380
387
  const trafficFilterVerdict = require_trafficFilterRequestTime.applyTrafficFilterAtRequestTime(req.ipInfo, clientRecord.settings?.trafficFilter, req.logger);
381
- res.locals.padBytes = trafficFilterVerdict.padBytes;
382
388
  const trafficFilterOutcome = await require_trafficFilterRequestTime.handleFrictionlessTrafficFilter({
383
389
  verdict: trafficFilterVerdict,
384
390
  frictionlessManager: tasks.frictionlessManager,
@@ -0,0 +1,20 @@
1
+ //#region src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts
2
+ /**
3
+ * Work out where a refresh sits in its chain from the session it replaced.
4
+ *
5
+ * An unknown session, or one from another site, is ignored rather than
6
+ * rejected: the request then mints an ordinary session, which is all a client
7
+ * that never sent `refreshOf` would have got.
8
+ */
9
+ var resolveRefreshLineage = async (db, refreshOf, siteKey, now) => {
10
+ if (!refreshOf) return void 0;
11
+ const replaced = await db.getSessionRecordBySessionId(refreshOf);
12
+ if (!replaced || replaced.siteKey !== siteKey) return void 0;
13
+ return {
14
+ refreshOf,
15
+ refreshCount: (replaced.refreshCount ?? 0) + 1,
16
+ refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
17
+ };
18
+ };
19
+ //#endregion
20
+ exports.resolveRefreshLineage = resolveRefreshLineage;
@@ -13,6 +13,7 @@ const require_requestBodySummary = require("../requestBodySummary.cjs");
13
13
  let _prosopo_common = require("@prosopo/common");
14
14
  let _prosopo_types = require("@prosopo/types");
15
15
  let _prosopo_util = require("@prosopo/util");
16
+ let _prosopo_puzzle_assets = require("@prosopo/puzzle-assets");
16
17
  //#region src/api/captcha/getPuzzleCaptchaChallenge.ts
17
18
  var getPuzzleCaptchaChallenge_default = (env, userAccessRulesStorage) => async (req, res, next) => {
18
19
  let parsed;
@@ -113,6 +114,29 @@ var getPuzzleCaptchaChallenge_default = (env, userAccessRulesStorage) => async (
113
114
  targetX: challenge.targetX,
114
115
  targetY: challenge.targetY
115
116
  }, effectivePuzzleSettings, effectivePieceSize);
117
+ await tasks.db.updatePuzzleCaptchaRecord(challenge.challenge, { render: {
118
+ ...sessionRecord?.puzzleLevel !== void 0 && { level: sessionRecord.puzzleLevel },
119
+ pieceSize: images.pieceSize,
120
+ geometry: {
121
+ width: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.width,
122
+ height: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.height,
123
+ notchSize: _prosopo_puzzle_assets.DEFAULT_GEOMETRY.notchSize
124
+ },
125
+ settings: {
126
+ decoyCount: effectivePuzzleSettings.decoyCount,
127
+ decoyEdgeDarkness: effectivePuzzleSettings.decoyEdgeDarkness,
128
+ decoyBodyBrightness: effectivePuzzleSettings.decoyBodyBrightness,
129
+ holeDarken: effectivePuzzleSettings.holeDarken,
130
+ decoyHoleDarken: effectivePuzzleSettings.decoyHoleDarken
131
+ },
132
+ backgroundSeed: images.backgroundSeed,
133
+ renderSeed: images.renderSeed
134
+ } }).catch((updateErr) => {
135
+ req.logger.warn(() => ({
136
+ err: updateErr,
137
+ msg: "Failed to patch puzzle render inputs onto the challenge record"
138
+ }));
139
+ });
116
140
  const padBytes = trafficVerdict.padBytes;
117
141
  const getPuzzleCaptchaResponse = {
118
142
  [_prosopo_types.ApiParams.status]: "ok",
@@ -1,11 +1,11 @@
1
1
  const require_validateAddress = require("../validateAddress.cjs");
2
+ const require_rawTlsSignalsMiddleware = require("../rawTlsSignalsMiddleware.cjs");
2
3
  const require_captchaTypeSelection = require("../../tasks/captchaTypeSelection.cjs");
3
4
  const require_puzzleDifficulty = require("../../tasks/puzzle/puzzleDifficulty.cjs");
4
5
  const require_devicePlatform = require("../../utils/devicePlatform.cjs");
5
6
  const require_tasks = require("../../tasks/tasks.cjs");
6
7
  const require_apiToggleMaintenanceModeEndpoint = require("../admin/apiToggleMaintenanceModeEndpoint.cjs");
7
8
  const require_testSiteKey = require("../testSiteKey.cjs");
8
- const require_rawTlsSignalsMiddleware = require("../rawTlsSignalsMiddleware.cjs");
9
9
  const require_requestBodySummary = require("../requestBodySummary.cjs");
10
10
  let _prosopo_common = require("@prosopo/common");
11
11
  let _prosopo_types = require("@prosopo/types");
@@ -100,8 +100,9 @@ var submitPoWCaptchaSolution_default = (env) => async (req, res, next) => {
100
100
  chelloToHandshakeUs: req.chelloToHandshakeUs,
101
101
  ...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
102
102
  }, {
103
- frictionlessTypes: clientRecord.settings?.frictionlessTypes,
104
- imageMaxRounds: clientRecord.settings?.imageMaxRounds
103
+ allowedCaptchaTypes: (0, _prosopo_types.resolveAllowedCaptchaTypes)(clientRecord.settings),
104
+ imageMaxRounds: clientRecord.settings?.imageMaxRounds,
105
+ puzzleMaxDifficulty: clientRecord.settings?.puzzleMaxDifficulty
105
106
  });
106
107
  const response = {
107
108
  status: "ok",
@@ -144,17 +145,19 @@ var buildEscalation = async (tasks, result, challenge, perConnectionSignals, sit
144
145
  const originSession = await tasks.db.getSessionRecordBySessionId(powRecord.sessionId);
145
146
  if (!originSession) return void 0;
146
147
  const routed = result.routingOutput;
147
- const escalatedType = require_captchaTypeSelection.coerceToEnabledCaptchaType(routed.captchaType, siteConstraints?.frictionlessTypes);
148
+ const escalatedType = require_captchaTypeSelection.coerceToEnabledCaptchaType(routed.captchaType, siteConstraints?.allowedCaptchaTypes);
148
149
  if (escalatedType === _prosopo_types.CaptchaType.pow) return void 0;
149
150
  const imageMaxRounds = siteConstraints?.imageMaxRounds ?? _prosopo_types.imageMaxRoundsDefault;
150
151
  const escalationPuzzleOverrides = (() => {
151
152
  if (escalatedType !== _prosopo_types.CaptchaType.puzzle) return void 0;
152
- const level = (0, _prosopo_captcha_severity.severityToPuzzleDifficulty)(routed.solvedImagesCount ?? originSession.solvedImagesCount, tasks.config.captchas.solved.count);
153
+ const { isMobile } = require_devicePlatform.derivePlatform(originSession.headers?.["user-agent"] ?? "", originSession.webView);
154
+ const level = (0, _prosopo_captcha_severity.severityToPuzzleDifficulty)(routed.solvedImagesCount ?? originSession.solvedImagesCount, tasks.config.captchas.solved.count, (0, _prosopo_captcha_severity.resolveMaxEscalationLevel)(siteConstraints?.puzzleMaxDifficulty, isMobile));
153
155
  if (level === 0) return void 0;
154
156
  const difficulty = require_puzzleDifficulty.samplePuzzleDifficulty(level, _prosopo_puzzle_assets.DEFAULT_RENDER_SETTINGS.holeDarken);
155
157
  return {
156
158
  puzzleTolerance: difficulty.tolerance,
157
- puzzle: difficulty.puzzle
159
+ puzzle: difficulty.puzzle,
160
+ puzzleLevel: difficulty.level
158
161
  };
159
162
  })();
160
163
  const selectionReason = routed.reason ?? originSession.reason;
@@ -185,15 +188,7 @@ var buildEscalation = async (tasks, result, challenge, perConnectionSignals, sit
185
188
  originSessionId: originSession.sessionId,
186
189
  tcpToChelloUs: perConnectionSignals?.tcpToChelloUs,
187
190
  chelloToHandshakeUs: perConnectionSignals?.chelloToHandshakeUs,
188
- synNs: perConnectionSignals?.synNs,
189
- synackNs: perConnectionSignals?.synackNs,
190
- ackNs: perConnectionSignals?.ackNs,
191
- observedTtl: perConnectionSignals?.observedTtl,
192
- tcpMss: perConnectionSignals?.tcpMss,
193
- tcpWscale: perConnectionSignals?.tcpWscale,
194
- tcpOptsFlags: perConnectionSignals?.tcpOptsFlags,
195
- tcpOptsOrder: perConnectionSignals?.tcpOptsOrder,
196
- tcpWindow: perConnectionSignals?.tcpWindow,
191
+ ...require_rawTlsSignalsMiddleware.rawTlsSignalsFromRecord(perConnectionSignals),
197
192
  puzzleTolerance: escalationPuzzleOverrides?.puzzleTolerance,
198
193
  puzzle: escalationPuzzleOverrides?.puzzle,
199
194
  clientMetaData: originSession.clientMetaData
@@ -0,0 +1,33 @@
1
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
+ let express = require("express");
3
+ express = require_runtime.__toESM(express, 1);
4
+ //#region src/api/detectorPoolBodyParser.ts
5
+ var hasValidAdminJwt = (req, pair, authAccount) => {
6
+ const header = req.headers.authorization;
7
+ if (typeof header !== "string" || !header.startsWith("Bearer ")) return false;
8
+ const jwt = header.slice(7);
9
+ try {
10
+ return authAccount?.jwtVerify(jwt).isValid === true || pair?.jwtVerify(jwt).isValid === true;
11
+ } catch {
12
+ return false;
13
+ }
14
+ };
15
+ /**
16
+ * Parses the detector-pool push body with its large limit, but only for a
17
+ * request that carries a valid admin JWT. This parser runs before the admin
18
+ * auth middleware and the rate limits, so without the check anyone could make
19
+ * the provider buffer and parse a body of up to `limit`. Other requests fall
20
+ * through to the default, much smaller, JSON parser.
21
+ */
22
+ var detectorPoolBodyParser = (limit, pair, authAccount) => {
23
+ const parse = express.default.json({ limit });
24
+ return (req, res, next) => {
25
+ if (!hasValidAdminJwt(req, pair, authAccount)) {
26
+ next();
27
+ return;
28
+ }
29
+ parse(req, res, next);
30
+ };
31
+ };
32
+ //#endregion
33
+ exports.detectorPoolBodyParser = detectorPoolBodyParser;
@@ -48,9 +48,13 @@ var domainMiddleware = (env) => {
48
48
  require_metrics.recordDomainValidation("rejected");
49
49
  if (err instanceof _prosopo_common.ProsopoApiError || err instanceof zod.ZodError || err instanceof SyntaxError) (0, _prosopo_api_express_router.handleErrors)(err, req, res, next);
50
50
  else {
51
+ req.logger.error(() => ({
52
+ err,
53
+ msg: "Domain middleware error"
54
+ }));
51
55
  res.status(401).json({
52
56
  error: "Unauthorized",
53
- message: err
57
+ message: "Unauthorized"
54
58
  });
55
59
  return;
56
60
  }
@@ -1,4 +1,6 @@
1
1
  let _prosopo_types = require("@prosopo/types");
2
+ let node_crypto = require("node:crypto");
3
+ let node_net = require("node:net");
2
4
  let prom_client = require("prom-client");
3
5
  //#region src/api/metrics.ts
4
6
  var metricsEnabled = () => process.env.PROSOPO_METRICS_ENABLED !== "false";
@@ -340,11 +342,51 @@ var metricsMiddleware = () => {
340
342
  next();
341
343
  };
342
344
  };
345
+ var internalNetworks = () => {
346
+ const list = new node_net.BlockList();
347
+ list.addSubnet("127.0.0.0", 8, "ipv4");
348
+ list.addSubnet("10.0.0.0", 8, "ipv4");
349
+ list.addSubnet("172.16.0.0", 12, "ipv4");
350
+ list.addSubnet("192.168.0.0", 16, "ipv4");
351
+ list.addAddress("::1", "ipv6");
352
+ list.addSubnet("fc00::", 7, "ipv6");
353
+ list.addSubnet("fe80::", 10, "ipv6");
354
+ return list;
355
+ };
356
+ var INTERNAL_NETWORKS = internalNetworks();
357
+ var isInternalAddress = (address) => {
358
+ if (!address) return false;
359
+ const v4 = address.startsWith("::ffff:") ? address.slice(7) : address;
360
+ if ((0, node_net.isIPv4)(v4)) return INTERNAL_NETWORKS.check(v4, "ipv4");
361
+ if ((0, node_net.isIPv6)(address)) return INTERNAL_NETWORKS.check(address, "ipv6");
362
+ return false;
363
+ };
364
+ var tokenMatches = (header, token) => {
365
+ const expected = Buffer.from(`Bearer ${token}`);
366
+ const actual = Buffer.from(header ?? "");
367
+ return actual.length === expected.length && (0, node_crypto.timingSafeEqual)(actual, expected);
368
+ };
369
+ /**
370
+ * Who may scrape /metrics.
371
+ *
372
+ * - PROSOPO_METRICS_TOKEN set: any caller with `Authorization: Bearer <token>`.
373
+ * - Otherwise only direct connections from loopback or private addresses, e.g.
374
+ * vector on the docker network. A request that came through a reverse proxy
375
+ * (it carries a forwarding header) is refused even though its socket peer is
376
+ * the proxy's private address, so the public site cannot reach it.
377
+ * - PROSOPO_METRICS_PUBLIC=true restores the old open endpoint.
378
+ */
379
+ var metricsAccess = (req, vars = process.env) => {
380
+ const token = vars.PROSOPO_METRICS_TOKEN;
381
+ if (token) return tokenMatches(req.headers.authorization, token) ? 200 : 401;
382
+ if (vars.PROSOPO_METRICS_PUBLIC === "true") return 200;
383
+ return !(req.headers["x-forwarded-for"] !== void 0 || req.headers.forwarded !== void 0 || req.headers["x-real-ip"] !== void 0) && isInternalAddress(req.socket?.remoteAddress) ? 200 : 403;
384
+ };
343
385
  var metricsHandler = (env) => {
344
386
  return async (req, res) => {
345
- const token = process.env.PROSOPO_METRICS_TOKEN;
346
- if (token && req.headers.authorization !== `Bearer ${token}`) {
347
- res.status(401).send("Unauthorized");
387
+ const access = metricsAccess(req);
388
+ if (access !== 200) {
389
+ res.status(access).send(access === 401 ? "Unauthorized" : "Forbidden");
348
390
  return;
349
391
  }
350
392
  const m = getMetrics();
@@ -363,6 +405,7 @@ var metricsHandler = (env) => {
363
405
  //#endregion
364
406
  exports.getMetrics = getMetrics;
365
407
  exports.measureSync = measureSync;
408
+ exports.metricsAccess = metricsAccess;
366
409
  exports.metricsEnabled = metricsEnabled;
367
410
  exports.metricsHandler = metricsHandler;
368
411
  exports.metricsMiddleware = metricsMiddleware;