kchousos/OverHAuL

GitHub: kchousos/OverHAuL

基于 LLM 的 C/C++ 项目 fuzzing harness 自动生成工具,通过智能推理解决传统 fuzzing 需手写 harness 的痛点。

Stars: 13 | Forks: 1

OverHAuL

逐一利用 harness 提升您的代码安全性。

Project Status: Active – The project has reached a stable, usable state and is being actively developed. uoadl:5300250 python GitHub License Static Badge

**OverHAuL**(*利用 LLM 的 Harness 自动化*)是一个使用 ReAct 风格 LLM agent 为 C 项目自动生成兼容 libFuzzer 的 harness 的系统。它通过工具辅助的推理迭代式地构建专为有效 fuzzing 量身定制的 harness——全程无需人工干预。OverHAuL 的目标是让 fuzzing 变得触手可及且立即可用,减少阻力,加速迈向更安全软件的进程。 image ## 安装 ### 依赖项 - Python >=3.10 ### 安装步骤 1. 克隆仓库并进入目录: git clone https://github.com/kchousos/overhaul.git; cd overhaul 2. 创建虚拟环境(可选): python3.10 -m venv .venv; source .venv/bin/activate # 适用于 bash 3. 安装项目: pip install . ## 使用方法 1. 在 `.env` 中添加 OpenAI API key,例如: # cat .env OPENAI_API_KEY= 或将其导出为环境变量: export OPENAI_API_KEY= 2. 执行主脚本: overhaul 包含新生成 harness 的克隆仓库可在 `output/` 目录中找到。 ### 命令行选项 ``` $ overhaul --help usage: overhaul [-h] [-c COMMIT] [-m MODEL] [-f FILES [FILES ...]] [-o OUTPUT_DIR] 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: o3-mini, o3, 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) -o OUTPUT_DIR, --output-dir OUTPUT_DIR Directory to clone the project into. Defaults to output ``` ## 致谢 本项目是我在 [Thanassis Avgerinos](https://cgi.di.uoa.gr/~thanassis/) 教授指导下作为我的理学士(BSc)论文的一部分开发的。该论文[已在线托管](https://kchousos.github.io/BSc-Thesis/)。
标签:AI, C2, C/C++, DevSecOps, DLL 劫持, DNS 反向解析, Fuzzing, Harness生成, LibFuzzer, LLM, Petitpotam, Python, ReAct Agent, TLS抓取, Unmanaged PE, 上游代理, 事务性I/O, 云安全监控, 人工智能, 代码安全, 域名收集, 大语言模型, 无后门, 智能代理, 测试用例生成, 漏洞枚举, 用户模式Hook绕过, 网络安全研究, 自动化代码审查, 误配置预防, 软件安全, 逆向工具, 静态分析