Skip to content

Afl#881

Draft
oetr wants to merge 13 commits intomainfrom
afl
Draft

Afl#881
oetr wants to merge 13 commits intomainfrom
afl

Conversation

@oetr
Copy link
Copy Markdown
Contributor

@oetr oetr commented Apr 23, 2026

No description provided.

@oetr oetr force-pushed the afl branch 2 times, most recently from fb676e3 to d4aec3d Compare April 29, 2026 06:11
oetr added 7 commits April 30, 2026 11:35
Wire LibAFL through the addon and option layer so CLI and Jest can run against either native backend.

Make CLI fuzzing default to LibAFL and pin the legacy libFuzzer-only tests to keep the old behaviors covered where they still matter.
Exercise CLI and Jest runs through both engines so backend selection breaks where users would notice it first.
Feed observed string and integer comparisons into LibAFL so it can mutate toward guarded code paths instead of treating those checks as opaque control flow.
Pass string-containment operands in the order the backend expects so tracing and mutation guidance agree on the same relationship.
Switch LibAFL onto queue and mutation settings that work with the new guidance model and keep campaign progress moving.
Report startup, corpus loading, heartbeats, and shutdown in a stable format so users can understand a run without reading backend internals.
Keep late-loaded ESM modules on the shared edge map so LibAFL sees the real coverage they produce instead of falling back to synthetic edges.
oetr added 6 commits April 30, 2026 12:14
Pull findings, option parsing, regression replay, and ABI definitions out of the main runtime file so backend work can change in smaller pieces.

Keep the Rust build wiring and shared ABI local to the LibAFL backend instead of spreading those details through the addon.
Settle findings, signals, and promise results in one order so shutdown cannot race the native runtime guard or leave stale execution state behind.

Skip the SIGINT restoration check on Windows, where Node turns process.kill(..., "SIGINT") into termination instead of recovery.
Benchmark both engines against the same target and keep a few anomaly checks close by so backend changes can be compared empirically.
Limit root Jest parallelism so native-heavy test runs stay usable on developer machines and shared CI hosts.
Teach release and test workflows about the Rust-backed backend so the native addon is built, cached, and exercised the way it is shipped.
Explain how to select LibAFL or libFuzzer and call out the places where their supported options still differ.
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.

1 participant