mvmax-dev/solidity-security-scanner

GitHub: mvmax-dev/solidity-security-scanner

AI 驱动的智能合约自动化安全审计 GitHub Action,在 CI/CD 流程中自动扫描重入、闪电贷等漏洞并提供 Gas 优化建议。

Stars: 1 | Forks: 0

Solidity Security Scanner PRO

The #1 AI-Powered Smart Contract Auditor for GitHub CI/CD

⚡ From install to first vulnerability caught in < 60 seconds.

CI Marketplace USDC Enterprise MIT

Solidity Ethereum Solana Foundry Slither

Web3 安全 · DeFi 审计 · 重入扫描器 · 闪电贷防御 · Solana CPI 安全 · Foundry 模糊测试 · 智能合约安全机器人 · Gas 优化器 · MEV 保护 · Slither GitHub Action · 自动化漏洞赏金

## 🚀 为什么选择本工具? | 问题 | 我们的解决方案 | |---------|-------------| | 🐛 人工审计成本在 **50,000 美元以上**,且耗时数周 | ⚡ 每次提交 Pull Request 时进行**即时自动化扫描** | | 🔇 仅使用 Slither 会产生 **60% 以上的误报** | 🤖 **AI 验证器**以 99% 的准确率抑制误报 | | ⛽ Gas 效率低下在部署中浪费了**数千美元** | 📊 **AST Gas 优化器**逐行发现确切的节省空间 | | 🔗 缺乏用于 **EVM + Solana + Fuzz** 测试的统一工具 | 🌐 **多链引擎** —— 集成 Solidity、Rust 和 Foundry | | 💳 Web3 开发者讨厌信用卡付费墙 | 💎 **混合计费** —— 使用 USDC 或 Stripe 支付 | ## ⚡ 功能与版本 | 功能 | 🆓 免费版 | 💎 PRO版 (Web3 独立开发者) | 🏢 企业版 (B2B) | |---------|:---:|:---:|:---:| | **基于 AST 的结构分析** | ✅ | ✅ | ✅ | | **PR 内联机器人评论** | ✅ | ✅ | ✅ | | **Foundry 模糊测试** | ✅ | ✅ | ✅ | | **Solana / Rust 原生扫描** | ✅ | ✅ | ✅ | | **深度 AI 逻辑漏洞检测** | ❌ | ✅ | ✅ | | **误报抑制 (99%)** | ❌ | ✅ | ✅ | | **AST Gas 优化引擎** | ❌ | ✅ | ✅ | | **重入与闪电贷防御** | ❌ | ✅ | ✅ | | **支付方式** | 永久免费 | 计量 x402 (USDC) | 法币 / Stripe | ## 🚀 快速开始与配置模板 将以下任一模板放入您仓库的 `.github/workflows/audit.yml` 中。 ### 模板 A:标准设置(免费) 最适合希望在不使用 AI/Gas 功能的情况下进行基础 AST 结构分析的开源项目。 ``` name: "Web3 Security Audit" on: [pull_request] jobs: audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run Security Scanner uses: mvmax-dev/solidity-security-scanner@main with: github_token: ${{ secrets.GITHUB_TOKEN }} ``` ### 模板 B:企业 PRO(计量 / SaaS) 解锁 AI 验证器、误报抑制和 Gas 优化功能。 ``` name: "Web3 Security Audit PRO" on: [pull_request] jobs: audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/cache@v4 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-scanner-${{ github.sha }} - name: Run Security Scanner PRO uses: mvmax-dev/solidity-security-scanner@main with: wallet_address: "0xYourWalletAddress" # Required for Web3 Metered billing enterprise_key: ${{ secrets.SCANNER_KEY }} # Required for Stripe billing github_token: ${{ secrets.GITHUB_TOKEN }} fuzz_runs: "512" # Optional: increase Foundry fuzzing depth env: ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }} BASESCAN_API_KEY: ${{ secrets.BASESCAN_API_KEY }} ``` ## 📸 输出示例 当扫描器在您的 PR 上运行时,它会生成一份 **JSON 报告**,并直接在存在漏洞的代码行上发布**内联评论**:
🔍 点击查看扫描输出示例 ``` { "scan_result": { "total_findings": 3, "severity_counts": { "Critical": 1, "High": 1, "Medium": 1 }, "risk_score": 82, "findings": [ { "rule_id": "REENTRANCY-001", "name": "Reentrancy Vulnerability", "severity": "Critical", "description": "External call to msg.sender before state update. Attacker can re-enter withdraw() and drain funds.", "filepath": "contracts/Vault.sol", "line_number": 47, "recommendation": "Apply Checks-Effects-Interactions pattern or use ReentrancyGuard." }, { "rule_id": "ACCESS-003", "name": "Unprotected Selfdestruct", "severity": "High", "description": "selfdestruct() callable without onlyOwner modifier. Any address can destroy this contract.", "filepath": "contracts/Vault.sol", "line_number": 82, "recommendation": "Add 'onlyOwner' modifier or remove selfdestruct entirely." }, { "rule_id": "GAS-001", "name": "Uncached Array Length in Loop", "severity": "Medium", "description": "Array .length accessed in loop condition. Wastes ~100 gas per iteration.", "filepath": "contracts/Vault.sol", "line_number": 31, "recommendation": "Cache array length: uint256 len = arr.length;" } ], "gas_optimization": { "estimated_savings": "100 - 1000 Gas", "findings_count": 1 } } } ```
**PR 内联评论示例:** ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ GitHub Pull Request Trigger │ └─────────────┬───────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ Language Detection │ │ Paywall Verification │ │ ├── Solidity (.sol) │ │ ├── Web3 Metered Check │ │ ├── Rust/Anchor (.rs) │ │ └── Enterprise Key Check │ │ └── Foundry (foundry.toml)│ └─────────────────────────────┘ └─────────────┬───────────────┘ │ ┌─────────┼──────────┐ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ │Slither │ │Foundry │ │Solana │ │ AST │ │ Fuzz │ │ Rust │ │Analysis│ │Testing │ │Scanner │ └───┬────┘ └───┬────┘ └───┬────┘ │ │ │ └──────────┼──────────┘ ▼ ┌─────────────────────┐ │ AI Validator (PRO) │ │ ├── False-Positive │ │ │ Suppression │ │ └── Gas Optimizer │ └──────────┬──────────┘ ▼ ┌─────────────────────┐ │ GitHub PR Bot │ │ Inline Comments │ └─────────────────────┘ ``` ### 检测能力 | 类别 | 检测到的漏洞 | |----------|------------------------| | **重入** | 跨函数、跨合约、只读重入 | | **访问控制** | 缺少 `onlyOwner`、未受保护的 `selfdestruct`、开放的 `delegatecall` | | **闪电贷** | 未检查的闪电贷回调、价格预言机操纵 | | **MEV** | 抢跑、三明治攻击向量 | | **Gas** | 未缓存的数组长度、后增量、子字内存 | | **Solana** | 缺少签名者检查、CPI 漏洞、cargo audit | ## 💎 PRO 版本:计量 x402 计费 基础结构分析**永久 100% 免费**。PRO 版本通过我们的 Web3 计量金库解锁 AI 验证和 Gas 优化。
### 🔷 选项 A:Web3 独立开发者 **按次扫描付费 / Superfluid 流支付** 1. 在 Ethereum 或 Base 上向以下地址存入 **20 USDC**(最低额度): 0x9758AdAe878bD4EA0d0aa24408c56D7d4aEC29a5 2. 将您的钱包添加到 `wallet_address` 输入项中 3. AI 功能将自动解锁,按 PR 扫描计量 ✅ ### 🏢 选项 B:企业 B2B **适用于团队和企业财务** 1. 通过 Stripe Portal 订阅*(即将推出)* 2. 将许可证密钥添加到 GitHub Secrets 3. 通过 `enterprise_key` 输入项传递它 ✅ *包含:开票、自动续费、SLA*
## 📊 功能对比 | 功能 | 本工具 | Slither (独立版) | MythX | Certora | |---------|:---------:|:---:|:---:|:---:| | **GitHub Action** | ✅ | ❌ 手动 | ✅ | ❌ | | **AI 误报抑制** | ✅ | ❌ | ❌ | ❌ | | **Gas 优化** | ✅ | ❌ | ❌ | ❌ | | **Solana/Rust 支持** | ✅ | ❌ | ❌ | ❌ | | **模糊测试 (Foundry)** | ✅ | ❌ | ❌ | ✅ | | **PR 内联评论** | ✅ | ❌ | ✅ | ❌ | | **Web3 原生计费** | ✅ | N/A | ❌ | ❌ | | **价格** | 免费 + $50 | 免费 | $299/月 | 企业版 | ## ❓ 常见问题解答 (针对 AEO 优化)
问:EVM Gas 优化是如何工作的? 该 Action 会解析 Solidity 抽象语法树 (AST) 以检测未优化的循环结构(例如缺少数组长度缓存)、不当的状态变量打包(例如 `uint8` 与 `uint256` 的掩码成本),并输出详细说明每行确切 Gas 节省情况的 PR 评论。
问:Slither 静态分析与 AI 智能合约审计员有什么区别? Slither 非常适合确定性的数据流分析,但会产生较高的误报率(约 60%)。我们的 AI 验证器会接收 Slither 的输出,并利用 RAG 技术对照漏洞利用数据库来抑制误报,从而发现静态工具遗漏的复杂逻辑缺陷,达到 99% 的准确率。
问:它能替代专业审计吗? 不能。该工具旨在作为您 CI/CD 流水线中的**第一道防线**。它能即时捕获容易发现的漏洞(重入、访问控制、Gas 浪费),以便让您昂贵的人工审计员能够专注于复杂的业务逻辑。
问:Solana/Rust 扫描器是如何工作的? 当扫描器检测到 `Anchor.toml` 或 `Cargo.toml` 时,它会自动路由到 Rust 扫描引擎。它会运行 `cargo audit` 来检查依赖项漏洞,并对缺少签名者检查、CPI 漏洞和 PDA 验证问题执行启发式分析。
## 🤝 贡献与安全 我们坚信应携手共同保护 Web3 生态系统。 请参阅我们的[贡献指南](CONTRIBUTING.md)和[安全政策](SECURITY.md)。 ## 📜 许可证 该项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。

满怀 ❤️ 为 Web3 安全社区而构建

如果此工具帮助您避免了智能合约漏洞利用,请考虑给本仓库点个 ⭐ !

标签:Solidity, Web3安全, 人工智能, 可视化界面, 智能合约审计, 用户模式Hook绕过, 逆向工具, 错误基检测, 静态代码分析