规则集
OWASP CRS 4.25.0、偏执等级 1、入站异常阈值 5
WAFWiki 原创实验
ModSecurity 与 Coraza 正常流量回归:12 个 HTTP 200、6 类输入、0 个阻断偏差,以及一个可重复的数字 Host 告警。

证据原则
WAFWiki 会区分已验证的动手实测、冒烟实测、架构图和方法论说明。任何本地实验都只证明记录环境中的有限路径,不代表完整生产就绪。
环境
OWASP CRS 4.25.0、偏执等级 1、入站异常阈值 5
普通查询、订单式 JSON、邮箱、版本化文档路径、状态过滤器与 C++ 搜索词
每套栈 6 个请求,共 12 个正常 HTTP 决策
curl 默认的数字 localhost Host,端口分别为 18181 与 18182
CRS 920350:Host header is a numeric IP address
在该矩阵中,没有正常请求达到入站异常阻断阈值
命令
scripts/run-waf-evidence-lab.sh最终 CSV 包含 12 条正常记录和 8 条受控 SQLi/XSS 记录。
awk -F, 'NR == 1 || $2 ~ /^clean/ { print }' \
docs/lab-evidence/waf-engine-comparison-2026-07-26-requests.csv正常子集中的每个引擎和用例都显示 HTTP 200。
rg '920350|Host header is a numeric IP address' \
docs/lab-evidence/waf-engine-comparison-2026-07-26-*.log两份日志都包含由 localhost 数字 Host 触发的协议检查告警。
观察结果
正常 HTTP 决策
所选正常请求均未被任一 WAF 阻断。
阻断偏差
所有正常用例都符合预期,但样本太小,不能形成通用误报率。
告警噪声
数字 localhost Host 被记录为协议告警,即使请求最终放行。
运营启示
正常流量回归应同时评估日志噪声、告警分流和 HTTP 中断。
clean-query: 200 on ModSecurity and Coraza
clean-json: 200 on ModSecurity and Coraza
clean-email: 200 on ModSecurity and Coraza
clean-version-path: 200 on ModSecurity and Coraza
clean-filter: 200 on ModSecurity and Coraza
clean-code-term: 200 on ModSecurity and Coraza
log nuance: CRS 920350 warned on the numeric Host header证据上下文
HTTP 200 并不代表完全没有运营影响;数字 Host 告警说明验证正常流程时还需记录告警、异常分数贡献与噪声。

开放证据
文件公开状态矩阵和固定版本摘要,不发布原始容器日志或无关本地数据。
检查 12 个正常决策及完整上下文。
查看组件版本、镜像信息、资源快照和实验限制。
限制
相关研究