HimankVirmani/Smart-Vulnerability-Code-Scanner

GitHub: HimankVirmani/Smart-Vulnerability-Code-Scanner

一款基于Python和Streamlit的Solidity智能合约安全扫描工具,通过模式匹配检测重入攻击、整数溢出等常见漏洞。

Stars: 0 | Forks: 0

# 🔒 智能合约漏洞扫描器 (SCVS) [![Solidity](https://img.shields.io/badge/Solidity-%23363636?style=for-the-badge&logo=solidity&logoColor=white)](https://soliditylang.org/) [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![Streamlit](https://img.shields.io/badge/Streamlit-FF4B4B?style=for-the-badge&logo=Streamlit&logoColor=white)](https://streamlit.io/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT) 一款专业级的网络安全工具,旨在部署前识别 Solidity 智能合约中的常见安全漏洞。SCVS 将基于模式的检测与简洁直观的 Web 界面相结合,帮助开发者保护其区块链应用的安全。 ## 🚀 核心功能 - **重入攻击检测**:识别可能被恶意合约利用的外部调用。 - **算术漏洞**:标记潜在的整数上溢和下溢。 - **访问控制分析**:检测缺乏适当修饰符(例如 `onlyOwner`)的函数。 - **安全最佳实践**:发现未检查的外部调用和硬编码地址。 - **交互式仪表盘**:实时分析,提供详细的安全报告和修复建议。 - **双重输入方式**:直接粘贴 Solidity 代码或上传 `.sol` 文件。 ## 🛠️ 架构 SCVS 采用模块化设计,确保易于扩展和维护: - **`scanner/analyzer.py`**:解析 Solidity 代码的核心分析引擎。 - **`scanner/patterns.py`**:用于漏洞检测的可复用安全模式。 - **`scanner/reporter.py`**:生成结构化安全发现的逻辑。 - **`app.py`**:用于提供优质用户体验的精美 Streamlit Web 界面。 ## 📥 安装说明 确保已安装 Python 3.8+。 1. **克隆代码库**: git clone https://github.com/your-username/SmrtVulScanner.git cd SmrtVulScanner 2. **安装依赖项**: pip install -r requirements.txt ## 🖥️ 使用方法 1. **启动 Web 界面**: streamlit run app.py 2. **运行 CLI 测试套件**: python test_scanner.py ## 🛡️ 检测到的漏洞 | 漏洞 | 描述 | 严重程度 | | :--- | :--- | :--- | | **重入攻击 (Reentrancy)** | 劫持外部调用以重新进入函数。 | 🔴 高 | | **整数溢出 (Integer Overflow)** | 算术结果超出存储限制。 | 🟠 中 | | **未检查的调用 (Unchecked Calls)** | 未进行返回值验证的外部调用。 | 🟡 低 | | **访问控制** | 敏感函数缺少限制。 | 🔴 高 | | **硬编码地址** | 使用静态 Ethereum 地址。 | 🟡 低 | ## 🔮 未来路线图 - [ ] **AI 驱动分析**:集成 LLM 以进行更深层的语义理解。 - [ ] **静态分析 (AST)**:超越正则表达式,转向抽象语法树分析。 - [ ] **导出报告**:生成 PDF、JSON 和 Markdown 格式的安全审计报告。 - [ ] **CI/CD 集成**:在 GitHub Pull Requests 上自动扫描。 ## ⚖️ 免责声明 *SCVS 是一款旨在辅助安全审计的自动化工具。它不能取代专业安全研究人员的手动代码审查。在将合约部署到任何主网之前,请务必确保对其进行彻底审计。* ## 📄 许可证 本项目采用 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
标签:DeFi安全, DNS枚举, Kubernetes, MIT许可, Python安全工具, Solidity审计, Streamlit, Web3安全, 以太坊开发, 加密, 区块链安全, 智能合约安全, 智能合约验证, 模式匹配检测, 溢出漏洞检测, 漏洞扫描器, 网络安全工具, 访问控制, 访问控制分析, 逆向工具, 配置审计, 重入攻击检测, 错误基检测, 静态代码分析