欺诈盾牌:实时交易监控和MCP平台
该项目收集电子商务平台上发生的付款和交易数据,并异步分析可疑交易(欺诈)它是一个端到端的平台,可以实时检测并通过模型上下文协议(MCP)为人工智能代理提供数据。
项目目标和范围
Fraud Shield旨在以低延迟处理大量交易数据。主要目的;基于用户的行为规则(速度,频率,位置)通过监控检测异常并在操作员面板上可视化这些数据,以及基于LLM的人工智能代理可以查询的标准协议(MCP)是从外面打开。
系统架构和组件
系统 微服务架构 它由三个主要服务和三个基础设施组成:
- API服务(FastAPI): 接收来自外部世界的交易数据(REST),并在验证后将其发送到RabbitMQ队列。
- Worker服务(Python): 消耗队列中的数据。使用Redis进行状态管理并控制异常规则(速度,频率,位置)。
- MCP服务器(Python/stdio): 对于人工智能代理
get_recent_fraudshave的常用口语形式check_user_statusModel Context Protocol 服务器。 - 前端(React/Vite): 响应式仪表板,提供实时数据流、异常图表和警报面板。
- 基础设施 : RabbitMQ(消息队列),Redis(内存缓存),PostgreSQL(永久数据)。
技术选择与理由
- FastAPI: 由于其异步结构和自动Swagger支持,因此首选用于高性能API流量。
- RabbitMQ: 它被用作异步队列系统,使API和Worker之间的通信松绑并防止数据丢失。
- Redis: 对于异常检测中的“最后一分钟”或“最后位置”等即时状态控制(状态管理),最好使用内存以避免磁盘 I/O 延迟。
- MCP(模型上下文协议): 现代人工智能代理可以以安全和标准的方式访问系统数据。
安装步骤
整个系统 docker-compose 只能用一个命令才能站起来。
要求: Docker ve Docker Compose。
- 在项目目录中启动系统:
docker compose up --build -d- 确保所有容器都站起来:
docker ps
使用指南和端点
- 前端仪表板: http://localhost:5173
- Swagger API 文档: http://localhost:8000/docs
- RabbitMQ 管理面板: http://localhost:15672 (客人/客人)
MCP测试方法
MCP 服务器通过 stdio 进行通信。要测试:
npx @modelcontextprotocol/inspector docker exec -i fraud_mcp python server.py可以使用命令或直接向LLM客户端介绍项目中的MCP服务。
数据输入和测试脚本
供给系统 scripts/ 在目录中可以使用 Bash 脚本:
手动输入:
./scripts/manual-input.sh 自动测试(异常模拟):
./scripts/auto-test.sh --duration=60 --rate=2 --anomaly-chance=30异常检测标准
一个操作,根据以下标准 在伊基西 如果违规,则标记为“可疑”(FRAUD):
- 速度控制: 用户在过去1分钟内进行了5次以上的交易。
- 数量控制: 交易金额是用户过去平均值的三倍以上。
- 位置控制: 两个相互关联的交易之间的时间在物理上不可能跨越位置之间的距离(5分钟内更改城市等)。
任何问题(故障排除)
- 连接错误 : 集装箱
healthy处于状态docker ps与检查。 - 端口冲突: 如果端口 5433、6379 或 5672 已满
docker-compose.yml更新端口匹配。 - Frontend 空白页面: 清除浏览器缓存,然后等待 10-15 秒才能完成 React 编译。
