1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年3月29日 |
---|
#597 在 测试
32KB
roughenough-fuzz
此crate用于模糊测试Roughenough,Roughtime安全时间同步协议的Rust实现。
构建和安装
模糊测试使用American fuzzy lop通过afl.rs,使用libFuzzer通过cargo-fuzz,以及使用honggfuzz通过honggfuzz-rs。
Rust Nightly需要编译此crate。编译器标志-Z
是cargo-fuzz
所必需的。MacOS用户也需要nightly编译afl.rs
。
安装
cargoinstall afl cargo-fuzz honggfuzz
注意,Ubuntu 17.10需要binutils-dev
和libunwind-dev
软件包来编译cargo-fuzz。YMMV。
运行
$ cd roughenough-fuzz
# Run AFL
$ cargo afl build --release
$ cargo afl fuzz -i in -o out -x dictionary.txt target/release/roughenough-fuzz
# Run libFuzzer
$ cargo fuzz run -O fuzz_target_1 -- -dict=dictionary.txt -max_len=2048
# Run honggfuzz
$ HFUZZ_RUN_ARGS="--dict dictionary.txt --max_file_size 2048 --input in/" cargo hfuzz run hfuzz_target
链接
贡献者
- Stuart Stock (stuart {at} int08h.com)
版权和许可
roughenough-fuzz版权所有(c)2018 int08h LLC。保留所有权利。
int08h LLC根据Apache许可证版本2.0(“许可证”)授予您roughenough-fuzz(“软件”)的使用权;除非遵守许可证,否则您不得使用本软件。您可以从软件中包含的LICENSE文件或从以下网址获取许可证:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言、权限和限制,请参阅许可证。
依赖关系
~50MB
~1.5M SLoC