Skip to content

fuzzing - #58

Draft
pufferfish101007 wants to merge 2 commits into
sb3from
fuzz
Draft

fuzzing#58
pufferfish101007 wants to merge 2 commits into
sb3from
fuzz

Conversation

@pufferfish101007

@pufferfish101007 pufferfish101007 commented Jul 28, 2026

Copy link
Copy Markdown
Member

implements some fuzzing facilities using libafl. Adds the Arbitrary and Mutate traits to structured sb3 so that we can mutate it while mainti0aining well-formedness (which wouldn't be possible if working with the raw json)

some of this is LLM-written and needs to be heavily reviewed/rewritten before merging. but the testcase reduction does work.

sb2/src/structured/{mutate,arbitrary}.rs were written by a human (me) i think.

fuzzing probably works but it's difficult to test properly because the compiler has too many bugs and missing features at the moment.

note that this uses the unstable macro_rules attribute macros feature (for the arbitrary_with_context macro in sb3), which causes problems with rust-analyzer and rustdoc on the current nightly version; rustdoc issues should be fixed on an upgrade but not sure about r-a.

TODO:

  • do we need both Arbitrary and Mutate for structured sb3? If we allow mutate to create increasing mutations as well as decreasing, then it shouldn't be necessary
  • test case reduction needs massive cleanup and ideally separation from libafl
  • all other bins in fuzz-libafl were heavily LLM generated so need rewritten or at least very thorough review
  • is libafl even necessary? we're not using coverage guidance (consider: should we?) or anything fancy so it might all be way more complicated than it needs to be

@pufferfish101007 pufferfish101007 linked an issue Aug 7, 2026 that may be closed by this pull request
@pufferfish101007 pufferfish101007 self-assigned this Aug 7, 2026
@pufferfish101007
pufferfish101007 changed the base branch from main to sb3 August 7, 2026 19:47
@pufferfish101007 pufferfish101007 changed the title initial experimentation with structured sb3 and fuzzing fuzzing Aug 7, 2026
sb3: more blocks + support orphaned reporters (not roundtripped yet)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

structured SB3 tracking issue

1 participant