@prosopo/provider 5.14.0 → 5.16.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 +62 -46
- package/.turbo/turbo-build$colon$tsc.log +37 -34
- package/.turbo/turbo-build.log +63 -50
- package/CHANGELOG.md +193 -0
- package/LICENSE +201 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +4 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -1
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +63 -3
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -1
- package/dist/api/blacklistRequestInspector.js +2 -2
- package/dist/api/captcha/getAudioCaptchaChallenge.d.ts +5 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.js +37 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +26 -15
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
- package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts +5 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.js +37 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getImageCaptchaChallenge.js +2 -2
- package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -4
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +1 -3
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +53 -146
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/interactiveCaptchaChallenge.d.ts +42 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.js +154 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/interactiveCaptchaSolution.d.ts +14 -0
- package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/interactiveCaptchaSolution.js +77 -0
- package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/maintenanceModeResponses.d.ts +4 -2
- package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -1
- package/dist/api/captcha/maintenanceModeResponses.js +28 -1
- package/dist/api/captcha/maintenanceModeResponses.js.map +1 -1
- package/dist/api/captcha/submitAudioCaptchaSolution.d.ts +4 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.js +11 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts +4 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.js +11 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +13 -18
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +1 -3
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js +6 -73
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts +4 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.js +3 -0
- package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +8 -0
- package/dist/api/captcha.js.map +1 -1
- package/dist/api/domainMiddleware.js +1 -1
- package/dist/api/ja4Middleware.js +1 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.js +111 -23
- package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
- package/dist/api/startProviderApi.js +2 -2
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +153 -96
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +65 -2
- package/dist/cjs/api/blacklistRequestInspector.cjs +2 -2
- package/dist/cjs/api/captcha/getAudioCaptchaChallenge.cjs +37 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +25 -14
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -0
- package/dist/cjs/api/captcha/getIconOrderCaptchaChallenge.cjs +37 -0
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -2
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -4
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +52 -145
- package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +154 -0
- package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +77 -0
- package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +29 -0
- package/dist/cjs/api/captcha/submitAudioCaptchaSolution.cjs +11 -0
- package/dist/cjs/api/captcha/submitIconOrderCaptchaSolution.cjs +11 -0
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +11 -16
- package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +6 -73
- package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +3 -0
- package/dist/cjs/api/captcha.cjs +8 -0
- package/dist/cjs/api/domainMiddleware.cjs +1 -1
- package/dist/cjs/api/ja4Middleware.cjs +1 -1
- package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
- package/dist/cjs/api/startProviderApi.cjs +2 -2
- package/dist/cjs/api/verify.cjs +152 -95
- package/dist/cjs/compositeIpAddress.cjs +21 -7
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/tasks/audio/audioBuffer.cjs +72 -0
- package/dist/cjs/tasks/audio/audioRenderer.cjs +32 -0
- package/dist/cjs/tasks/audioAlternative.cjs +23 -0
- package/dist/cjs/tasks/audioCaptcha/audioTasks.cjs +65 -0
- package/dist/cjs/tasks/audioCaptcha/audioTasksUtils.cjs +19 -0
- package/dist/cjs/tasks/captchaManager.cjs +28 -1
- package/dist/cjs/tasks/captchaTypeSelection.cjs +31 -3
- package/dist/cjs/tasks/client/clientTasks.cjs +2 -2
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +49 -26
- package/dist/cjs/tasks/iconOrder/iconOrderRenderer.cjs +42 -0
- package/dist/cjs/tasks/iconOrderCaptcha/iconOrderTasks.cjs +69 -0
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +10 -17
- package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +423 -0
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +15 -19
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +3 -1
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +40 -493
- package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +18 -1
- package/dist/cjs/tasks/tasks.cjs +6 -0
- package/dist/cjs/util.cjs +1 -1
- package/dist/compositeIpAddress.d.ts.map +1 -1
- package/dist/compositeIpAddress.js +21 -7
- package/dist/compositeIpAddress.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/tasks/audio/audioBuffer.d.ts +23 -0
- package/dist/tasks/audio/audioBuffer.d.ts.map +1 -0
- package/dist/tasks/audio/audioBuffer.js +70 -0
- package/dist/tasks/audio/audioBuffer.js.map +1 -0
- package/dist/tasks/audio/audioRenderer.d.ts +11 -0
- package/dist/tasks/audio/audioRenderer.d.ts.map +1 -0
- package/dist/tasks/audio/audioRenderer.js +31 -0
- package/dist/tasks/audio/audioRenderer.js.map +1 -0
- package/dist/tasks/audioAlternative.d.ts +8 -0
- package/dist/tasks/audioAlternative.d.ts.map +1 -0
- package/dist/tasks/audioAlternative.js +20 -0
- package/dist/tasks/audioAlternative.js.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasks.d.ts +19 -0
- package/dist/tasks/audioCaptcha/audioTasks.d.ts.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasks.js +65 -0
- package/dist/tasks/audioCaptcha/audioTasks.js.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts +3 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.js +18 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.js.map +1 -0
- package/dist/tasks/captchaManager.d.ts +9 -3
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +29 -2
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/captchaTypeSelection.d.ts +4 -2
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
- package/dist/tasks/captchaTypeSelection.js +32 -5
- package/dist/tasks/captchaTypeSelection.js.map +1 -1
- package/dist/tasks/client/clientTasks.js +2 -2
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +6 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +51 -28
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/iconOrder/iconOrderRenderer.d.ts +12 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.d.ts.map +1 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.js +40 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.js.map +1 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts +22 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts.map +1 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js +69 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +10 -17
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts +52 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +423 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -0
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +15 -19
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +3 -2
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.js +12 -5
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +14 -16
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +41 -494
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts +4 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.js +18 -1
- package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
- package/dist/tasks/tasks.d.ts +4 -0
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +6 -0
- package/dist/tasks/tasks.js.map +1 -1
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +7 -3
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +44 -2
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +4 -2
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +76 -1
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +54 -2
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +20 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
- package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
- package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js +105 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.js +76 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js +259 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js +52 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +171 -2
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +68 -6
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +123 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +31 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +28 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js +60 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js +225 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
- package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
- package/dist/util.js +1 -1
- package/package.json +107 -103
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { buildAllWindowIncrements } from "../../util/usageCounters.js";
|
|
2
|
+
import { rawTlsSignalsFromRecord } from "../../api/rawTlsSignalsMiddleware.js";
|
|
3
|
+
import { getCompositeIpAddress, getIpAddressFromComposite } from "../../compositeIpAddress.js";
|
|
4
|
+
import { deepValidateIpAddress } from "../../util.js";
|
|
5
|
+
import { isClientSessionMismatch, toStoredClientMetaData } from "../../utils/clientMetaData.js";
|
|
6
|
+
import { deriveTrafficPolicies } from "../../utils/devicePlatform.js";
|
|
7
|
+
import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/enrichDnsEvent.js";
|
|
8
|
+
import { CaptchaManager } from "../captchaManager.js";
|
|
9
|
+
import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
|
|
10
|
+
import { computeFrictionlessScore } from "../frictionless/frictionlessTasksUtils.js";
|
|
11
|
+
import { checkPowSignature } from "../powCaptcha/powTasksUtils.js";
|
|
12
|
+
import { normaliseEmailForMatching } from "../spam/evaluateEmailSpamRules.js";
|
|
13
|
+
import { ProsopoApiError, ProsopoEnvError } from "@prosopo/common";
|
|
14
|
+
import { ApiParams, CaptchaStatus, DecisionMachineDecision, POW_SEPARATOR, ResultReason, SimdReadingsStage, isBlockingCaptchaResult } from "@prosopo/types";
|
|
15
|
+
import { stringToHex, u8aToHex } from "@polkadot/util";
|
|
16
|
+
import { describeMatchedRule } from "@prosopo/user-access-policy";
|
|
17
|
+
import { assertCoordsSafe, at, extractData, verifyRecency } from "@prosopo/util";
|
|
18
|
+
//#region src/tasks/interactiveCaptcha/interactiveCaptchaManager.ts
|
|
19
|
+
/**
|
|
20
|
+
* Shared pipeline for the captcha types a human solves on screen (puzzle,
|
|
21
|
+
* icon-order). Subclasses supply the record accessors and grading; minting,
|
|
22
|
+
* submission bookkeeping and server verification live here.
|
|
23
|
+
*/
|
|
24
|
+
var InteractiveCaptchaManager = class extends CaptchaManager {
|
|
25
|
+
constructor(db, pair, config, logger, usageCounters) {
|
|
26
|
+
super(db, pair, config, logger);
|
|
27
|
+
this.POW_SEPARATOR = POW_SEPARATOR;
|
|
28
|
+
this.decisionMachineRunner = new DecisionMachineRunner(db);
|
|
29
|
+
this.usageCounters = usageCounters ?? null;
|
|
30
|
+
}
|
|
31
|
+
mintChallenge(userAccount, dappAccount) {
|
|
32
|
+
const requestedAtTimestamp = Date.now();
|
|
33
|
+
const challenge = `${requestedAtTimestamp}___${userAccount}___${dappAccount}___${Math.floor(Math.random() * 1e6)}`;
|
|
34
|
+
return {
|
|
35
|
+
challenge,
|
|
36
|
+
providerSignature: u8aToHex(this.pair.sign(stringToHex(challenge))),
|
|
37
|
+
requestedAtTimestamp
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Grades a user's submission and records the outcome on the captcha and
|
|
42
|
+
* session records. Returns whether the solution was correct.
|
|
43
|
+
*/
|
|
44
|
+
async submitInteractiveCaptchaSolution(submission) {
|
|
45
|
+
const { challenge, userTimestampSignature, behavioralData, simdReadings } = submission;
|
|
46
|
+
checkPowSignature(challenge, submission.providerChallengeSignature, this.pair.address, ApiParams.challenge);
|
|
47
|
+
const challengeSplit = challenge.split(this.POW_SEPARATOR);
|
|
48
|
+
const timestamp = Number.parseInt(at(challengeSplit, 0));
|
|
49
|
+
const userAccount = at(challengeSplit, 1);
|
|
50
|
+
checkPowSignature(timestamp.toString(), userTimestampSignature, userAccount, ApiParams.timestamp);
|
|
51
|
+
const challengeRecord = await this.getRecordByChallenge(challenge);
|
|
52
|
+
if (!challengeRecord) {
|
|
53
|
+
this.logger.debug(() => ({ msg: `No record of this challenge: ${challenge}` }));
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const { coords, saltDecodeError } = this.decodeSaltCoords(submission.salt);
|
|
57
|
+
if (!await this.claimSubmission(challengeRecord)) {
|
|
58
|
+
this.logger.debug(() => ({ msg: `Challenge already submitted: ${challenge}` }));
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (saltDecodeError) {
|
|
62
|
+
await this.recordSubmissionResult(challengeRecord, {
|
|
63
|
+
status: CaptchaStatus.disapproved,
|
|
64
|
+
reason: ResultReason.CAPTCHA_INVALID_SALT
|
|
65
|
+
}, userTimestampSignature, void 0);
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (!verifyRecency(challenge, submission.timeout)) {
|
|
69
|
+
await this.recordSubmissionResult(challengeRecord, {
|
|
70
|
+
status: CaptchaStatus.disapproved,
|
|
71
|
+
reason: ResultReason.CAPTCHA_INVALID_TIMESTAMP
|
|
72
|
+
}, userTimestampSignature, coords);
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const correct = submission.isCorrect(challengeRecord);
|
|
76
|
+
const result = correct ? { status: CaptchaStatus.approved } : {
|
|
77
|
+
status: CaptchaStatus.disapproved,
|
|
78
|
+
reason: ResultReason.CAPTCHA_INVALID_SOLUTION
|
|
79
|
+
};
|
|
80
|
+
if (correct && this.usageCounters) this.usageCounters.incrManyAsync(at(challengeSplit, 2), buildAllWindowIncrements("solved", this.captchaType, submission.ipAddress.address, userAccount));
|
|
81
|
+
await submission.persistInteraction();
|
|
82
|
+
const decodedPayloads = await this.decodeSubmissionPayloads(challengeRecord.sessionId, {
|
|
83
|
+
behavioural: behavioralData,
|
|
84
|
+
simd: simdReadings
|
|
85
|
+
});
|
|
86
|
+
if (behavioralData) try {
|
|
87
|
+
const decryptedData = decodedPayloads.behavioural;
|
|
88
|
+
if (decryptedData) {
|
|
89
|
+
this.logger?.info(() => ({
|
|
90
|
+
msg: "Behavioral analysis completed",
|
|
91
|
+
data: {
|
|
92
|
+
userAccount,
|
|
93
|
+
dappAccount: at(challengeSplit, 2),
|
|
94
|
+
challenge,
|
|
95
|
+
mouseEventsCount: decryptedData.collector1?.length || 0,
|
|
96
|
+
touchEventsCount: decryptedData.collector2?.length || 0,
|
|
97
|
+
clickEventsCount: decryptedData.collector3?.length || 0,
|
|
98
|
+
scrollEventsCount: decryptedData.collector4?.length || 0,
|
|
99
|
+
deviceCapability: decryptedData.deviceCapability,
|
|
100
|
+
captchaResult: correct ? "passed" : "failed"
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
const packedData = {
|
|
104
|
+
c1: decryptedData.collector1 || [],
|
|
105
|
+
c2: decryptedData.collector2 || [],
|
|
106
|
+
c3: decryptedData.collector3 || [],
|
|
107
|
+
c4: decryptedData.collector4 || [],
|
|
108
|
+
d: decryptedData.deviceCapability
|
|
109
|
+
};
|
|
110
|
+
await this.updateRecord(challenge, {
|
|
111
|
+
behavioralDataPacked: packedData,
|
|
112
|
+
deviceCapability: decryptedData.deviceCapability
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
} catch (error) {
|
|
116
|
+
this.logger?.error(() => ({
|
|
117
|
+
msg: "Failed to process behavioral data",
|
|
118
|
+
err: error
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
const storedClientMetaData = toStoredClientMetaData(submission.clientMetaData);
|
|
122
|
+
if (storedClientMetaData) await this.updateRecord(challenge, { clientMetaData: storedClientMetaData });
|
|
123
|
+
await this.recordSubmissionResult(challengeRecord, result, userTimestampSignature, coords, storedClientMetaData);
|
|
124
|
+
if (challengeRecord.sessionId && decodedPayloads.simd) await this.recordSessionSimdReadingsIfAbsentWithCache(challengeRecord.sessionId, decodedPayloads.simd, SimdReadingsStage.submit);
|
|
125
|
+
return correct;
|
|
126
|
+
}
|
|
127
|
+
/** Invalid salt disapproves the submission rather than being ignored. */
|
|
128
|
+
decodeSaltCoords(salt) {
|
|
129
|
+
if (!salt) return {};
|
|
130
|
+
try {
|
|
131
|
+
const extractedData = extractData(salt);
|
|
132
|
+
if (extractedData.length < 2) return {};
|
|
133
|
+
const coords = [[[extractedData[0], extractedData[1]]]];
|
|
134
|
+
assertCoordsSafe(coords, "coords");
|
|
135
|
+
return { coords };
|
|
136
|
+
} catch (error) {
|
|
137
|
+
this.logger.warn(() => ({
|
|
138
|
+
msg: "Failed to extract coordinates from salt",
|
|
139
|
+
error,
|
|
140
|
+
salt
|
|
141
|
+
}));
|
|
142
|
+
return { saltDecodeError: error };
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async recordSubmissionResult(challengeRecord, result, userSignature, coords, clientMetaData) {
|
|
146
|
+
await this.updateSubmissionResult(challengeRecord.challenge, result, userSignature, coords);
|
|
147
|
+
if (challengeRecord.sessionId) await this.updateSessionRecordWithCache(challengeRecord.sessionId, {
|
|
148
|
+
userSubmitted: true,
|
|
149
|
+
result,
|
|
150
|
+
...isBlockingCaptchaResult(this.captchaType, result) && { blocked: true },
|
|
151
|
+
...clientMetaData && { clientMetaData }
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The post-solve gate the site's server calls: decides whether the token
|
|
156
|
+
* the widget was given is honoured.
|
|
157
|
+
*
|
|
158
|
+
* @param dappAccount - the dapp that is requesting the captcha
|
|
159
|
+
* @param challenge - the challenge string
|
|
160
|
+
* @param timeout - milliseconds allowed between submit and verify
|
|
161
|
+
* @param env - provider environment
|
|
162
|
+
* @param ip - optional IP address for validation
|
|
163
|
+
* @param userAccessRulesStorage - storage for querying user access policies
|
|
164
|
+
* @param email
|
|
165
|
+
* @param spamEmailDomainCheckingEnabled
|
|
166
|
+
* @param spamFilter
|
|
167
|
+
* @param trafficFilter
|
|
168
|
+
* @param storeMetadata - when true, persists the dapp-server-provided
|
|
169
|
+
* `email` on the captcha record for spam-rate analysis.
|
|
170
|
+
* @param clientSessionId - the session id the site rendered the widget
|
|
171
|
+
* with. When supplied, the solve must carry the same value in its
|
|
172
|
+
* `clientMetaData` or it is disapproved.
|
|
173
|
+
*/
|
|
174
|
+
async serverVerifyInteractiveCaptchaSolution(dappAccount, challenge, timeout, env, ip, userAccessRulesStorage, email, spamEmailDomainCheckingEnabled = false, spamFilter, trafficFilter, storeMetadata = false, clientSessionId) {
|
|
175
|
+
const notVerifiedResponse = { verified: false };
|
|
176
|
+
const logger = this.logger.with({
|
|
177
|
+
challenge,
|
|
178
|
+
dappAccount
|
|
179
|
+
});
|
|
180
|
+
const challengeRecord = await this.getRecordByChallenge(challenge);
|
|
181
|
+
if (!challengeRecord) {
|
|
182
|
+
logger.debug(() => ({ msg: `No record of this challenge: ${challenge}` }));
|
|
183
|
+
return notVerifiedResponse;
|
|
184
|
+
}
|
|
185
|
+
notVerifiedResponse.sessionId = challengeRecord.sessionId;
|
|
186
|
+
if (challengeRecord.result.status !== CaptchaStatus.approved) throw new ProsopoApiError("CAPTCHA.INVALID_SOLUTION", { context: {
|
|
187
|
+
code: 400,
|
|
188
|
+
failedFuncName: this.serverVerifyInteractiveCaptchaSolution.name,
|
|
189
|
+
challenge
|
|
190
|
+
} });
|
|
191
|
+
if (challengeRecord.serverChecked) return notVerifiedResponse;
|
|
192
|
+
const challengeDappAccount = challengeRecord.dappAccount;
|
|
193
|
+
if (dappAccount !== challengeDappAccount) throw new ProsopoEnvError("CAPTCHA.DAPP_USER_SOLUTION_NOT_FOUND", { context: {
|
|
194
|
+
failedFuncName: this.serverVerifyInteractiveCaptchaSolution.name,
|
|
195
|
+
dappAccount,
|
|
196
|
+
challengeDappAccount
|
|
197
|
+
} });
|
|
198
|
+
if (!await this.markRecordChecked(challengeRecord.challenge)) return notVerifiedResponse;
|
|
199
|
+
const submittedAt = challengeRecord.submittedAtTimestamp;
|
|
200
|
+
if ((submittedAt instanceof Date ? Date.now() - submittedAt.getTime() : Number.POSITIVE_INFINITY) > timeout) {
|
|
201
|
+
await this.disapproveVerification(challengeRecord, ResultReason.TIMESTAMP_TOO_OLD);
|
|
202
|
+
return notVerifiedResponse;
|
|
203
|
+
}
|
|
204
|
+
if (isClientSessionMismatch(clientSessionId, challengeRecord.clientMetaData?.clientSessionId)) {
|
|
205
|
+
logger.info(() => ({
|
|
206
|
+
msg: `Client session mismatch in server ${this.logLabel} verification`,
|
|
207
|
+
data: { hasRecordedClientSessionId: Boolean(challengeRecord.clientMetaData?.clientSessionId) }
|
|
208
|
+
}));
|
|
209
|
+
await this.disapproveVerification(challengeRecord, ResultReason.CLIENT_SESSION_MISMATCH);
|
|
210
|
+
return notVerifiedResponse;
|
|
211
|
+
}
|
|
212
|
+
if (userAccessRulesStorage) try {
|
|
213
|
+
const blockPolicy = await this.checkForHardBlock(userAccessRulesStorage, challengeRecord, challengeRecord.userAccount, challengeRecord.headers, challengeRecord.coords, challengeRecord.ipInfo?.isValid ? challengeRecord.ipInfo.countryCode : void 0, challengeRecord.ipInfo?.isValid ? challengeRecord.ipInfo.asnNumber : void 0);
|
|
214
|
+
if (blockPolicy) {
|
|
215
|
+
logger.info(() => ({
|
|
216
|
+
msg: `User blocked by access policy in server ${this.logLabel} verification`,
|
|
217
|
+
data: {
|
|
218
|
+
userAccount: challengeRecord.userAccount,
|
|
219
|
+
policy: blockPolicy
|
|
220
|
+
}
|
|
221
|
+
}));
|
|
222
|
+
await this.disapproveVerification(challengeRecord, ResultReason.ACCESS_POLICY_BLOCK, { matchedRule: describeMatchedRule(blockPolicy) });
|
|
223
|
+
return notVerifiedResponse;
|
|
224
|
+
}
|
|
225
|
+
} catch (error) {
|
|
226
|
+
logger.warn(() => ({
|
|
227
|
+
msg: `Failed to check user access policies in server ${this.logLabel} verification`,
|
|
228
|
+
error
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
if (email && spamEmailDomainCheckingEnabled) try {
|
|
232
|
+
if (await this.checkSpamEmail(email)) {
|
|
233
|
+
const emailDomain = email.split("@")[1] || "unknown";
|
|
234
|
+
logger.info(() => ({
|
|
235
|
+
msg: `Spam email domain detected in server ${this.logLabel} verification`,
|
|
236
|
+
data: { emailDomain }
|
|
237
|
+
}));
|
|
238
|
+
await this.disapproveVerification(challengeRecord, ResultReason.SPAM_EMAIL_DOMAIN, null);
|
|
239
|
+
return notVerifiedResponse;
|
|
240
|
+
}
|
|
241
|
+
} catch (error) {
|
|
242
|
+
logger.warn(() => ({
|
|
243
|
+
msg: `Failed to check spam email domain in server ${this.logLabel} verification`,
|
|
244
|
+
error
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
247
|
+
const maxEmailSubmissionCount = spamFilter?.enabled && spamFilter.emailRules?.enabled ? spamFilter.emailRules.maxEmailSubmissionCount : void 0;
|
|
248
|
+
let emailNormalised;
|
|
249
|
+
if (maxEmailSubmissionCount !== void 0 && email && storeMetadata) {
|
|
250
|
+
emailNormalised = normaliseEmailForMatching(email);
|
|
251
|
+
if (emailNormalised) try {
|
|
252
|
+
const priorCount = await this.db.countCommitmentsByNormalisedEmail(dappAccount, emailNormalised);
|
|
253
|
+
if (priorCount >= maxEmailSubmissionCount) {
|
|
254
|
+
logger.info(() => ({
|
|
255
|
+
msg: `Email submission count exceeded in server ${this.logLabel} verification`,
|
|
256
|
+
data: {
|
|
257
|
+
priorCount,
|
|
258
|
+
maxEmailSubmissionCount
|
|
259
|
+
}
|
|
260
|
+
}));
|
|
261
|
+
await this.disapproveVerification(challengeRecord, ResultReason.SPAM_EMAIL_COUNT_EXCEEDED, null);
|
|
262
|
+
return notVerifiedResponse;
|
|
263
|
+
}
|
|
264
|
+
} catch (error) {
|
|
265
|
+
logger.warn(() => ({
|
|
266
|
+
msg: `Failed to check email submission count in server ${this.logLabel} verification`,
|
|
267
|
+
error
|
|
268
|
+
}));
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
const sessionRecord = challengeRecord.sessionId ? await this.getSessionRecordWithOriginFallback(challengeRecord.sessionId) : void 0;
|
|
272
|
+
const enrichedDnsEvent = await enrichDnsEvent(sessionRecord?.dnsEvent, env.ipInfoService, ip ?? challengeRecord.ipInfo?.ip);
|
|
273
|
+
{
|
|
274
|
+
const check = await this.resolveTrafficFilterCheck(env, challengeRecord.ipInfo, trafficFilter, ip, enrichedDnsEvent);
|
|
275
|
+
if (check.isBlocked) {
|
|
276
|
+
logger.info(() => ({
|
|
277
|
+
msg: `Traffic filter rejected request in ${this.logLabel} verification`,
|
|
278
|
+
data: {
|
|
279
|
+
ip,
|
|
280
|
+
reason: check.reason,
|
|
281
|
+
dnsPeerIp: enrichedDnsEvent?.peerIp,
|
|
282
|
+
dnsResolverIp: enrichedDnsEvent?.resolverIp,
|
|
283
|
+
dnsPeerAsn: getIpInfoAsn(enrichedDnsEvent?.peerIpInfo),
|
|
284
|
+
dnsResolverAsn: getIpInfoAsn(enrichedDnsEvent?.resolverIpInfo),
|
|
285
|
+
dnsPathValid: enrichedDnsEvent?.pathValid
|
|
286
|
+
}
|
|
287
|
+
}));
|
|
288
|
+
await this.disapproveVerification(challengeRecord, check.reason);
|
|
289
|
+
return notVerifiedResponse;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
if (storeMetadata && email) await this.updateRecord(challengeRecord.challenge, { metadata: {
|
|
293
|
+
email,
|
|
294
|
+
emailNormalised: emailNormalised ?? normaliseEmailForMatching(email)
|
|
295
|
+
} });
|
|
296
|
+
if (ip) {
|
|
297
|
+
const challengeIpAddress = getIpAddressFromComposite(challengeRecord.ipAddress);
|
|
298
|
+
const ipValidationRules = (await this.db.getClientRecord(dappAccount))?.settings?.ipValidationRules;
|
|
299
|
+
await this.updateRecord(challengeRecord.challenge, { providedIp: getCompositeIpAddress(ip) });
|
|
300
|
+
if (ipValidationRules?.enabled === true) {
|
|
301
|
+
const ipValidation = await deepValidateIpAddress(ip, challengeIpAddress, logger, env.ipInfoService, ipValidationRules, enrichedDnsEvent?.peerIp);
|
|
302
|
+
if (!ipValidation.isValid) {
|
|
303
|
+
logger.error(() => ({
|
|
304
|
+
msg: `IP validation failed for ${this.logLabel} captcha`,
|
|
305
|
+
data: {
|
|
306
|
+
ip,
|
|
307
|
+
challengeIp: challengeIpAddress.address,
|
|
308
|
+
error: ipValidation.errorMessage,
|
|
309
|
+
distanceKm: ipValidation.distanceKm
|
|
310
|
+
}
|
|
311
|
+
}));
|
|
312
|
+
await this.disapproveVerification(challengeRecord, ResultReason.FAILED_IP_VALIDATION);
|
|
313
|
+
return notVerifiedResponse;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
let score;
|
|
318
|
+
if (sessionRecord) {
|
|
319
|
+
const dnsAsymmetry = computeDnsAsymmetry(enrichedDnsEvent, challengeRecord.ipInfo, trafficFilter);
|
|
320
|
+
if (dnsAsymmetry > 0) sessionRecord.scoreComponents = {
|
|
321
|
+
...sessionRecord.scoreComponents,
|
|
322
|
+
dnsAsymmetry
|
|
323
|
+
};
|
|
324
|
+
score = computeFrictionlessScore(sessionRecord?.scoreComponents);
|
|
325
|
+
logger.info(() => ({ data: {
|
|
326
|
+
scoreComponents: { ...sessionRecord?.scoreComponents || {} },
|
|
327
|
+
score,
|
|
328
|
+
dnsPeerAsn: getIpInfoAsn(enrichedDnsEvent?.peerIpInfo),
|
|
329
|
+
dnsResolverAsn: getIpInfoAsn(enrichedDnsEvent?.resolverIpInfo)
|
|
330
|
+
} }));
|
|
331
|
+
}
|
|
332
|
+
try {
|
|
333
|
+
const decisionInput = {
|
|
334
|
+
userAccount: challengeRecord.userAccount,
|
|
335
|
+
dappAccount: challengeRecord.dappAccount,
|
|
336
|
+
captchaResult: "passed",
|
|
337
|
+
headers: challengeRecord.headers,
|
|
338
|
+
captchaType: this.captchaType,
|
|
339
|
+
behavioralDataPacked: challengeRecord.behavioralDataPacked,
|
|
340
|
+
deviceCapability: challengeRecord.deviceCapability,
|
|
341
|
+
countryCode: challengeRecord.ipInfo?.isValid ? challengeRecord.ipInfo.countryCode : void 0,
|
|
342
|
+
ipInfo: challengeRecord.ipInfo,
|
|
343
|
+
dnsEvent: enrichedDnsEvent,
|
|
344
|
+
score,
|
|
345
|
+
threshold: sessionRecord?.threshold,
|
|
346
|
+
scoreComponents: sessionRecord?.scoreComponents,
|
|
347
|
+
decryptedHeadHash: sessionRecord?.decryptedHeadHash,
|
|
348
|
+
userSitekeyIpHash: sessionRecord?.userSitekeyIpHash,
|
|
349
|
+
simdReadings: sessionRecord?.simdReadings,
|
|
350
|
+
d: sessionRecord?.d,
|
|
351
|
+
frictionlessReason: sessionRecord?.reason,
|
|
352
|
+
ruleType: sessionRecord?.ruleType,
|
|
353
|
+
webView: sessionRecord?.webView,
|
|
354
|
+
iFrame: sessionRecord?.iFrame,
|
|
355
|
+
currentUrl: sessionRecord?.currentUrl,
|
|
356
|
+
iframeUrl: sessionRecord?.iframeUrl,
|
|
357
|
+
coords: challengeRecord.coords,
|
|
358
|
+
...this.decisionMachineEventFields(challengeRecord),
|
|
359
|
+
...rawTlsSignalsFromRecord(sessionRecord),
|
|
360
|
+
trafficPolicies: deriveTrafficPolicies(trafficFilter)
|
|
361
|
+
};
|
|
362
|
+
const decision = await this.decisionMachineRunner.decide(decisionInput, logger);
|
|
363
|
+
if (decision.decision === DecisionMachineDecision.Deny) {
|
|
364
|
+
logger.info(() => ({
|
|
365
|
+
msg: `Decision machine denied ${this.logLabel} captcha in server verification`,
|
|
366
|
+
data: {
|
|
367
|
+
userAccount: challengeRecord.userAccount,
|
|
368
|
+
reason: decision.reason,
|
|
369
|
+
score: decision.score,
|
|
370
|
+
tags: decision.tags
|
|
371
|
+
}
|
|
372
|
+
}));
|
|
373
|
+
await this.disapproveVerification(challengeRecord, decision.reason || ResultReason.CAPTCHA_DECISION_MACHINE_DENIED);
|
|
374
|
+
return notVerifiedResponse;
|
|
375
|
+
}
|
|
376
|
+
logger.debug(() => ({
|
|
377
|
+
msg: `Decision machine allowed ${this.logLabel} captcha`,
|
|
378
|
+
data: {
|
|
379
|
+
reason: decision.reason,
|
|
380
|
+
score: decision.score,
|
|
381
|
+
tags: decision.tags
|
|
382
|
+
}
|
|
383
|
+
}));
|
|
384
|
+
} catch (error) {
|
|
385
|
+
logger.error(() => ({
|
|
386
|
+
msg: `Failed to run decision machine in server ${this.logLabel} verification`,
|
|
387
|
+
err: error
|
|
388
|
+
}));
|
|
389
|
+
}
|
|
390
|
+
if (challengeRecord.sessionId) await this.updateSessionRecordWithCache(challengeRecord.sessionId, {
|
|
391
|
+
serverChecked: true,
|
|
392
|
+
result: { status: CaptchaStatus.approved }
|
|
393
|
+
});
|
|
394
|
+
return {
|
|
395
|
+
verified: true,
|
|
396
|
+
...score ? { score } : {},
|
|
397
|
+
...challengeRecord.sessionId && { sessionId: challengeRecord.sessionId }
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Records a server-verification rejection on the captcha record and, unless
|
|
402
|
+
* `session` is null, on the linked session.
|
|
403
|
+
*/
|
|
404
|
+
async disapproveVerification(challengeRecord, reason, session = {}) {
|
|
405
|
+
const result = {
|
|
406
|
+
status: CaptchaStatus.disapproved,
|
|
407
|
+
reason
|
|
408
|
+
};
|
|
409
|
+
const isBlocked = isBlockingCaptchaResult(this.captchaType, result);
|
|
410
|
+
await this.updateRecord(challengeRecord.challenge, {
|
|
411
|
+
result,
|
|
412
|
+
...isBlocked && { blocked: true }
|
|
413
|
+
});
|
|
414
|
+
if (session && challengeRecord.sessionId) await this.updateSessionRecordWithCache(challengeRecord.sessionId, {
|
|
415
|
+
serverChecked: true,
|
|
416
|
+
result,
|
|
417
|
+
...isBlocked && { blocked: true },
|
|
418
|
+
...session
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
//#endregion
|
|
423
|
+
export { InteractiveCaptchaManager };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactiveCaptchaManager.js","sourceRoot":"","sources":["../../../src/tasks/interactiveCaptcha/interactiveCaptchaManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMvE,OAAO,EAKN,KAAK,cAAc,EAGnB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EAGnB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAI7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACX,iBAAiB,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"powTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { buildAllWindowIncrements } from "../../util/usageCounters.js";
|
|
2
|
-
import {
|
|
3
|
-
import { isClientSessionMismatch, toStoredClientMetaData } from "../../utils/clientMetaData.js";
|
|
2
|
+
import { rawTlsSignalsFromRecord } from "../../api/rawTlsSignalsMiddleware.js";
|
|
4
3
|
import { getCompositeIpAddress, getIpAddressFromComposite, isSameIpOrigin } from "../../compositeIpAddress.js";
|
|
5
|
-
import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/enrichDnsEvent.js";
|
|
6
|
-
import { CaptchaManager } from "../captchaManager.js";
|
|
7
|
-
import { applyRouter } from "../frictionless/routingMachine.js";
|
|
8
4
|
import { deepValidateIpAddress } from "../../util.js";
|
|
5
|
+
import { isClientSessionMismatch, toStoredClientMetaData } from "../../utils/clientMetaData.js";
|
|
9
6
|
import { deriveTrafficPolicies } from "../../utils/devicePlatform.js";
|
|
7
|
+
import { computeDnsAsymmetry, enrichDnsEvent, getIpInfoAsn } from "../dnsEvent/enrichDnsEvent.js";
|
|
8
|
+
import { CaptchaManager } from "../captchaManager.js";
|
|
9
|
+
import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
|
|
10
10
|
import { computeFrictionlessScore } from "../frictionless/frictionlessTasksUtils.js";
|
|
11
|
+
import { checkPowSignature, isCoordsAllZero, validateSolution } from "./powTasksUtils.js";
|
|
11
12
|
import { evaluateEmailSpamRules, normaliseEmailForMatching } from "../spam/evaluateEmailSpamRules.js";
|
|
12
|
-
import {
|
|
13
|
+
import { applyRouter } from "../frictionless/routingMachine.js";
|
|
13
14
|
import { ProsopoApiError, ProsopoEnvError } from "@prosopo/common";
|
|
14
15
|
import { ApiParams, CaptchaStatus, CaptchaType, DecisionMachineDecision, FrictionlessReason, POW_SEPARATOR, ResultReason, SimdReadingsStage, isBlockingCaptchaResult } from "@prosopo/types";
|
|
15
|
-
import { assertCoordsSafe, at, extractData, verifyRecency } from "@prosopo/util";
|
|
16
|
-
import { describeMatchedRule } from "@prosopo/user-access-policy";
|
|
17
16
|
import { stringToHex, u8aToHex } from "@polkadot/util";
|
|
17
|
+
import { describeMatchedRule } from "@prosopo/user-access-policy";
|
|
18
|
+
import { assertCoordsSafe, at, extractData, verifyRecency } from "@prosopo/util";
|
|
18
19
|
//#region src/tasks/powCaptcha/powTasks.ts
|
|
19
20
|
var DEFAULT_POW_DIFFICULTY = 4;
|
|
20
21
|
var PowCaptchaManager = class extends CaptchaManager {
|
|
@@ -209,7 +210,8 @@ var PowCaptchaManager = class extends CaptchaManager {
|
|
|
209
210
|
let routingOutput = this.postPowContext ? await this.runPostPowRouting({
|
|
210
211
|
challengeRecord,
|
|
211
212
|
challengeSplit,
|
|
212
|
-
behavioralDataPacked: decryptedBehavioralDataPacked
|
|
213
|
+
behavioralDataPacked: decryptedBehavioralDataPacked,
|
|
214
|
+
coords
|
|
213
215
|
}) : void 0;
|
|
214
216
|
if ((escalateForMissingCoords || escalateForIpChange) && routingOutput?.captchaType !== CaptchaType.image && routingOutput?.captchaType !== CaptchaType.puzzle) routingOutput = {
|
|
215
217
|
captchaType: CaptchaType.image,
|
|
@@ -228,7 +230,7 @@ var PowCaptchaManager = class extends CaptchaManager {
|
|
|
228
230
|
*/
|
|
229
231
|
async runPostPowRouting(args) {
|
|
230
232
|
if (!this.postPowContext) return void 0;
|
|
231
|
-
const { challengeRecord, challengeSplit, behavioralDataPacked } = args;
|
|
233
|
+
const { challengeRecord, challengeSplit, behavioralDataPacked, coords } = args;
|
|
232
234
|
if (!challengeRecord.sessionId) {
|
|
233
235
|
this.logger.debug(() => ({ msg: "Skipping post-pow routing: PoW record has no linked session" }));
|
|
234
236
|
return;
|
|
@@ -259,6 +261,8 @@ var PowCaptchaManager = class extends CaptchaManager {
|
|
|
259
261
|
raw: {
|
|
260
262
|
...this.postPowContext.raw,
|
|
261
263
|
...behavioralDataPacked && { behavioralDataPacked },
|
|
264
|
+
...sessionRecord.mode && { mode: sessionRecord.mode },
|
|
265
|
+
coordsAllZero: isCoordsAllZero(coords),
|
|
262
266
|
...sessionRecord.simdReadings && { simd: sessionRecord.simdReadings },
|
|
263
267
|
...sessionRecord.currentUrl && { currentUrl: sessionRecord.currentUrl },
|
|
264
268
|
...sessionRecord.iframeUrl && { iframeUrl: sessionRecord.iframeUrl }
|
|
@@ -518,15 +522,7 @@ var PowCaptchaManager = class extends CaptchaManager {
|
|
|
518
522
|
currentUrl: sessionRecord?.currentUrl,
|
|
519
523
|
iframeUrl: sessionRecord?.iframeUrl,
|
|
520
524
|
coords: challengeRecord.coords,
|
|
521
|
-
|
|
522
|
-
synackNs: sessionRecord?.synackNs,
|
|
523
|
-
ackNs: sessionRecord?.ackNs,
|
|
524
|
-
observedTtl: sessionRecord?.observedTtl,
|
|
525
|
-
tcpMss: sessionRecord?.tcpMss,
|
|
526
|
-
tcpWscale: sessionRecord?.tcpWscale,
|
|
527
|
-
tcpOptsFlags: sessionRecord?.tcpOptsFlags,
|
|
528
|
-
tcpOptsOrder: sessionRecord?.tcpOptsOrder,
|
|
529
|
-
tcpWindow: sessionRecord?.tcpWindow,
|
|
525
|
+
...rawTlsSignalsFromRecord(sessionRecord),
|
|
530
526
|
trafficPolicies: deriveTrafficPolicies(trafficFilter)
|
|
531
527
|
};
|
|
532
528
|
const decision = await this.decisionMachineRunner.decide(decisionInput, logger);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powTasks.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powTasks.js","sourceRoot":"","sources":["../../../src/tasks/powCaptcha/powTasks.ts"],"names":[],"mappings":"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"}
|