HimankVirmani/Smart-Vulnerability-Code-Scanner
GitHub: HimankVirmani/Smart-Vulnerability-Code-Scanner
一款基于Python和Streamlit的Solidity智能合约安全扫描工具,通过模式匹配检测重入攻击、整数溢出等常见漏洞。
Stars: 0 | Forks: 0
# 🔒 智能合约漏洞扫描器 (SCVS)
[](https://soliditylang.org/)
[](https://www.python.org/)
[](https://streamlit.io/)
[](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安全, 以太坊开发, 加密, 区块链安全, 智能合约安全, 智能合约验证, 模式匹配检测, 溢出漏洞检测, 漏洞扫描器, 网络安全工具, 访问控制, 访问控制分析, 逆向工具, 配置审计, 重入攻击检测, 错误基检测, 静态代码分析