fwintegrity 在线比对

浏览器内运行 PyPI 上的 Python 包(Pyodide),粘贴审计导出与工单 CSV 查看关联与 triple 覆盖结果。

比对与解析流程

  1. 加载表格load_change_rows(from_csv_text(...), ChangeRowMapping) 按你在映射里声明的列名,得到规范行:change_typesourcedestinationservice(工单另有 ticket_number / inf_number)。
  2. 端点解析parse_endpoint_text:分词 → 去掉 IP 后紧贴的 (OA)/(VIP) 等括号标注 → 审计前缀 token 展开 → merge_ip_network_strings(相邻 IP 收成 CIDR)→ AddrLiteral / AddrCompound / AddrRef
  3. 服务解析 — 审计:parse_audit_report_serviceTCP_443 等);工单:parse_ticket_service_field(松散 TCP 80 UDP 53 等)→ ServiceLiteral / ServiceCompound 等。
  4. 规范化变更 — 每行 → NormalizedChange(change, source, destination, service)(本页 link 用映射后的行;triple 段用 audit_rows_to_changes 同样走端点/服务解析)。
  5. 关联(link)link_audit_to_ticket_requests:对每条审计行在工单中找 change_match。端点/服务为双向包含(CIDR subnet_of,端口区间包含);变更类型按 DEFAULT_AUDIT_TO_TICKET_KINDS;ICMP 等可忽略。
  6. Triple 索引(工单侧)build_ticket_triple_index:每条工单变更展开为原子三元组 (src_atom, dst_atom, svc_atom)。IPv4 端点键为 i:10.0.0.1i:10.0.0.1-10.0.0.5(由 CIDR 转成区间,不用 i:…/32 子网字符串);对象为 g:…;服务为 s:tcp:443 等。
  7. Triple 校验(审计侧)audit_triples_all_in_index:审计变更的每个 triple 是否在工单索引中字符串精确命中。与 link 语义不同:link 可匹配而 triple 仍缺失(例如工单只填单 IP、审计为整段 range)。

本页默认列映射:AUDIT_EXPORT_DEFAULT_MAPPINGTICKET_CSV_DEFAULT_MAPPING。首次打开需从 PyPI 下载包,约数十秒。

在线演示

正在初始化…
等待运行…