Yashshah025/Crypto-Address-Collection-and-Categorization-System
GitHub: Yashshah025/Crypto-Address-Collection-and-Categorization-System
这是一个基于机器学习的全栈威胁情报系统,通过结合XGBoost分类器和孤立森林算法,对加密货币钱包地址进行自动分类及风险评分。
Stars: 0 | Forks: 0
# 加密货币地址分类与威胁情报流水线
一个全栈、基于机器学习的系统,旨在根据结构属性和链上行为代理对加密货币钱包地址进行分类,并识别潜在恶意实体(欺诈、诈骗、可疑行为者)。
## 🚀 概述
该代码库包含一个 Flask 后端应用程序,配以响应式现代前端。它集成了一个智能、生产级的 ML 流水线,用于评估、分类和监控加密货币地址。该 ML 引擎利用 **XGBoost 分类器** 和 **Isolation Forest 异常检测器**,基于高维链上代理特征自动将钱包分类。
### 核心功能
- **自动化 AI 分类**:将地址分类为 6 个主要类别:`Exchange`(交易所)、`Miner`(矿工)、`Fraud`(欺诈)、`Smart Contract`(智能合约)、`Suspicious`(可疑)和 `Individual`(个人)。
- **混合智能层**:
- **XGBoost**:高度优化的多类概率系统,集成 SMOTE 用于不平衡类建模。
- **Isolation Forest**:分析结构和行为异常向量,以建立实时风险严重性评分。
- **BABD-13 特征工程**:综合 20 个不同的数据点,模拟比特币地址行为数据集(BABD-13),分析:
- **结构**:地址熵、长度、字符多样性和前缀映射。
- **行为代理**:模拟强大的交易图,检查活动(PAI)、分布(PDI)、时间模式(PTI)和网络中心性(CI)。
- **可解释 AI (XAI)**:包括内置支持映射特征重要性(内置 SHAP 集成模块)以实现全局模型可解释性。
- **RESTful API 和 JWT 认证**:安全端点,用于通过 Web 客户端获取地址情报、生成报告、管理分类规则以及编排 ML 训练。
## 📁 代码库结构
```
├── app.py # Main Flask Application Entry Point
├── crypto.db # SQLite Database File
├── extensions.py # SQLAlchemy & JWT Extensions Configuration
├── feature_engine.py # BABD-13 Proxy Feature Extraction Module
├── ml_classifier.py # ML Classifier Wrapper handling Inference & Risk Scoring
├── models.py # SQLAlchemy ORM Database Schemas
├── requirements.txt # Python Dependencies List
├── train_model.py # Centralized Trainer for XGBoost & Isolation Forest
├── verify_ml.py # ML Environment Verification Script
├── seed_real_data.py # Database bootstrapping/seeding routines
├── data/ # Directory intended for datasets (e.g., dataset_10m_ads.csv.zip)
├── frontend/ # Root for JS/CSS/HTML user interface
│ ├── index.html # Login Page / Entry point
│ ├── dashboard.html # Core Threat Intelligence Dashboard
│ ├── addresses.html # Wallet Address Registry interface
│ └── ...
├── model/ # Stores generated classifier.joblib & anomaly_detector.joblib
└── routes/ # Modularized Flask Blueprint Routes (Auth, Dashboard, Reports, etc.)
```
## 🧠 机器学习引擎
威胁分类器超越了简单的规则匹配,对地址行为中的复杂非线性关系进行建模:
1. **训练模式**:该模型能够自动解析热门数据集(BABD-13, MBAL,通用 CSV)。使用 `imbalanced-learn` SMOTE 功能严格处理不平衡数据集。
2. **特征提取器**:将简单的地址格式和合成关系交易映射到 20 个综合预测因子(Structural, PAI, PDI, PTI, CI, S)。
3. **异常/风险**:根据偏离规范的地址形状,通过评估 `IsolationForest` 决策函数,提供定制的连续 `risk_score`(介于 0.0 - 1.0 之间)。
## 🛠️ 快速入门指南
### 1. 要求与设置
确保已安装 Python 3.10+。
```
# 克隆 repository
git clone
cd
# 安装必要的 dependencies
pip install -r requirements.txt
```
### 2. 引导数据库与管理员用户
数据库通过 `app.py` 自动初始化。成功启动后,将创建一个本地 SQLite `crypto.db` 实例,其中包含允许立即使用仪表板的种子数据。
```
# 运行 application backend 并启动 frontend
python app.py
```
*应用程序默认绑定到 `http://127.0.0.1:5000/`。您可以使用 `admin@crypto.com` / `Admin@1234` 登录。*
### 3. 训练 ML 流水线
要准确激活预测层,请向系统提供数据集:
```
# 提供原始 CSV 文件的位置
python train_model.py --dataset data/dataset_10m_ads.csv.zip
```
*(您可以使用 `--quick`、`--val-size`、`--test-size` 或 `--sample` 等标志配置超参数。)*
## 🔒 端点概述
应用程序通过定义的 `Blueprints` 全面处理交互:
* `/api/auth`:登录、身份验证管理。
* `/api/dashboard`:获取宏观层面的系统指标和顶级欺诈威胁。
* `/api/addresses`:触发 ML 预测和地址修改的深入分析。
* `/api/reports`:以多种格式(JSON/CSV)生成报告。
## 📄 许可证
本项目是专有的,仅用于教育/分类情报测试。
标签:Apex, BABD-13, Flask, Isolation Forest, JWT认证, RESTful API, SHAP, SMOTE, Web仪表盘, XGBoost, 交易图谱, 人工智能, 加密货币, 区块链安全, 反欺诈, 可解释性AI, 地址分类, 威胁情报, 开发者工具, 异常检测, 恶意检测, 提示词优化, 数据可视化, 机器学习, 特征工程, 用户模式Hook绕过, 网络中心性, 逆向工具, 钱包追踪, 链上分析