Skip to content

README.md: Add Rust port of Radamsa #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 26, 2023

Conversation

Nicceboy
Copy link
Contributor

Include Microsoft Rust port of Radamsa general purpose fuzzer

@Shnatsel
Copy link
Member

Thank you for the addition!

Do I understand correctly that it is not coverage-guided, unlike afl/libfuzzer/honggfuzz? If so it is something I'd like to note in the table.

@Nicceboy
Copy link
Contributor Author

It is not coverage guided by itself, but you can use it with libfuzzer for example to get the coverage : https://llvm.org/docs/LibFuzzer.html#fuzz-target

The mutator is also integrated to Afl++ for example https://aflplus.plus/features/

This fuzzer is known for its very good mutation capabilities.

@Shnatsel
Copy link
Member

Thank you for the clarification! Just to confirm, can it fuzz Rust code?

@Nicceboy
Copy link
Contributor Author

The rusty-radamsa port can be used as library in your Rust code, but in general the CLI version can fuzz anything.

use std::boxed::Box;
extern crate rusty_radamsa;
let data = Box::<[u8]>::from("Hello World 12345689\n".as_bytes());
let mut out_buffer = Box::<[u8]>::from(vec![0u8; 2048]);
let max_len = out_buffer.len(); //aka truncate
let seed: u64 = 42;
let _len = rusty_radamsa::radamsa(&data, data.len(), &mut out_buffer, max_len, seed);

@Shnatsel Shnatsel merged commit 4ebe173 into rust-secure-code:master Jul 26, 2023
@Shnatsel
Copy link
Member

Merged, thanks!

I've updated the description in the main branch, does that look descriptive?

@Nicceboy
Copy link
Contributor Author

I think it is OK!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants