safemyprivacy0-bit/audit-sol
GitHub: safemyprivacy0-bit/audit-sol
一款面向 Solidity 的快速智能合约安全扫描器,通过静态模式匹配检测多类漏洞并提供修复建议。
Stars: 0 | Forks: 0
# audit-cli
快速、基于模式的 Solidity 智能合约安全扫描器。可检测重入、访问控制缺陷、预言机问题、未检查的调用以及 15+ 种漏洞类别。
## 安装
```
npx @onebrain/audit-cli
```
或者全局安装:
```
npm install -g @onebrain/audit-cli
```
## 用法
```
# 扫描本地文件
audit-sol MyContract.sol
# 扫描 contracts 目录
audit-sol contracts/ --dir
# 从链上获取并扫描已验证的 contract
audit-sol 0x1234...abcd --chain ethereum
audit-sol 0x1234...abcd --chain base
audit-sol 0x1234...abcd --chain arbitrum
audit-sol 0x1234...abcd --chain optimism
# 从 GitHub 扫描
audit-sol https://github.com/user/repo/blob/main/src/Contract.sol
# 保存报告
audit-sol contracts/ --dir > audit-report.md
```
## 支持的链
| 链 | 浏览器 |
|-------|----------|
| Ethereum | Etherscan |
| Base | Basescan |
| Arbitrum | Arbiscan |
| Optimism | Optimistic Etherscan |
通过环境变量设置 API 密钥:
```
export ETHERSCAN_API_KEY=your_key
export BASESCAN_API_KEY=your_key
export ARBISCAN_API_KEY=your_key
export OPTIMISM_API_KEY=your_key
```
## 漏洞类别
| ID | 严重程度 | 名称 |
|----|----------|------|
| REENTRANCY-01 | CRITICAL | 外部调用后的状态更改 |
| REENTRANCY-02 | CRITICAL | 状态更新前的转账 |
| DELEGATECALL-01 | CRITICAL | 对用户控制地址的 delegatecall |
| SELFDESTRUCT-01 | CRITICAL | selfdestruct 的使用 |
| ARBITRARY-CALL-01 | CRITICAL | 使用用户输入的任意低级调用 |
| ACCESS-01 | HIGH | 敏感函数缺少访问控制 |
| ORACLE-01 | HIGH | 缺少 Chainlink 价格陈旧检查 |
| FLASH-01 | HIGH | Token 余额用于访问控制 |
| UNCHECKED-CALL-01 | HIGH | 未检查低级调用的返回值 |
| TX-ORIGIN-01 | HIGH | 使用 tx.origin 进行身份验证 |
| FRONTRUN-01 | MEDIUM | 缺少滑点保护 |
| CENTRALIZATION-01 | MEDIUM | 单个管理员可以抽干/暂停 |
| PRECISION-01 | MEDIUM | 乘法之前的除法 |
| TIMESTAMP-01 | MEDIUM | 区块时间戳依赖性 |
| APPROVAL-01 | MEDIUM | ERC20 授权竞态条件 |
| GAS-01 | LOW | 数组上的无界循环 |
| FLOATING-01 | LOW | 浮动的 pragma |
| SHADOW-01 | LOW | 变量遮蔽 |
## 输出
生成包含以下内容的 Markdown 报告:
- 摘要表(按严重程度分类的发现)
- 总体风险评分
- 包含代码上下文和建议的详细发现
## 局限性
这是一个静态模式匹配器 —— 它能捕获常见的漏洞模式,但是:
- 可能会产生误报
- 无法检测复杂的逻辑错误
- 不能替代人工专家审查或形式化验证
为了进行彻底的审计,请将其与模糊测试(Echidna/Foundry)、符号执行(Halmos)以及人工审查结合使用。
## 许可证
MIT
标签:Solidity, 区块链安全, 安全工具, 智能合约审计, 漏洞扫描, 自定义脚本, 错误基检测, 静态代码分析