Afraz1a/solana-smart-contract-auditor

GitHub: Afraz1a/solana-smart-contract-auditor

一个基于AI的Solana智能合约漏洞扫描器,使用XGBoost和CodeBERT检测漏洞,并将审计记录存储在区块链上。

Stars: 0 | Forks: 0

# Solana 智能合约审计器 ### 由人工智能驱动的漏洞扫描器与链上审计记录 一个开源安全工具,能够使用经过训练的机器学习集成模型(XGBoost + CodeBERT)自动扫描 Solana 智能合约的漏洞,将永久审计记录存储在 Solana 区块链上,并为开发者提供完整的网络仪表板。 ## 现场演示 在本地启动应用,然后打开 http://localhost:5000 ``` git clone https://github.com/yourusername/solana-auditor cd solana-auditor pip install -r requirements.txt python app.py ``` ## 功能 | 功能 | 描述 | |---------|-------------| | 人工智能扫描器 | XGBoost + CodeBERT 集成模型可检测 9 种漏洞类型 | | 报告编辑级别 | 公开 / 内部 / 完整报告隐私控制 | | 实时排行榜 | 按风险评分对已扫描合约进行实时排名 | | 链上记录 | 永久审计记录存储在 Solana Devnet 上 | | Squads 集成 | 针对多重签名提案的升级前漏洞防护 | | 反馈系统 | 社区误报标记功能,数据保存在本地磁盘 | | VSCode 扩展 | 在编辑器中保存文件时实时进行代码检查 | ## 检测到的漏洞 | 编号 | 名称 | 严重程度 | |----|------|----------| | 1 | 缺少签名者检查 | 关键 | | 2 | 缺少所有者检查 | 关键 | | 3 | 整数溢出 | 高 | | 4 | 任意 CPI | 关键 | | 5 | 重复的可变账户 | 高 | | 6 | 不当的账户关闭 | 高 | | 7 | 账户数据匹配 | 中 | | 8 | 类型伪装 | 中 | | 9 | Bump Seed 规范化 | 中 | ## 项目结构 ``` solana-auditor/ ├── app.py # Flask web app (frontend + API) ├── requirements.txt │ ├── ml/ │ ├── features.py # Feature extractor (20 signals per function) │ ├── train_xgb.py # XGBoost training pipeline │ ├── train_codebert.py # CodeBERT fine-tuning (GPU accelerated) │ ├── scanner.py # Ensemble inference (XGBoost + CodeBERT) │ ├── onchain.py # Solana blockchain record writer │ └── models/ # Saved trained models │ ├── xgb_binary.pkl │ ├── xgb_type.pkl │ ├── label_encoder.pkl │ └── codebert/ │ └── vscode-extension/ # VSCode linting extension ├── package.json ├── .vscode/launch.json └── src/extension.js ``` ## 设置 ### 要求 - Python 3.10+ - Rust + Solana CLI(用于链上功能) - 建议使用 NVIDIA GPU 进行 CodeBERT 训练 ### 安装 ``` pip install -r requirements.txt ``` ## 训练模型 训练 XGBoost(快速,大约需要 2 分钟): ``` python ml/train_xgb.py ``` 微调 CodeBERT(建议使用 GPU,大约需要 10 分钟): ``` python ml/train_codebert.py ``` 测试扫描器: ``` python ml/scanner.py ``` ## 运行应用 ``` python app.py ``` 在浏览器中打开 http://localhost:5000。 ## 区块链设置 要启用链上审计记录,您需要一个拥有 Devnet SOL 的 Solana 钱包。 ``` solana config set --url devnet solana-keygen new --outfile ~/.config/solana/id.json ``` 在 https://faucet.solana.com 获取免费的测试 SOL。 然后测试链上集成: ``` python ml/onchain.py ``` 每次扫描都会在 Solana Devnet 上存储一笔真实的交易,可在 https://explorer.solana.com 查看。 ## VSCode 扩展 ``` cd vscode-extension vsce package --no-dependencies code --install-extension solana-auditor-1.0.0.vsix ``` 该扩展会在保存时自动扫描 .rs 文件并显示内联警告。 ## 模型性能 | 模型 | 任务 | 准确率 | F1 分数 | |-------|------|----------|----------| | XGBoost | 安全 vs 易受攻击 | 61% | 0.464 | | XGBoost | 漏洞类型分类 | 48% | 0.412 | | CodeBERT | 安全 vs 易受攻击 | 75% | 0.627 | ## 路线图 - 通过 Metaplex 颁发 NFT 审计证书 - 用于误报处理的链上 DAO 投票 - 自动化重训练流水线 - GitHub Actions 集成 - 主网部署 - 多链支持(NEAR, CosmWasm) ## 参考资料 - sealevel-attacks - github.com/coral-xyz/sealevel-attacks - CodeBERT - Microsoft Research, arxiv.org/abs/2002.08155 - Anchor Framework - anchor-lang.com - OtterSec 审计报告 - osec.io/reports ## 许可证 MIT 许可证
标签:AI漏洞扫描, CodeBERT模型, GraphQL安全矩阵, Solana开发, Squads多签防护, VSCode扩展, Web仪表板, XGBoost算法, 区块链安全, 区块链开发工具, 可视化界面, 合约漏洞检测, 安全扫描器, 实时风险评分, 审计记录上链, 开源安全工具, 数据可视化, 智能合约审计, 机器学习集成, 社区反馈系统, 逆向工具, 逆向工程平台, 隐私控制