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-codecsThen reload CrowdSec: sudo systemctl reload crowdsec
Sign in to see which of your engines run it →name: crowdsecurity/appsec-bot-challenge-detect-codecs# Codec capability checks.## The module reports what two different APIs say about H.264:# mediaCapabilities.decodingInfo() and RTCRtpSender.getCapabilities().data:- source_url: https://hub-data.crowdsec.net/custom-bot-detections/codecs-v1.jsdest_file: challenge/codecs.jstype: challenge-jsinband:on_challenge_submit:# Claims hardware-efficient H.264 playback while its own WebRTC stack# offers no H264 codec at all.## Guarded on cfRtcAvail: a client with WebRTC switched off has no sender to# ask, and the module's sentinel then reports cfRtcH264 = false.- filter: >-fingerprint.Custom["cfRtcAvail"].Bool &&fingerprint.Custom["cfH264Sup"].Bool &&fingerprint.Custom["cfH264Eff"].Bool &&!fingerprint.Custom["cfRtcH264"].Boolapply:- AddRequestScore(0, "h264_capability_mismatch", "detect-experimental-codecs")# Firefox on Windows and macOS decodes H.264 through the OS. One that# claims either and cannot is not running on what it claims.- filter: >-req.UserAgent() contains "Firefox/" &&(req.UserAgent() contains "Windows NT" || req.UserAgent() contains "Mac OS X") &&fingerprint.HasCustom("cfH264Sup") &&!fingerprint.Custom["cfH264Sup"].Boolapply:- AddRequestScore(0, "gecko_no_h264_on_native_os", "detect-experimental-codecs")# Also track skips.- filter: '!fingerprint.HasCustom("cfH264Sup")'apply:- AddRequestScore(0, "missing_cf_h264_sup", "detect-experimental-codecs")- filter: '!fingerprint.HasCustom("cfH264Eff")'
Sign in to see the Security Engines that run this waf configuration, the version they run and whether it was modified locally.