sudo cscli collections install crowdsecurity/appsec-bot-challengeInstalls 2 parsers and 2 scenarios, via WAF - Bot Challenge Detections.
View WAF - Bot Challenge →sudo cscli appsec-configs install crowdsecurity/appsec-bot-challenge-detect-form-factorThen reload CrowdSec: sudo systemctl reload crowdsec
Sign in to see which of your engines run it →name: crowdsecurity/appsec-bot-challenge-detect-form-factor# Consistency checks between the platform a visitor claims and the input stack# it actually has. Every signal here already exists in the fingerprint, so this# config ships no JavaScript and cannot be evaded by blocking it.#inband:on_challenge_submit:# A phone with a mouse. Real Android and iOS report a coarse pointer and no# hover; a desktop browser wearing a mobile user agent reports neither.- filter: >-(req.UserAgent() contains "Android" || req.UserAgent() contains "iPhone") &&fingerprint.Signals.Device.MediaQueries.Pointer == "fine" &&string(fingerprint.Signals.Device.MediaQueries.Hover) == "true"apply:- AddRequestScore(0, "mobile_desktop_input", "detect-experimental-form-factor") # intended weight: 100# Every browser on iOS is WebKit, so Blink's window.chrome surface cannot# exist there.- filter: 'req.UserAgent() contains "iPhone" && string(fingerprint.Signals.Browser.Features.Chrome) == "true"'apply:- AddRequestScore(0, "ios_blink_surface", "detect-experimental-form-factor") # intended weight: 100# Chrome and Firefox report a colour depth of 24 on every platform they# support. 32 is a value real engines stopped emitting long ago.- filter: 'int(fingerprint.Signals.Device.ScreenResolution.ColorDepth) == 32'apply:- AddRequestScore(0, "color_depth_32", "detect-experimental-form-factor") # intended weight: 50# No pointing device and no hover at all: a headless input stack.# TBD: Test with smart tv with no pointing device and kiosk.- filter: >-!(req.UserAgent() contains "Android" || req.UserAgent() contains "iPhone" ||req.UserAgent() contains "iPad" || req.UserAgent() contains "Mobile") &&fingerprint.Signals.Device.MediaQueries.Pointer == "none" &&string(fingerprint.Signals.Device.MediaQueries.Hover) == "false"apply:- AddRequestScore(0, "no_pointer_desktop", "detect-experimental-form-factor")
Sign in to see the Security Engines that run this waf configuration, the version they run and whether it was modified locally.