AI-powered ffuf wrapper
Clone this repository:
git clone https://github.com/jthack/ffufai
cd ffufaiInstall the required Python packages:
pip install requests openai anthropicMake the script executable:
chmod +x ffufai.py(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/ffufaiReplace "/full/path/to/ffufai.py" with the actual full path to where you cloned the repository.
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.
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.txtOr if you've created the symbolic link:
ffufai -u https://example.com/FUZZ -w /path/to/wordlist.txtffufai will automatically suggest extensions based on the URL and add them to the ffuf command.
ffufai accepts all the parameters that ffuf does, plus a few additional ones:
--ffuf-path: Specifies the path to the ffuf executable. Default is 'ffuf'.
Example: ffufai --ffuf-path /usr/local/bin/ffuf -u https://example.com/FUZZ -w wordlist.txt
--max-extensions: Sets the maximum number of extensions to suggest. Default is 4.
Example: ffufai --max-extensions 6 -u https://example.com/FUZZ -w wordlist.txt
-u: Specifies the target URL. This parameter is required and should include the FUZZ keyword.
Example: ffufai -u https://example.com/FUZZ -w wordlist.txt
-w: Specifies the wordlist to use for fuzzing. This is a standard ffuf parameter.
Example: ffufai -u https://example.com/FUZZ -w /path/to/wordlist.txt
All other ffuf parameters can be used as normal. For a full list of ffuf parameters, refer to the ffuf documentation.
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 :)
python3 ffufai.py or that you've correctly set up the symbolic link.python3 ffufai.py or that the shebang line at the top of the script is correct.Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
No open issues yet, or sync has not completed.