-
-
Notifications
You must be signed in to change notification settings - Fork 330
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
Introduce Persistent Record for libafl-fuzz #2411
Conversation
use libafl_bolts::{Error, Named}; | ||
use serde::{Deserialize, Serialize}; | ||
|
||
/// A [`PersitentRecordFeedback`] tracks the last N inputs that the fuzzer has run. |
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.
Just a thoguth, I don't think the last N always makes sense / you'd want all since restart (which, sadly, may be target dependent)
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.
@domenukk AFL++ does this based on a provided value. I think it's fine.
If we put this into the state, we can actually use this for InProcess fuzzing, too! Anyway, we definitely want this in the main lib, too! :) |
CI is unhappy: thread 'main' panicked at src/main.rs:99:21:
Failed to run launcher: KeyNotFound("libafl::schedulers::minimizer::TopRatedsMetadata not found", 0: libafl_bolts::Error::key_not_found
at /home/runner/work/LibAFL/LibAFL/libafl_bolts/src/lib.rs:350:40
...
<libafl::schedulers::testcase_score::CorpusWeightTestcaseScore<S> as libafl::schedulers::testcase_score::TestcaseScore<S>>::compute
at /home/runner/work/LibAFL/LibAFL/libafl/src/schedulers/testcase_score.rs:324:28
libafl::schedulers::weighted::WeightedScheduler<C,F,O,S>::create_alias_table
at /home/runner/work/LibAFL/LibAFL/libafl/src/schedulers/weighted.rs:174:26
... |
Oh wait that's in main lol |
It's so simple, really cool! |
Regarding the inputs prior to restarts, I'll have to verify. |
I think it's fine, we don't care about inputs before restarts. The idea is to have a (semi-perfect) rerun of all inputs from the last restart to the crash. |
CI should work now too!