Skip to content
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

Allow to specify options for certain instances only #46

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

wizche
Copy link
Contributor

@wizche wizche commented Nov 6, 2024

Implements #39

  • Parsing of config file
  • Generating command based on the partial flags
  • Add a cleanup stage after command is generated in order to merge same env variable (e.g. AFL_PRELOAD)
  • Document TOML format

Example TOML:

[target]
# Target binary to fuzz
path = "/bin/ls"

# Target binary arguments, including @@ if needed
args = []

[afl_cfg]
# Amount of processes to spin up
runners = 2

# Custom path to 'afl-fuzz' binary
afl_binary = "/tmp/afl-fuzz"

# Seed corpus directory
seed_dir = "/tmp/in/"

# Solution/Crash output directory
solution_dir = "/tmp/out"

# Token dictionary to use
#dictionary = "/path/to/dictionary"

# Custom AFL flags
afl_flags = "-Q"

# Use afl-fuzz defaults
use_afl_defaults = false

[[afl_cfg.flags_partial]]
probability = 0.5
AFL_USE_QASAN=1

[[afl_cfg.flags_partial]]
probability = 0.2
AFL_PRELOAD = "/path/to/libcompcov.so"
AFL_COMPCOV_LEVEL = 1

[[afl_cfg.flags_partial]]
count = 4
-x = "/tmp/dictionary1"

[[afl_cfg.flags_partial]]
count = 3
-x = "/tmp/dictionary2"

[[afl_cfg.flags_partial]]
probability = 0.4
-G = 1234

[session]
# Spin up a custom tmux session with the fuzzers
dry_run = false

# Custom tmux session name
name = "fuzz"

# Runner backend to use: [tmux, screen]
runner = "tmux"

[misc]
# Enable TUI mode

@0xricksanchez
Copy link
Owner

0xricksanchez commented Nov 18, 2024

@wizche I rewrote most if not all the core-logic of the code to hopefully increase maintainability and having easier access for adding new features.
That said, the bad news is that adding your feature requires a significant rebase now

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.

2 participants