amapara27/recon-ethereum-security
GitHub: amapara27/recon-ethereum-security
Recon 是一个结合机器学习与 AI 的以太坊安全平台,提供实时链上欺诈检测与智能合约自动化审计能力。
Stars: 0 | Forks: 0
# 🛡️ Recon
### 实时 Ethereum 欺诈检测与智能合约安全审计工具
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://reactjs.org/)
[](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://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, 以太坊, 区块链安全, 智能合约审计, 机器学习, 欺诈检测, 自定义脚本, 请求拦截, 逆向工具