AFLplusplus / AFLplusplus/LibAFL

Objective Deduplication using the stack/call trace helper for QemuForkExecutor

Open
#1,644 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.6k
Forks
481
Avg merge
2d 30m
Merged PRs (30d)
16

Description

I'm trying to implement a deduplication objective using existing crash hash, stack/call trace helper, and related objectives. The challenge is, I'm doing this for the QemuForkExecutor, and as expected, the default call trace helper in Qemu seems to have been designed for the in-process executor, and using it with a QemuForkExecutor will crash the fuzzer. I still trying to understand the inner working of LibAFL, so I was thinking about simply copying the existing helper and setting const HOOKS_DO_SIDE_EFFECTS: bool = false;. Would this be a problem? I am trying to avoid using the HitCounts map for deduplication because we could have the same crash, with the same call/stack trace but different edge hit counts, and I suppose a deduplication feedback based on the Hitcounts map woud consider such a scenario as unique crashes.
Any ideas on how to go about this would be very much appreciated.
Thanks a lot in advance.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.