#fuzzing #afl #roughtime

app roughenough-fuzz

Roughenough的模糊测试:Roughtime安全时间同步协议的Rust实现

1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年3月29日

#597测试

Apache-2.0

32KB

roughenough-fuzz

Apache License 2

此crate用于模糊测试Roughenough,Roughtime安全时间同步协议的Rust实现。

构建和安装

模糊测试使用American fuzzy lop通过afl.rs,使用libFuzzer通过cargo-fuzz,以及使用honggfuzz通过honggfuzz-rs

Rust Nightly需要编译此crate。编译器标志-Zcargo-fuzz所必需的。MacOS用户也需要nightly编译afl.rs

安装

  • cargoinstall afl cargo-fuzz honggfuzz

注意,Ubuntu 17.10需要binutils-devlibunwind-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