issaassii/SolanaScamDetection
GitHub: issaassii/SolanaScamDetection
基于链上金融数据与 Logistic Regression 的 Solana 区块链欺诈代币自动检测系统,通过特征工程与分类模型在 rugpull 发生前提前识别骗局代币。
Stars: 0 | Forks: 0
# Solana 区块链上的 Scam Token 检测
这是一个机器学习系统,它使用链上金融数据和 Logistic Regression 来检测 Solana 区块链上的欺诈性 token。
## 概述
Solana 生态系统涌现了大量新 token,其中许多是旨在几分钟内 rugpull 投资者的骗局。传统的审计在这种环境中太慢了。这个项目采用了数据驱动的方法——自动获取实时的 token 数据,使用基于领域知识的阈值对其进行标记,并训练分类器在用户遭受资金损失之前标记出 scam token。
## 功能
- 使用 GeckoTerminal 和 DexScreener API 的自定义数据集生成 pipeline
- 基于领域知识的 scam 标记(流动性陷阱、rugpull 风险、FDV 分析)
- 带有平衡 class weights 的 Logistic Regression,以处理不平衡数据
- 超参数调优(正则化强度 C),以最小化过拟合
- 在 scam token 检测中达到 **0.84 F1-score**
## 数据集
获取了 100 个最近活跃的 Solana token,并使用以下特征进行了标记:
| 特征 | 描述 |
|---|---|
| 前 10 名持有者 % | 高集中度 = rugpull 风险 |
| 总流动性 (USD) | 低流动性 = token 无法卖出 |
| FDV (完全稀释估值) | 高 FDV + 低供应量 = 清算风险 |
| GeckoTerminal 风险评分 | 平台生成的安全评级 (0–100) |
| 24小时 / 5分钟交易量变化 | 异常的交易量激增表明存在操纵 |
| 24小时 / 5分钟价格变化 | 快速的价格波动是骗局的指标 |
| 24小时交易数 | token 的活跃度水平 |
token 根据源自 DeFi 领域知识的阈值规则被标记为 **scam** 或 **非 scam**。
## 模型
- **算法:** Logistic Regression (scikit-learn)
- **预处理:** StandardScaler (所有数值特征)
- **类别不平衡:** 通过 `class_weight='balanced'` 处理
- **训练/测试集划分:** 70/30
- **调优的超参数:** 正则化强度 C ≈ 1
## 结果
| 指标 | 非 Scam | Scam |
|---|---|---|
| Precision | 0.14 | 0.95 |
| Recall | 0.50 | 0.75 |
| F1-Score | 0.22 | **0.84** |
| Accuracy | 73% | — |
## 挑战
- 大多数免费的 API(CoinGecko, SolScan, Helium)不可用或不完整——在最终选择 GeckoTerminal + DexScreener 之前进行了多次调整
- 关于 Solana scam token 的公开数据集非常稀缺;数据 pipeline 是从头构建的
- 严重偏向 scam token 的类别不平衡需要谨慎处理,以避免模型产生偏差
## 未来工作
- 纳入社交媒体信号(Twitter/X 活动、Telegram 提及)
- 使用更多的 token 和附加特征扩展数据集
- 尝试其他模型(Random Forest, XGBoost, Neural Networks)
- 集成付费 API 以获取更丰富的数据
## 技术栈
- Python
- scikit-learn
- pandas
- GeckoTerminal API
- DexScreener API
## 作者
Issa Assi
linkedin.com/in/issaassi/
标签:Apex, Solana, 代码示例, 区块链安全, 数据分析, 数据管道, 机器学习, 欺诈检测, 软件工程, 逆向工具