home/categories/llm-ai/elizaos-eliza-packages-skills-skills-testing-handbook-skills-skills-harness-writing-skill-md
llm-aidata-ai

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.

elizaOS
maintainer
elizaOS
Updated 3/17/2026
Stars
18154
Forks
5492
quick start

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.

Installation
$ install --globalskills.sh
Usage

Once installed, you can use this skill by running the following command in your terminal:

skills use harness-writing