Parthhub11/Fraud-Detection-
GitHub: Parthhub11/Fraud-Detection-
一个端到端的实时欺诈检测系统,用于在UPI和信用卡交易中快速识别和阻断可疑活动。
Stars: 0 | Forks: 0
# ⚡ 欺诈检测网关与风险评分雷达
一个端到端、高性能的**实时欺诈分流与风险评分系统**,旨在15毫秒内评估UPI和信用卡交易。该系统融合了基于规则的确定性约束、内存中的NetworkX共谋图以及XGBoost机器学习分类器,以提供可操作的多层级风险决策(`批准`、`质询`、`阻止`)。
## 🏗️ 系统架构与分流生命周期
该平台运行在一个多层次的混合评分拓扑上:
```
graph TD
A[Raw Incoming Transaction] --> B[FastAPI Gateway]
B --> C[Parallel Feature Aggregator]
C --> D[Redis Store / In-Memory Mock Fallback]
C --> E[NetworkX Graph Proximity BFS]
D --> F[1. Deterministic Rule Engine]
E --> F
F -->|Anomaly Found| G[Immediate BLOCK / Decision: 1.0]
F -->|Clean| H[2. XGBoost ML Scoring Engine]
H -->|Risk Score < 0.35| I[APPROVE]
H -->|0.35 <= Risk Score <= 0.75| J[CHALLENGE]
H -->|Risk Score > 0.75| K[BLOCK]
```
1. **FastAPI 网关:** 暴露亚毫秒级的异步端点,用于实时交易评分。
2. **并行特征引擎:** 执行动态并发查询(使用 Python `asyncio.gather`)针对 Redis 缓存(并带有自动内存 RAM 回退),以实时构建滚动速度参数。
3. **确定性规则引擎:** 强制执行即时阻止约束(例如:不可能的旅行速度 >800 公里/小时,在单个设备ID上注册过多的不同账户)。
4. **图共谋邻近度:** 利用针对活跃的 NetworkX 交易图数据库进行的 BFS(广度优先搜索),以捕捉多跳洗钱环路和骡子网络。
5. **XGBoost 分类器推理:** 对8个经工程处理的交易特征运行高级概率评分。
6. **有界内存修剪:** 在后台线程中自我清理超过1小时的缓存指标,以在高吞吐量生产流下保护内存占用。
## 🌟 核心特性
* **零依赖本地沙盒回退:** 启动时自动测试 Redis 连接。如果 Redis 离线,则激活高性能的本地内存 RAM 模拟数据库。开箱即用,可在任何机器上即时运行!
* **原始数据集成:** 商户或支付网关直接发布原始支付 JSON 记录;网关会实时解析所有流式处理参数、标准差、地理跳跃和图结构。
* **不平衡数据集重训练:** 一个现代化的 XGBoost 机器学习管道,能够摄入、平衡、映射特征并从真实的历史交易 CSV 文件中拟合自定义权重。
* **精美霓虹灯HSL界面仪表盘:** 具备实时交易评估控制台、径向仪表盘风险评动画、统计卡片以及一个可交互的CSV拖放式钱骡上传工具!
## 🛠️ 技术栈
* **后端框架:** FastAPI, Uvicorn, Pydantic
* **机器学习:** XGBoost, Scikit-Learn, NumPy, Pandas, SHAP
* **数据库与缓存:** Redis (异步客户端), NetworkX (图引擎)
* **前端UI:** 原生 CSS, HSL主题深色模式 HTML5, SVG 径向仪表盘
## 🚀 原生主机设置与快速开始
### 1. 克隆与安装依赖
确保你的主机上安装了 Python 3.10+,然后执行:
```
# 克隆 repository (或导航到 directory)
cd "c:/Users/kemse/OneDrive/Desktop/fraud detection"
# 安装所有编译后的 packages 和 libraries
python -m pip install -r requirements.txt
```
### 2. 启动API网关服务器
在本地运行 FastAPI 网关。它将自动检测 Redis 的离线状态,并以本地内存回退沙盒模式启动:
```
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000
```
* **交互式Web UI仪表盘:** 访问 [http://127.0.0.1:8000/](http://127.0.0.1:8000/)
* **API Swagger文档:** 在 [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) 查看模式要求
### 3. 运行验证测试
使用原始交易客户端脚本验证实时评分管道:
```
python test_requests.py
```
**预期的CLI响应输出:**
```
Testing UPI Transaction (Should be BLOCKED by rule):
{'decision': 'BLOCK', 'score': 1.0, 'execution_time_ms': 63.96}
Testing Credit Card Transaction:
{'decision': 'APPROVE', 'score': 9.7498e-05, 'execution_time_ms': 14.07}
```
### 4. 运行高吞吐量流模拟器
模拟 UPI 和信用卡交易的连续生产流以及异常情况(例如地理跳跃、设备 VPA 切换突发):
```
python -u mock_stream_generator.py
```
## 📊 API 模式参考
### POST `/api/v1/evaluate-transaction`
评估单个 UPI 或信用卡交易载荷。
**示例 UPI 请求体:**
```
{
"transaction_id": "UPI_TXN_9876543210_A1",
"user_id": "U_9876543210",
"amount": 45000.00,
"timestamp": "2026-05-18T07:40:00Z",
"ip_address": "49.206.12.185",
"location_lat": 12.9716,
"location_long": 77.5946,
"payment_mode": "UPI",
"upi_details": {
"vpa_source": "9876543210@paytm",
"vpa_destination": "merchant@okhdfc",
"device_id": "f83d7890-a92c-11ed-afa1-0242ac120002",
"is_collect_request": false
}
}
```
**响应格式:**
```
{
"decision": "APPROVE",
"score": 0.000097498,
"execution_time_ms": 11.87
}
```
## 🔒 安全的 Git 实践与排除项
该项目包含一个严格的 `.gitignore` 文件,可防止编译后的 Python 代码、VS Code 环境、系统参数和活动运行时日志泄露到 git 仓库中。
标签:Apex, AV绕过, FastAPI, NetworkX, Python, Redis, UPI支付, XGBoost, 事件驱动架构, 云计算, 交易监控, 低延迟, 信用卡欺诈, 内存存储, 反欺诈系统, 反洗钱, 图网络分析, 安全系统, 实时风险评分, 异步编程, 搜索引擎查询, 支付安全, 数据流处理, 无后门, 机器学习, 欺诈检测, 流处理, 特征工程, 特权检测, 突变策略, 系统架构, 规则引擎, 金融安全, 钱骡网络检测, 风险决策, 高吞吐量