v2.7.0
v2.7.0 — 防泄密检测质量修复 + 探针任务生命周期
修复:Docker / 容器 TCP 出站流量全部告警
现象:在容器主机上旁路抓包时,容器之间的明文流量(HTTP 头里的 IP 与日期、JSON 中的时间戳/序列号、Redis RESP 报文等)会被逐条识别为敏感传输并产生 High 告警。
根因:DLP_TRANSFER_001 只要命中任意规则就以固定 High 告警,命中规则自身的精度不参与判断;而导入的 Presidio 官方规则库是全球身份规则集合,其中既有 IP、MAC、日期等定位符,也有 \b\d{9}\b、车牌等低精度模式,会命中普通载荷文本。
修复:
- 规则置信度:Presidio 导入取官方
score;早期未保存分数的规则按名称标记回退(very weak / very low=.1、weak=.25、low=.3、medium=.55、high=.85);人工规则默认 .7;上游无标记规则按 .5 处理。 - 敏感实体分类:
IP_ADDRESS、MAC_ADDRESS、DATE_TIME、URL、NRP、LOCATION仅作传输证据,不再单独使一条流变成敏感传输。 - 告警闸门:只有「敏感实体 + 置信度 ≥
min_confidence(默认 0.6)」的命中才产生告警,finding 置信度取命中规则精度,风险评分随之缩放。 - 主机内部流量:回环、链路本地、未指定与组播地址之间的流不计为数据外发(
coverage.excluded_streams),可通过exclude_cidrs追加网段。 - 二进制载荷:可打印比例低于 90% 或含 NUL 的载荷不再按明文文本扫描。
- 宽松模式校验:修正 Presidio 邮箱模式把连接串
postgresql://security@172.18.0.2:5432判为邮箱的问题;内置token模式(任意 32 位随机串)置信度降为 .3,只作证据,避免把哈希、Base64、容器 ID 判为泄露凭据。
实测:同一份容器主机抓包由 3 条误报告警降为 0 条,命中记录仍完整保存在传输证据中;真实 PII / 凭据传输仍产生告警。示例环境 134 条 Presidio 规则中仅 3 条达到告警条件。
探针任务生命周期(探针 3.3.1)
- 新增探针任务停止、任务记录删除、领取与执行超时处理,停止后忽略迟到结果,终态任务可删除,探针删除不再被历史任务阻塞。
- 探针数据资产改用完整路径识别,按扫描范围更新状态,改进 TSV / JSONL / 压缩 SQL 采样与读取限制,修复定时采集覆盖待上传报告。
- 详见
docs/probe-task-lifecycle.md与docs/dlp-detection-quality.md。
版本与升级
- 平台 2.7.0,探针 3.3.1(
probe_packages/probe-3.3.1,amd64 / arm64,SHA256 清单已更新)。 - 无数据库迁移。重新构建并重启
backend、worker、beat、deployment-worker、frontend镜像即可生效。 - 旧探针仍可工作,但停止/删除的协作停止与采集改进需重新部署 3.3.1 完整包(必须包含
probe.py、scanner.py、data_assets.py)。
验证
- 新增
backend/tests/test_dlp_detection_quality.py(容器流量零告警、真实 PII 仍告警、主机内流量排除、弱规则仅证据、邮箱模式校验)。 - 后端 DLP / 规则库 / 告警 / 引擎 / 集成相关测试通过;前端
vitest31 项通过、vue-tsc与vite build通过。