dev00amk/four-layer-detection-system-
GitHub: dev00amk/four-layer-detection-system-
一个面向最后一英里配送平台的企业级运营欺诈检测框架,通过 SQL 规则、无监督异常检测、XGBoost 监督模型和实体图四层混合检测,在结算前识别并优先排序承包商欺诈行为,同时生成可审计的证据包。
Stars: 0 | Forks: 0
# Project Sentinel — 企业级最后一英里欺诈检测框架
Sentinel 将原始的最后一英里配送(LMD)承包商遥测数据转化为经过优先级排序且随时可审计的欺诈案件 —— 在结算前检测 GPS 欺诈团伙、机器人辅助抢单以及协同的支付滥用,同时生成能够经受法律审查和申诉的证据包。每一个负面行动都可以从原始事件追溯到调查员的决策。每一个信号都记录了其误报风险。每一个排队的 CRITICAL 级别输出都会生成一个案件文件,无需进一步准备即可直接移交给法务部门。
## 业务影响与运营风险控制
Sentinel 的设计围绕五个企业级风险结果,这些结果在最后一英里配送欺诈防范、金融机构欺诈运营以及大规模的信任与安全职能中具有普遍性:
| 结果 | 企业级控制设计 | 仓库位置 |
|---|---|---|
| **欺诈损失减少** | 在结算前,将 GPS 欺诈、支付滥用和奖励博弈显露至 CRITICAL 风险级别并优先纳入审查队列 —— 通过量化的六大类攻击损失模型,定位损失最高的攻击类别 | `sentinel/anomaly.py`, `docs/BUSINESS_IMPACT.md` |
| **误报控制** | 每个信号都记录了 FP 风险、缓解理由和阈值依据;在采取任何负面行动之前,四条结构化的 FP 排除路径需要分析师签字确认 —— 保护承包商的公平性并减少错误停用的责任 | `sql/signals/` headers, `sentinel/case.py` |
| **队列优先级排序** | 每次运行限制 25 个案件,模拟真实的调查员处理能力;CRITICAL 和 CRITICAL+ 案件会自动生成并预填证据,从而优化响应时间并实现工作负载治理 | `sentinel/case.py`, `cases/` |
| **OSINT 与身份验证** | 五步结构化 OSINT 丰富(身份证明文件、设备情报、地址类型、账户转售、承包商在场情况)生成经过审计哈希处理的分步证据,直接嵌入到每个案件文件中 | `sentinel/osint.py` |
| **治理与可追溯性** | 不可变的 bronze 层存储、SHA-256 血缘链、版本控制的信号库以及完整性哈希的 Markdown 案件文件,确保每一个负面行动从原始事件到调查员决策均完全可追溯,并在法律上无懈可击 | `sentinel/ingest.py`, `data/bronze/lineage.json` |
## 影响指标
### 欺诈与信任结果
- **欺诈损失减少:** GPS 欺诈、支付滥用和奖励博弈被优先归入 CRITICAL 风险级别和审查队列,在结算前定位损失最高的攻击类别。量化的损失模型涵盖所有六大类攻击:`docs/BUSINESS_IMPACT.md`。
- **误报控制:** 集成权重、规则阈值和 OSINT 丰富过程都记录了 FP 风险和缓解策略,符合零工经济承包商运营中针对信任、公平性和负面行动合规的期望。
### 检测质量与运营
- **模型性能:** 每次运行时将 AUC-ROC、AUC-PR、行数和欺诈率记录到 `data/models/metrics.json` 中,以进行持续的检测质量监控和模型治理。
- **案件队列吞吐量:** 每次运行将 CRITICAL 案件的生成量限制为 25 个,以模拟真实的调查员工作负载并优化跨运营周期的响应时间。
### 行为与 OSINT 覆盖范围
- **行为覆盖范围:** 25 个 SQL 信号针对 GPS 欺骗、地理围栏未命中、模拟器和已 root 设备、共享设备和支付、退款速度、奖励博弈、非工作时间活动、机器人辅助批量抢单、设备取证、设备切换、共享 IP、支付变更和复合风险。
- **OSINT 丰富:** 结构化的五步外部验证(身份证明文件、设备情报、地址类型、账户转售检测、承包商在场情况)生成经过审计哈希处理的证据,直接嵌入每个案件文件中。模块:`sentinel/osint.py`。
### 治理、审计与数据质量
- **端到端血缘:** 不可变的 bronze 输出、SHA-256 血缘链、版本控制的信号和 Markdown 案件文件确保每一个负面行动从原始事件到调查员决策均可追溯。
- **治理与故障模式:** 记录在案的信号优先级排序、运营风险框架和故障模式分析,为规则和模型校准、合规部署以及监管防御能力奠定了基础。详见 `docs/FAILURE_MODE_ANALYSIS.md`。
## 核心企业级能力
Sentinel 构建为一系列独立的生产级工程模块。每项能力都可独立审计、在运营上具备合理性,并设计为可跨企业风险平台移植。
**行为细分引擎 — 25 个 DuckDB 信号**
包含 25 个版本控制的 SQL 查询库,涵盖完整的 LMD 承包商欺诈面:GPS 不可能转场检测、地理围栏未命中分析、模拟器和已 root 设备指纹识别、共享设备和共享支付聚类、退款速度控制、奖励博弈识别、非工作时间行为分析、机器人辅助批量抢单检测、设备取证、设备切换、共享 IP 聚类、支付变更速度和复合风险评分。每个信号都带有记录在案的欺诈类型、FP 风险分类、缓解策略和阈值依据 —— 从而实现大规模下合理且可审计的规则治理。
**无监督异常检测 — Isolation Forest**
一个新颖性检测层,旨在发现尚未在规则逻辑中编目的、以前未见过的行为模式。生成标准化的异常分数,直接馈入集成混合模型中,无需为每种新模式标记训练数据,即可针对新兴欺诈类型提供持续覆盖。
**有监督欺诈倾向模型 — 带有 SHAP 解释性的 XGBoost**
一个经过校准的 XGBoost 分类器,生成逐行的欺诈概率分数,并在每个生成的案件文件中嵌入针对每次预测的 SHAP 特征贡献解释。SHAP 输出提供了法律防御能力和负面行动申诉所需的面向调查员的证据层,将模型输出转化为人类可读的依据。
**实体图 — 协同多账户团伙检测**
一个基于图的串谋检测层,通过共享设备、共享银行账户、共享门店集中度和共享奖励活动边缘,识别跨承包商账户的协同基础设施。团伙成员资格会触发按比例的复合分数乘数(2 个承包商对为 1.2 倍,5 个及以上承包商团伙最高为 1.5 倍,上限为 10)。IP 集群边缘被排除在团伙检测之外,以防止运营商 NAT 误报。
**混合信号决策 — 校准的集成混合**
结合所有四个检测层的加权集成:XGBoost 占 45%,Isolation Forest 占 25%,SQL 信号占 20%,实体图占 10%。这种混合旨在平衡跨欺诈类别的精确率-召回率权衡,同时在混合后应用团伙乘数,以在不扭曲单账户分数的情况下放大协同滥用信号。
**随时可审计的案件管理 — SHA-256 完整性哈希证据包**
每一个 CRITICAL 和 CRITICAL+ 承包商记录都会触发自动生成结构化的 Markdown 案件文件,包含:所有四个层的分数、SHAP 前 5 名特征贡献、跨账户串谋证据、带有分步审计哈希的五步 OSINT 丰富表、需要分析师签字确认的四路径误报排除清单、建议操作以及 SHA-256 完整性哈希。案件文件设计为无需进一步准备即可直接移交给法务或合规部门。
**结构化 OSINT 丰富流水线 — 五步身份验证**
一个模块化的外部验证流水线,跨五个验证维度生成结构化、带审计哈希的证据:身份证明文件验证、设备情报、地址类型分类、账户转售检测和承包商在场验证。每个丰富步骤都会产生一份独立的审计记录,从而实现针对负面行动的步骤级证据可追溯性和法律防御能力。
**不可变数据血缘 — 带有 SHA-256 链的 Bronze 层架构**
一种端到端的血缘架构,确保每个评分记录都可以从原始摄取事件、经过丰富、信号触发、模型评分、集成混合到案件生成进行追溯。每个阶段的 SHA-256 校验和创建了一个不可变的审计链,适用于监管审查、内部审计和法律诉讼。
**跨职能利益相关者报告**
为四类利益相关者受众(产品、法务、工程和关怀运营)提供的结构化简报文档,将检测输出转化为适合受众的运营叙事。旨在支持跨职能升级、项目所有权沟通和高管风险报告。
## 架构
```
Raw Telemetry (LMD Contractor Events)
│
▼
┌─────────────────┐
│ Bronze Ingest │ Immutable Parquet + SHA-256 lineage
└────────┬────────┘
│
▼
┌─────────────────┐
│ Enrichment │ Feature engineering + OSINT verification
└────────┬────────┘
│
┌────┴────┐
│ │
▼ ▼
SQL Signals ML Models (Isolation Forest + XGBoost + Graph)
│ │
└────┬────┘
│
▼
┌─────────────────┐
│ Ensemble Blend │ Weighted composite score + ring multiplier
└────────┬────────┘
│
▼
┌─────────────────┐
│ Case Manager │ CRITICAL/CRITICAL+ → SHA-256 hashed evidence packs
└─────────────────┘
```
## 快速开始
```
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python -m sentinel.demo # generates synthetic raw CSVs — no Kaggle download required
python -m sentinel.ingest # converts data/raw CSVs to bronze Parquet
python -m sentinel.enrich
python run.py
```
对于完整的 590,540 行数据集,请接受 IEEE-CIS 竞赛规则,将 `train_transaction.csv` 和 `train_identity.csv` 放在 `data/raw/` 中,并从摄取步骤开始运行。
## 检测层
| 层级 | 目的 | 输出 |
|---|---|---|
| **SQL 信号** | 具有明确记录 FP 风险的、可解释且基于阈值的控制 | 25 个命名的承包商信号 |
| **Isolation Forest** | 以前未见过的行为 — 捕获规则中尚未定义的新模式 | 标准化的新颖性分数 |
| **XGBoost** | 带有逐行 SHAP 解释的有监督欺诈倾向 | 校准后的概率 |
| **实体图** | 通过共享设备、银行、门店检测协同的多账户行为 | 团伙标志 + 团伙规模 |
集成权重:XGBoost 占 45%,Isolation Forest 占 25%,SQL 占 20%,图占 10%。团伙成员将获得按比例的乘数(2 个承包商对为 1.2 倍,5 个及以上承包商团伙最高为 1.5 倍),上限为 10。IP 集群边缘被排除在团伙检测之外,以防止运营商 NAT 误报。
## 信号库
`sql/signals/` 中 25 个版本控制的查询涵盖了 GPS 欺骗和不可能转场、地理围栏未命中、模拟器和已 root 设备、共享设备和支付、退款速度、奖励博弈、非工作时间活动、行程距离和金额异常、门店集中度、设备切换、共享 IP、支付变更、机器人辅助批量抢单、设备取证、账户切换以及复合风险。每个查询都记录了其欺诈类型、FP 风险、缓解措施和阈值依据。
信号分流框架(保护 / 调优 / 监控 / 停用):`docs/SIGNAL_PRIORITIZATION.md`。
## 结果与客观基准测试
`python run.py` 会将 AUC-ROC、AUC-PR、行数和欺诈率写入 `data/models/metrics.json`。演示指标验证了执行情况,但并不作为生产基准展示 —— 合成遥测数据刻意将欺诈与合法类别分开,以便在没有真实运营数据的情况下进行演示。IEEE-CIS 的参考目标是 0.918 ROC-AUC / 0.891 PR-AUC;仅在使用竞赛数据集和已记录的特征与训练设置时才能复现该结果。
## 调查工作流
CRITICAL 和 CRITICAL+ 承包商会生成预填的 Markdown 案件文件,包含:所有四个层的分数、SHAP 前 5 名特征贡献、跨角色串谋证据、带有审计哈希证据记录的五步 OSINT 丰富表、误报排除清单(四条需要分析师签字确认的指定路径)、建议操作以及 SHA-256 完整性哈希。每次运行的案件生成量上限为 25 个,以模拟真实的调查员队列。
### CASE_001 — 协同账户基础设施
`cases/CASE_001.md` 演示了两个承包商账户收敛到一个设备、一个支付账户、一个奖励活动和一个门店的情况。即使当单个行程行看起来各自合理时,协同行为也会变得可见 —— 这是图层的核心优势,也是其相对于纯行级检测的主要增值点。
### 样本输出 — CASE_001 复合分数
| 层级 | 分数 | 阈值 | 状态 |
|---|---|---|---|
| SQL 信号 | 触发 12/25 信号 | > 5 | ✓ |
| Isolation Forest | 0.681 异常分数 | > 0.60 | ✓ |
| XGBoost | 1.000 欺诈概率 | > 0.50 | ✓ |
| 图团伙 | 成员 — 2 承包商团伙(1.2 倍乘数) | flag = 1 | ✓ |
| **复合** | **10 / 10 — CRITICAL+** | ≥ 7 | ✓ |
### 样本输出 — metrics.json(演示运行)
```
{
"val_roc_auc": 0.847,
"val_avg_precision": 0.763,
"fraud_rate": 0.035,
"rows_scored": 12000,
"critical_cases_generated": 12,
"note": "demo dataset — see README for IEEE-CIS benchmark target"
}
```
## Notebook 与 Dashboard
- `notebooks/01_eda.ipynb` — 类别不平衡、GPS 异常散点图、相关性热图
- `notebooks/04_ml_model.ipynb` — AUC 指标、SHAP 摘要图、基准比较
- `notebooks/05_graph_analysis.ipynb` — 团伙排名、规模分布、CASE_001 图
- `dashboardsau_spec.md` — 四个工作表的 Tableau 构建规范
运行 `python scripts/create_notebooks.py` 以重建 notebook。生成的数据和模型工件被排除在版本控制之外。
## 文档索引
| 文档 | 用途 |
|---|---|
| `docs/OPERATIONAL_RISK.md` | 人在回路路由、可审计性设计、控制所有权 |
| `docs/BUSINESS_IMPACT.md` | 6 大类攻击的量化损失模型、3 种损失池规模下的 ROI |
| `docs/SIGNAL_PRIORITIZATION.md` | 针对所有 25 个信号的 3 轴分流框架(产出率 × FP 成本 × 业务影响) |
| `docs/CROSS_FUNCTIONAL_BRIEFING.md` | 4 份利益相关者简报:产品、法务、工程、关怀运营 |
| `docs/FAILURE_MODE_ANALYSIS.md` | 6 种带有检测延迟、预警指标、缓解措施的故障模式 |
| `docs/PLATFORM_EQUIVALENCE.md` | 将 Sentinel 映射到 NICE Actimize、Pega、Salesforce FSC、Unit21 |
| `docs/DETECTION_STRATEGY.md` | 检测阈值、证据标准、误报控制、经济学和监控 |
| `docs/FRAUD_TECHNIQUES.md` | 欺诈技术库、杀伤链、生命周期映射和信号覆盖范围 |
| `docs/GOVERNANCE.md` | 风险偏好、行动标准、申诉、升级、质量保证 (QA) 和模型治理 |
| `docs/INVESTIGATOR_PLAYBOOK.md` | 从立案到升级和结案的八步调查标准作业程序 (SOP) |
| `docs/DECISION_LOG.md` | 重大项目决策、备选方案、权衡、理由和监控计划 |
## 流式扩展
批处理接口可以清晰地映射到 Kafka 和 Flink:按 `contractor_id` 为遥测数据设置键,维护时间窗口化的信号状态,增量物化实体边缘,并将评分事件发送到审查队列。三个最高价值的信号(GPS 不可能转场、共享设备、共享支付)是优先的流式处理候选者 —— 在支付结算前捕获它们的价值是结算后检测的 3-5 倍。阈值和负面行动决策必须保持在人工治理之下,监控漂移和差异性影响,并根据真实的运营标签进行验证。
## 负责任的使用
代码中已标记合成字段,切勿将其视为观察到的事实。高复合分数意味着优先调查,而非欺诈证明。生产部署需要进行隐私审查、最小权限访问控制、针对受保护类别代理的公平性测试、为每项负面行动提供申诉途径,以及在具有代表性的运营数据上进行阈值校准。
标签:业务安全, 代码示例, 反欺诈, 多线程, 异常检测, 数据分析, 物流平台, 逆向工具, 风控系统