Skip to content

Default the fuzzing taskflow to claude-sonnet-5 - #7

Open
antonio-morales wants to merge 1 commit into
mainfrom
default-sonnet5-model-config
Open

antonio-morales wants to merge 1 commit into
mainfrom
default-sonnet5-model-config

Conversation

@antonio-morales

Copy link
Copy Markdown
Contributor

What

  • Adds src/seclab_taskflows_fuzzing/configs/model_config.yaml, a repo-local model config that maps every role (code_analysis, general_tasks, triage) to claude-sonnet-5.
  • Repoints the model_config: header of every taskflow YAML under taskflows/fuzzing/ from the parent package's seclab_taskflows.configs.model_config to the new local file.
  • Fixes a latent bug in fuzz_runner.py where fold_queue_into_persistent_corpus and reproduce_crash called tool functions via a nonexistent .fn attribute, raising AttributeError on every call.

Why

Each taskflow YAML's own model_config: field is the default model config used whenever no -m/--model-config flag is passed on the CLI. Repointing it means every fuzzing stage (identify_fuzz_targets, write_initial_harnesses, build_harnesses, fuzz_iteration, triage_crashes, etc.) now runs on claude-sonnet-5 by default, with no CLI flag or environment variable required.

Only this repository's own taskflow package is touched — the shared seclab_taskflows parent package (used by other repositories) is untouched, so this change has no effect outside this repo.

Testing

  • Verified via AvailableTools that get_taskflow(...).model_config_ref now resolves to seclab_taskflows_fuzzing.configs.model_config, and that config maps all three roles to claude-sonnet-5.
  • Ran the analyze_build_system, write_initial_harnesses, build_harnesses, and fuzz_iteration taskflow stages end-to-end without passing -m, confirming they used claude-sonnet-5 and completed successfully.
  • Exercised fold_queue_into_persistent_corpus (previously broken by the .fn bug) across several fuzz iterations; confirmed it now merges/minimises the persistent corpus without raising.

Add src/seclab_taskflows_fuzzing/configs/model_config.yaml, a
repo-local model_config that maps every role (code_analysis,
general_tasks, triage) to claude-sonnet-5, and repoint every taskflow
YAML under taskflows/fuzzing/ at it instead of the parent package's
seclab_taskflows.configs.model_config default.

Each taskflow YAML's own model_config: header is the sole default used
when no -m/--model-config flag is passed, so this makes sonnet-5 the
default model for every fuzzing stage without requiring any CLI option
or environment variable. Only this repository's own taskflow package is
touched, so other repositories depending on the shared seclab_taskflows
package are unaffected.

Also fix a latent bug in fuzz_runner.py where fold_queue_into_persistent_corpus
and reproduce_crash called the tool functions via a nonexistent .fn
attribute (leftover from an older fastmcp API), which raised
AttributeError on every call.
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