harness-writing
The agent writes and improves fuzzing harnesses — the entrypoint functions that receive random data from fuzzers and route it to the system under test (SUT). It implements LLVMFuzzerTestOneInput for C/C++ with libFuzzer and AFL++ persistent mode, fuzz_target! macros for Rust with cargo-fuzz and the arbitrary crate, and go-fuzz Fuzz functions for Go. The agent structures inputs using FuzzedDataProvider, applies interleaved fuzzing patterns for multi-operation targets, handles input size validation, resets global state for determinism, and mocks blocking I/O. It applies this technique when creating new fuzz targets, improving code coverage of existing harnesses, fixing non-reproducible crashes, or building structure-aware harnesses with Protocol Buffers.
Installation and usage
The agent writes and improves fuzzing harnesses — the entrypoint functions that receive random data from fuzzers and route it to the system under test (SUT). It implements LLVMFuzzerTestOneInput for C/C++ with libFuzzer and AFL++ persistent mode, fuzz_target! macros for Rust with cargo-fuzz and the arbitrary crate, and go-fuzz Fuzz functions for Go. The agent structures inputs using FuzzedDataProvider, applies interleaved fuzzing patterns for multi-operation targets, handles input size validation, resets global state for determinism, and mocks blocking I/O. It applies this technique when creating new fuzz targets, improving code coverage of existing harnesses, fixing non-reproducible crashes, or building structure-aware harnesses with Protocol Buffers.
설치 후 터미널에서 다음 명령을 실행하여 이 스킬을 사용할 수 있습니다:
skills use harness-writing