amapara27/recon-ethereum-security

GitHub: amapara27/recon-ethereum-security

Recon 是一个结合机器学习与 AI 的以太坊安全平台,提供实时链上欺诈检测与智能合约自动化审计能力。

Stars: 0 | Forks: 0

# 🛡️ Recon ### 实时 Ethereum 欺诈检测与智能合约安全审计工具 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![React](https://img.shields.io/badge/react-19.2.0-61dafb.svg)](https://reactjs.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-009688.svg)](https://fastapi.tiangolo.com/) **Recon** 是一个可用于生产环境的实时欺诈检测引擎,可监控实时的 Ethereum 区块,利用机器学习分析交易行为指纹,并通过 AI 驱动的分析来审计智能合约的安全漏洞。 [观看演示](https://youtu.be/5ofxkW9tX0w) • [报告 Bug](https://github.com/your-username/recon/issues) • [请求功能](https://github.com/your-username/recon/issues)
## 📺 演示 [![观看演示](https://img.youtube.com/vi/5ofxkW9tX0w/0.jpg)](https://youtu.be/5ofxkW9tX0w)
点击观看完整演示
## 🎯 用例
**🔐 DeFi 安全** 在与协议交互之前,监控实时交易以查找欺诈模式 **⚠️ 威胁检测** 实时识别可疑的钱包行为和潜在骗局
**📊 研究与分析** 研究 Ethereum 网络上的欺诈模式和行为指纹 **📈 交易监控** 利用 ML 驱动的风险评分跟踪和分析交易流向
## ✨ 核心功能 ### 🤖 实时欺诈检测 监控实时的 Ethereum 区块,并使用 **770 多项行为特征** 分析交易模式,以高准确率标记可疑活动(Random Forest 分类器,**F1-Score: 0.92**)。 ### 🔍 AI 驱动的智能合约审计工具 利用 **Claude Opus 4.5** 对 Solidity 合约执行深度安全分析,检测: - Reentrancy 漏洞 - Honeypot 机制 - 中心化风险 - 访问控制问题 - 以及更多安全威胁 ### ⚡ 智能缓存系统 基于 SQL 的缓存层,用于存储合约分析结果,从而降低 API 成本并缩短重复查询的响应时间。 ### 🧠 高级特征工程 自动从 Etherscan 获取完整的交易历史记录,并即时生成全面的行为指纹,以实现准确的欺诈预测。 ### 🎨 现代全栈仪表板 基于 React 的前端和 FastAPI 后端提供: - 实时欺诈警报 - 交易扫描器界面 - 合约安全分析 - 响应式、毛玻璃效果 UI ### ☁️ 生产级部署 完全通过 Docker 和 Docker Compose 容器化,可随时部署在 AWS EC2 或任何云提供商上,支持: - 7x24 小时监控能力 - 持久化 SQLite 数据库 - 自动重启机制 - 基于环境的配置 ## 🏗️ 架构 ### 后端 (`backend/`) | 组件 | 描述 | |-----------|-------------| | **`monitor.py`** | 使用 Web3.py 的实时区块监听器,通过 ML pipeline 处理交易并存储警报 | | **`feature_pipeline.py`** | 交易历史记录获取器,根据 Etherscan 数据生成 770 多项行为特征向量 | | **`contract_analyzer.py`** | AI 驱动的安全审计工具,带有基于 SQL 的缓存,用于高效的合约分析 | | **`contract_fetcher.py`** | 通过 Etherscan API 获取已验证的合约源代码 | | **`api.py`** | FastAPI REST 服务器,提供用于欺诈警报和合约分析的 endpoint | | **`models/`** | 预训练的 Random Forest 分类器(F1: 0.92)和特征模板 | | **`data/`** | 用于模型开发的原始训练数据集 | | **`alerts.db`** | 用于持久化欺诈警报存储的 SQLite 数据库 | | **`contract_cache.db`** | 用于合约分析结果的 SQLite 缓存 | ### 前端 (`frontend/`) 使用 **React 19** 和 **Vite** 构建,具有以下特点: - 毛玻璃效果设计系统 - 实时欺诈警报仪表板 - 交易扫描器界面 - 智能合约审计工具 UI - 结合 Bootstrap 的响应式布局 ## 🔧 技术栈
### 后端 - **框架:** FastAPI - **语言:** Python 3.8+ - **ML/AI:** scikit-learn, Anthropic Claude - **区块链:** Web3.py, Etherscan API - **数据处理:** Pandas, NumPy ### 前端 - **框架:** React 19 - **构建工具:** Vite - **样式:** Bootstrap, Custom CSS - **HTTP 客户端:** Axios - **类型安全:** ESLint ### 基础设施 - **容器化:** Docker, Docker Compose - **数据库:** SQLite - **部署:** AWS EC2 - **进程管理:** 自动重启策略
## 🚀 快速开始 ### 前置条件 在开始之前,请确保您具备以下条件: - **Docker & Docker Compose**(推荐)或 **Python 3.8+** 和 **Node.js 16+** - **Infura API Key**([获取免费层](https://infura.io/)) - **Etherscan API Key**([获取免费层](https://etherscan.io/apis)) - **Anthropic API Key**([获取 API 访问权限](https://console.anthropic.com/)) ### 🐳 Docker 部署(推荐) 运行 Recon 的最快方式: ``` # 1. 克隆 repository git clone https://github.com/your-username/recon.git cd recon # 2. 配置环境变量 cat > backend/.env << EOF INFURA_RPC_URL="https://mainnet.infura.io/v3/YOUR_INFURA_KEY" ETHERSCAN_API_KEY="YOUR_ETHERSCAN_KEY" ANTHROPIC_API_KEY="YOUR_ANTHROPIC_KEY" EOF # 3. 使用 Docker Compose 启动 docker-compose up --build ``` **访问入口:** - 🎨 前端仪表板:`http://localhost:5173` - 🔌 API 文档:`http://localhost:8000/docs` - 📊 欺诈警报:`http://localhost:8000/alerts` ### 💻 本地开发 在不使用 Docker 的情况下进行开发: #### 后端设置 ``` # 创建 conda 环境 conda create -n recon python=3.8 conda activate recon # 安装依赖 pip install -r requirements.txt # 配置环境 cp backend/.env.example backend/.env # 使用你的 API keys 编辑 backend/.env # 启动监控服务(终端 1) cd backend python src/monitor.py # 启动 API server(终端 2) cd backend python src/api.py ``` #### 前端设置 ``` # 安装依赖(终端 3) cd frontend npm install # 启动开发 server npm run dev ``` **访问地址:** - 前端:`http://localhost:5173` - API:`http://localhost:8000` ### ☁️ AWS EC2 生产环境部署 将 Recon 部署到 AWS 以实现 7x24 小时监控: #### 1. 启动 EC2 实例 - **AMI:** Ubuntu Server 22.04 LTS - **实例类型:** t2.small 或更大(t2.micro 可能不够用) - **安全组:** - 入站:端口 8000(API)、端口 22(SSH) - 出站:所有流量 #### 2. 通过 SSH 连接并安装依赖 ``` # 连接到你的实例 ssh -i your-key.pem ubuntu@YOUR_EC2_PUBLIC_IP # 更新系统并安装 Docker sudo apt update && sudo apt upgrade -y sudo apt install -y docker.io docker-compose git sudo usermod -aG docker ubuntu newgrp docker ``` #### 3. 部署应用 ``` # 克隆 repository git clone https://github.com/your-username/recon.git cd recon # 配置环境 cat > backend/.env << EOF INFURA_RPC_URL="https://mainnet.infura.io/v3/YOUR_INFURA_KEY" ETHERSCAN_API_KEY="YOUR_ETHERSCAN_KEY" ANTHROPIC_API_KEY="YOUR_ANTHROPIC_KEY" EOF # 以 detached mode 启动服务 docker-compose up -d # 检查状态 docker-compose ps docker-compose logs -f ``` #### 4. 访问您的部署 - 🔌 API 文档:`http://YOUR_EC2_PUBLIC_IP:8000/docs` - 📊 欺诈警报 Endpoint:`http://YOUR_EC2_PUBLIC_IP:8000/alerts` #### 可选:启用 HTTPS 在生产环境中使用时,请考虑使用 Let's Encrypt SSL 证书设置 Nginx。 ## 📋 API Endpoint ### 欺诈检测 ``` GET /alerts ``` 返回所有检测到的欺诈警报,包含交易详情和风险评分。 ### 智能合约分析 ``` POST /analyze-contract Content-Type: application/json { "contract_address": "0x..." } ``` 对指定的合约执行 AI 驱动的安全审计。 ### 文档 ``` GET /docs ``` 所有 API endpoint 的交互式 Swagger UI 文档。 ## 🗺️ 路线图 ### ✅ 已完成功能 - [x] 基于 ML 的实时欺诈检测 (F1: 0.92) - [x] AI 驱动的智能合约安全审计工具 - [x] 全栈仪表板 (React + FastAPI) - [x] 使用 Compose 的 Docker 容器化 - [x] AWS EC2 生产环境部署 - [x] 基于 SQL 的智能缓存 - [x] 770 多项行为特征工程 - [x] 持久化数据库存储 ### 🚧 开发中 - [ ] 带有历史趋势的增强型分析仪表板 - [ ] 高级警报通知系统 ### 📅 计划功能 #### 安全与分析 - **钱包调查器**:交易图表可视化和资金流向追踪 - **代币扫描器**:针对 ERC20 合约的 Honeypot 和诈骗代币检测器 - **网络钓鱼检测器**:实时监控诈骗域名和钓鱼网站 - **模式分析器**:高级欺诈模式分析和统计 #### 钱包工具 - **钱包监控器**:实时钱包分析和行为追踪 - **投资组合监视器**:交易监控和投资组合分析 - **交易追踪器**:多钱包交易监控 #### 基础设施 - **数据库迁移**:从 SQLite 迁移至 PostgreSQL/RDS - **云监控**:CloudWatch 集成与警报 - **自动扩容**:负载均衡和水平扩展 - **警报 Webhook**:可配置的通知和自定义集成 #### 用户体验 - **AI 命令栏**:用于区块链查询的自然语言界面 - **一键质押**:简化的测试网质押界面 - **自定义仪表板**:用户可配置的监控视图 ## 🤝 贡献 欢迎各种贡献!请随时提交 Pull Request。对于重大更改,请先开启一个 issue 来讨论您希望更改的内容。 1. Fork 本项目 2. 创建您的功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启一个 Pull Request ## 📄 许可证 本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 🙏 鸣谢 - [Web3.py](https://web3py.readthedocs.io/) - Ethereum 区块链交互 - [Etherscan API](https://etherscan.io/apis) - 交易历史数据 - [Anthropic Claude](https://www.anthropic.com/) - AI 驱动的合约分析 - [FastAPI](https://fastapi.tiangolo.com/) - 现代的 Python Web 框架 - [React](https://reactjs.org/) - 前端框架
**⭐ 如果觉得有用,请为本仓库点个 Star!** 怀着 ❤️ 为 Ethereum 社区而作 [报告 Bug](https://github.com/your-username/recon/issues) • [请求功能](https://github.com/your-username/recon/issues)
标签:Apex, AV绕过, FastAPI, React, Syscalls, 以太坊, 区块链安全, 智能合约审计, 机器学习, 欺诈检测, 自定义脚本, 请求拦截, 逆向工具