real-rallies-interns/POC-07-Fraud-Velocity-Monitor---Sneha-Sunilkumar

GitHub: real-rallies-interns/POC-07-Fraud-Velocity-Monitor---Sneha-Sunilkumar

一个基于实时数据流的支付欺诈速度监控 PoC,结合规则与异常检测提供可视化风险洞察。

Stars: 0 | Forks: 0

# 欺诈速度监控器 ### 实时 Rails 智能库 · PoC #07 · 支付轨道 ![Archetype](https://img.shields.io/badge/Archetype-Temporal-818CF8?style=flat-square&labelColor=030712) ![Rail](https://img.shields.io/badge/Rail-Payment-38BDF8?style=flat-square&labelColor=030712) ![VAR](https://img.shields.io/badge/VAR-18%2F18%20PASS-065F46?style=flat-square&labelColor=D1FAE5) ![Stack](https://img.shields.io/badge/Stack-Next.js%2016%20%2B%20FastAPI-0B1117?style=flat-square) ## 作用 仪表板摄取分钟级合成交易流,应用速度规则,并实时标记异常。点击信号流中的任意三角形尖峰以打开 **异常检查器**,显示时间、欺诈计数、风险评分、峰值速度、设备指纹和 IP 哈希。 | 尖峰类型 | 颜色 | 触发条件 | 含义 | |---|---|---|---| | 速度爆发 | `#F87171` 红色 | 每桶多次欺诈交易 | 卡片测试 / 账户接管 | | 风险激增 | `#FBBF24` 琥珀色 | 平均风险 > 0.55 | 设备/IP 聚类 | | 金额尖峰 | `#818CF8` 蓝靛色 | 异常 $ 量 | 电线欺诈 / 现金提取 | ## 技术栈 ### 前端 | 包 | 版本 | 用途 | |---|---|---| | Next.js | 16.2.2 | 应用路由框架 | | React | 19.2.4 | UI 渲染 | | TypeScript | ^5 | 类型安全 | | Tailwind CSS | ^4 | 实用样式 | | Recharts | ^3.8.1 | 信号流图表 | ### 后端 | 包 | 用途 | |---|---| | FastAPI 2.0.0 | REST API 服务器 | | Pandas | 信号流聚合 | | NumPy | 合成数据生成 | | Uvicorn | ASGI 服务器 | ### 数据源 | 来源 | 用途 | |---|---| | CFPB | 支付投诉模式 — 合成事件流标签 | | FRED (DRCCLACBS) | 消费者拖欠率 — 宏观异常基线(模拟) | | 合成流 | 1,440 分钟事件流,带有欺诈/可疑/正常标签 | ## 项目结构 ``` fraud-velocity-monitor/ ├── backend/ │ └── main.py # FastAPI — all API endpoints + data generation ├── frontend/ │ ├── app/ │ │ ├── globals.css # Real Rails DNA variables + Google Fonts │ │ ├── layout.tsx # Root layout — metadata + body classes │ │ └── page.tsx # Main dashboard — 70/30 Temporal stage │ ├── package.json │ └── tsconfig.json ├── VAR_PoC07_Fraud_Velocity_Monitor.pdf # Visualization Audit Report (Full Green) ├── UAT_PoC07_Fraud_Velocity_Monitor.pdf # Functional UAT checklist └── README.md ``` ## 如何运行 ### 先决条件 - Node.js 18+ - Python 3.10+ ### 1. 启动后端 ``` cd backend pip install fastapi uvicorn pandas numpy uvicorn main:app --reload --port 8000 ``` - API: `http://localhost:8000` - 文档: `http://localhost:8000/docs` ### 2. 启动前端 ``` cd frontend npm install npm run dev ``` - 仪表板: `http://localhost:3000` ## API 参考 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/api/health` | 健康检查 + 版本 | | GET | `/api/signal-stream?resolution=5min&hours_back=24` | 核心时间流 | | GET | `/api/anomalies` | 所有分类异常事件 | | GET | `/api/metrics/summary` | KPI 卡片数据 | | GET | `/api/metrics/velocity-heatmap` | 小时欺诈热图 | | GET | `/api/metrics/category-breakdown` | 按商户类别划分的欺诈率 | | GET | `/api/review-queue` | 按风险评分排序的标记事件 | | GET | `/api/download/sample-data` | 100 行信号流 CSV | **分辨率选项:** `1min` · `5min` · `15min` · `1h` ## 仪表板功能 ### 70% 主舞台 — 信号流(时间原型) 三条堆叠的信号轨道: 1. **交易信号流** — 堆叠区域(正常/可疑/欺诈),带可点击的 ▲ 异常标记 2. **速度轨道** — 带 15/小时 规则阈值线的颜色编码条形 3. **数量轨道** — USD 交易量面积图 **异常检查器** — 点击任意三角形以查看: - 时间 · 欺诈交易数 · 平均风险 · 峰值速度 · 设备指纹 · IP 哈希 - 该异常的实际含义的 plain-English 描述 ### 30% 智能侧边栏 | 部分 | 内容 | |---|---| | **A** | 标题 + 4 个实时 KPI(曝光 USD、平均欺诈速度、异常分钟数、% 高于平均值) | | **B** | 为何重要 + CFPB/FRED 上下文 + FRED 拖欠率(2.61%) | | **C** | 谁控制轨道 — 卡网络、监管机构、欺诈引擎 | | **D** | 时间分辨率控制(5分钟 / 15分钟 / 1小时)+ 刷新 | | **E** | 下载信号流为 CSV | ## 真实 Rails DNA 合规性 | 规则 | 状态 | |---|---| | 背景 `#030712` 缟玛瑙黑 | ✅ 强制 — CSS + TSX 中三重确认 | | 70% 主舞台 / 30% 智能侧边栏 | ✅ `gridTemplateColumns: "70% 30%"` | | 原型:时间 — 点击时间线上的尖峰 | ✅ 完整检查器带 scrollIntoView | | 侧边栏 A–E 部分 | ✅ 全部存在 | | 青色 `#38BDF8` 用于活动状态 | ✅ 选项卡、KPI、页眉 | | IBM Plex Mono + Space Grotesk | ✅ Google Fonts 带 display=swap | | API 离线时的模拟回退 | ✅ 所有 6 个 API 调用封装在 fetchFallback() 中 | | 无硬编码凭证 | ✅ 仅 `.env` | | 页眉中的 ARCHETYPE 徽标 | ✅ 靛青色药丸 — "ARCHETYPE: TEMPORAL" | ## 审核状态 | 文档 | 结果 | |---|---| | 可视化审核报告 (VAR) | **全绿 — 18/18 通过** | | 已修复的 Bug | **3 次迭代中修复 12 个问题** | | 功能 UAT | **所有测试用例通过** | ## 关键 Bug 修复(摘要) | # | 问题 | 修复 | |---|---|---| | 1 | 图表显示 `width(-1) height(-1)` — 黑屏 | 网格、主容器和标签内容 div 上设置 `minHeight:0` | | 2 | 点击后检查器面板不可见 | `minHeight:"100%"` → `minHeight:0` 应用于标签内容 | | 3 | 在非尖峰点点击打开检查器 | 添加 `if (!raw?.anomaly) return` 保护 | | 4 | 提示框在图表边缘被裁剪 | `.recharts-wrapper { overflow: visible !important }` | | 5 | 审核队列 / 分类标签为空 | `genCategoryBreakdown()` / `genReviewQueue()` 作为真实回退 | | 6 | 字体显示压缩/过小 | `letter-spacing:normal`, `font-size:14px` body, `text-sm` 类 | ## 作者 Real Rails Intelligence Library — PoC #07 内部试点计划 · 支付轨道
标签:ASGI, AV绕过, CFPB, FastAPI, FRED, NumPy, Recharts, REST API, Tailwind CSS, TypeScript, Uvicorn, 交易流, 仪表盘, 信号流, 前端, 卡测试, 可视化洞察, 合成数据, 后端, 安全插件, 开源安全, 异常检测, 支付欺诈, 支付铁路, 数据流, 时间序列, 欺诈检测, 自动化攻击, 设备指纹, 账户接管, 速度规则, 金融系统, 风险评分