8000 GitHub - kchousos/llm-harness: Automatic LLM-generated fuzzing harnesses for your C/C++ project.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

kchousos/llm-harness

Repository files navigation

LLM-Harness (TBD)

Use LLMs to automatically generate fuzzing harnesses for your C/C++ project.

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. python GitHub License GitHub Actions Workflow Status Coveralls code formatter: ruff type check: mypy

  • Collects information of your project structure and files.
  • Gives relevant context to LLM.
  • Automatically writes generated harness.
  • Builds any generated harness and evaluates it.
  • Supports OpenAI's models.

Getting Started

Installation

Dependencies

Installation Steps

  1. Clone the repository and cd into it:

    git clone https://github.com/kchousos/llm-harness.git;
    cd llm-harness
  2. Install the project:

    uv sync

Usage

  1. Add an OpenAI API key in .env, such as:

    # cat .env
    OPENAI_API_KEY=<API-key-here>
  2. Execute the main script:

    uv run python main.py <repo-link>

Command-Line Options

$ uv run python main.py --help
usage: main.py [-h] [-c COMMIT] [-m MODEL] [-f FILES [FILES ...]] repo

Generate fuzzing harnesses for C/C++ projects

positional arguments:
  repo                  Link of a project's git repo, for which to generate a harness.

options:
  -h, --help            show this help message and exit
  -c COMMIT, --commit COMMIT
                        A specific commit of the project to check out
  -m MODEL, --model MODEL
                        LLM model to be used. Available: gpt-4.1-mini, o1, o1-pro, gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini
  -f FILES [FILES ...], --files FILES [FILES ...]
                        File patterns to include in analysis (e.g. *.c *.h)

Packages

No packages published

Contributors 2

  •  
  •  
0