ML 良性基线

ML 良性基线

按站点+路由为「正常请求」建模,偏离正常即弱信号。人工训练、复核、生效的全流程。

「ML 良性基线」与语义引擎思路相反:语义引擎证明「这是攻击」,ML 则为「正常请求」建模,偏离正常即产出弱信号 ml_anomaly 参与融合。它按「站点 + 路由」分桶,做字段级 + 请求级双层建模,全程 Go 实现。

ML 良性基线:采样、训练与生效
ML 良性基线:采样、训练与生效

#人工闭环:采样 → 训练 → 生效

训练与生效全人工,不做任何自动周期重训,避免模型被悄悄污染:

  1. 1
    自动采样引擎自动收集经语义 + Coraza 双重清洗的正样本,按路由入缓冲。
  2. 2
    手动训练某路由攒够 min_samples(默认 200)后,运营在控制台点「训练」生成候选模型(此时只影子打分)。
  3. 3
    复核后生效确认无误后点「生效」,生效模型才进入融合参与决策。没生效的模型 = 0 分、不打分。

#关键字段

字段 / 控件默认 / 示例说明
enabledtrue开启采样与打分(旁路弱信号,不单独定生死)。
shadowfalsefalse=生效模型的 ml_anomaly 进融合参与拦截;true=只观测、零拦截影响。
min_samples200每(站点,路由)攒够多少 benign 样本才允许训练。
per_routetrue按站点+路由分桶(推荐);false 退化为站点级,多 API 会混,不建议。
algorithmstatisticalstatistical 轻量可解释;iforest 隔离森林,更能抓多维联合异常。
consistencytrue联合一致性校验:参数/头组合共现 + UA-头一致(浏览器 UA 却缺常见头 = 伪装信号)。
ML 只对「已配置的站点」建模。发往未配置 Host(直连 IP 扫描器 / 伪造 Host)的流量不采样、不打分。模型始终落盘,重启不丢、无需重训。