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, 代码示例, 区块链安全, 数据分析, 数据管道, 机器学习, 欺诈检测, 软件工程, 逆向工具