vinci-grape/FuzzMaster
GitHub: vinci-grape/FuzzMaster
该论文提出基于深度强化学习的自适应突变调度,为智能合约模糊测试提升覆盖与漏洞发现能力。
Stars: 0 | Forks: 0
## 🔧 从源代码构建并运行测试
1. **安装 Rust**
访问 [https://rustup.rs/](https://rustup.rs/) 并按照说明安装 Rust 和 Cargo。
2. **安装依赖项**
确保以下软件包已安装:
* `libssl-dev` (OpenSSL)
* `libz3-dev`
* 在 Linux 上,你可能还需要 **Clang ≥ 12.0.0**。使用以下命令将其设置为 C 编译器:
export CC=clang
export CXX=clang++
3. **构建项目**
使用 Cargo 构建项目。根据你的系统,这可能需要几秒钟到几分钟:
cargo build --release
4. **准备智能合约二进制文件**
每个智能合约在测试前都应**编译**。确保每个合约文件夹包含对应的 `.abi` 和 `.bin` 文件。
5. **对合约运行模糊测试**
要测试单个智能合约,运行:
cargo run --features print_txn_corpus --package ityfuzz --bin ityfuzz -- evm -t dir_path/*
将 `dir_path` 替换为合约目录的实际路径。
6. **日志输出**
对于每个测试的智能合约,输出将保存到名为以下名称的日志文件:
.log
该文件保存在对应的合约目录中。日志包含:
* **STDOUT**:基本执行信息,例如部署、变异操作和覆盖率结果。
* **STDERR**:任何错误消息或内部诊断信息。
* **检测到的漏洞部分**:
如果发现任何漏洞,它们将被明确列出,包括:
* 漏洞类型(例如 Selfdestruct、Reentrancy)
* 相关函数调用和跟踪
* 最终指令和分支覆盖率
你可以通过搜索以下内容快速定位此部分:
Found vulnerabilities!
标签:Cargo, Coverage, EVM, FSE 26, ittyfuzz, Reentrancy, Rust, Selfdestruct, 区块链安全, 可视化界面, 合约漏洞检测, 形式化验证, 数据管道, 智能合约安全, 智能合约模糊测试, 模糊测试工具, 深度强化学习, 网络流量审计, 自适应变异调度, 软件工程, 通知系统