-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[FUZZER] Multiple utils and library refactor, fuzzers #15176
base: main
Are you sure you want to change the base?
Conversation
⏱️ 39m total CI duration on this PR
|
@@ -97,6 +112,11 @@ When building in the OSS-Fuzz environment, `fuzz.sh` will place the corpus archi | |||
- **Error Handling:** Implement robust error handling to intercept crashes or unwanted/unexpected behavior. | |||
- **Performance Optimization:** Optimize for performance to enable more iterations and deeper fuzzing. | |||
|
|||
## fuzzer CLI | |||
`cargo run fuzzer <command>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will this replace fuzz.sh
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can; I haven't decided about it yet. So far, it’s helpful for accessing data structures and functionalities of other suites in Rust. Thought, most of the utilities would basically call other binaries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it may be confusing having two different utilities for the same purpose. can the functionality here be included in fuzz.sh
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can call It from the script, but it seems a bit layered, let me think about it.
Description
New structure for utils:
helpers.rs
contains generic data structures and helpful functions. Specific data structures or functions for specific fuzzers are now located invm.rs
andauthenticator.rs
.testsuite/fuzz/src/main.rs
is now a CLI that introduces helpful commands to build fuzzers. Currently, onlycompile_federated_jwk
has been introduced, but others can be ported. This is a good PoC to show how to generate custom scripts/modules and embed them in the fuzzer's code if required for the setup. A newdata
folder is now present, which is used for support files for the new CLI.I turned all the fuzzers back on, as the build now works as expected on OSS-Fuzz.
How Has This Been Tested?
./fuzz.sh test
Key Areas to Review
N/A
Type of Change
Which Components or Systems Does This Change Impact?
Checklist