evo-fuzz-env-runner
Sets up Python virtual environments using uv for each library, installs dependencies from project configuration files, and executes the fuzzer for a specified duration with proper log redirection.
SKILL.mdtasks-evolved/setup-fuzzing-py/environment/skills/evo-fuzz-env-runner/SKILL.md
GitHubFuzz Environment Runner
Sets up isolated Python virtual environments using uv, installs library dependencies and atheris, runs fuzz.py with LibFuzzer flags, and captures output to fuzz.log.
Workflow
- Create .venv using
uv venv .venvin each library directory - Install atheris and library dependencies via
uv pip install - Run fuzzer with
-max_total_time=10flag - Capture stdout+stderr to fuzz.log
Key Functions
setup_venv_with_uv(lib_path)- Create virtual environmentinstall_dependencies(lib_path, venv_path)- Install deps and atherisrun_fuzzer_with_timeout(lib_path, timeout_seconds=10)- Run fuzzer and log outputcapture_fuzz_log(lib_path)- Read fuzz.log contents
Usage
import sys
sys.path.insert(0, '/app/environment/skills/evo-fuzz-env-runner/scripts')
from runner import setup_venv_with_uv, install_dependencies, run_fuzzer_with_timeout
venv = setup_venv_with_uv('/app/arrow')
install_dependencies('/app/arrow', venv)
run_fuzzer_with_timeout('/app/arrow', timeout_seconds=10)