jthack / ffufai

AI-powered ffuf wrapper
267 stars 40 forks source link
ffufai_logo # `ffufai` ![GitHub top language](https://img.shields.io/github/languages/top/jthack/ffufai) ![GitHub last commit](https://img.shields.io/github/last-commit/jthack/ffufai) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

ffufai is an AI-powered wrapper for the popular web fuzzer ffuf. It automatically suggests file extensions for fuzzing based on the target URL and its headers, using either OpenAI's GPT or Anthropic's Claude AI models.

Features

image

Prerequisites

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/ffufai.git
    cd ffufai
  2. Install the required Python packages:

    pip install requests openai anthropic
  3. Make the script executable:

    chmod +x ffufai.py
  4. (Optional) To use ffufai from anywhere, you can create a symbolic link in a directory that's in your PATH. For example:

    sudo ln -s /full/path/to/ffufai.py /usr/local/bin/ffufai

    Replace "/full/path/to/ffufai.py" with the actual full path to where you cloned the repository.

  5. Set up your API key as an environment variable: For OpenAI:

    export OPENAI_API_KEY='your-api-key-here'

    Or for Anthropic:

    export ANTHROPIC_API_KEY='your-api-key-here'

    You can add these lines to your ~/.bashrc or ~/.zshrc file to make them permanent.

Usage

Use ffufai just like you would use ffuf, but replace ffuf with python3 ffufai.py (or just ffufai if you've created the symbolic link):

python3 ffufai.py -u https://example.com/FUZZ -w /path/to/wordlist.txt

Or if you've created the symbolic link:

ffufai -u https://example.com/FUZZ -w /path/to/wordlist.txt

ffufai will automatically suggest extensions based on the URL and add them to the ffuf command.

Parameters

ffufai accepts all the parameters that ffuf does, plus a few additional ones:

All other ffuf parameters can be used as normal. For a full list of ffuf parameters, refer to the ffuf documentation.

Notes

HUGE Shoutout to zlz, aka Sam Curry, for the amazing idea to make this project. He suggested it and 2 hours later, here it is :)

image

Troubleshooting

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.