# ๐Ÿง  LLMFuzzer - Fuzzing Framework for Large Language Models ๐Ÿง  ![LLMFuzzer-shell](https://github.com/mnns/LLMFuzzer/assets/1796080/71b006df-706c-43f6-acd1-49646dbcb0e5) ![Version](https://img.shields.io/badge/version-1.0.0-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Stars](https://img.shields.io/github/stars/mnns/LLMFuzzer) ![Forks](https://img.shields.io/github/forks/mnns/LLMFuzzer) ![Issues](https://img.shields.io/github/issues/mnns/LLMFuzzer) [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/contains-cat-gifs.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/not-a-bug-a-feature.svg)](https://forthebadge.com)
---------------------------------------------------------------- ## Project Status: Unmaintained This project is no longer actively maintained. You are welcome to fork and continue its development on your own. Thank you for your interest and support. ---------------------------------------------------------------- LLMFuzzer is the first open-source fuzzing framework specifically designed for Large Language Models (LLMs), especially for their integrations in applications via LLM APIs. ๐Ÿš€๐Ÿ’ฅ ## ๐ŸŽฏ Who is this for? If you're a security enthusiast, a pentester, or a cybersec researcher who loves to find and exploit vulnerabilities in AI systems, LLMFuzzer is the perfect tool for you. It's built to make your testing process streamlined and efficient. ๐Ÿ•ต๏ธโ€โ™€๏ธ ![Untitled](https://github.com/mnns/LLMFuzzer/assets/1796080/a143897d-383c-4ed9-8b2f-65f4cdc5aa63) ## ๐ŸŒŸ Features - Robust fuzzing for LLMs ๐Ÿงช - LLM API integration testing ๐Ÿ› ๏ธ - Wide range of fuzzing strategies ๐ŸŒ€ - Modular architecture for easy extendability ๐Ÿ“š ## ๐Ÿ”ฅ Roadmap * Adding more attacks * HTML Report as output * Multiple Connectors (JSON-POST, RAW-POST, QUERY-GET) * Multiple Comparers * Proxy Support * Dual-LLM (Side LLM observation) * Autonomous Attack Mode ## ๐Ÿš€ Get Started 1. Clone the repo ```bash git clone https://github.com/mnns/LLMFuzzer.git ``` 2. Navigate to the project directory ```bash cd LLMFuzzer ``` 3. Install dependencies ```bash pip install -r requirements.txt ``` 4. Edit **llmfuzzer.cfg** with your LLM API endpoint (LLMFuzzer -> Your Application -> LLM) ```bash Connection: Type: HTTP-API Url: "http://localhost:3000/chat" # Your LLM API Content: JSON Query-Attribute: "query" # Your JSON query attribute Output-Attribute: "answer" # Your JSON response attribute Headers: {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'} # Add HTTP Headers if needed Cookie: {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'} # Add Cookies if needed ``` 5. Run LLMFuzzer ```bash python main.py ``` ## ๐Ÿ“š Documentation We are working on full documentation. It will cover detailed information about the architecture, different fuzzing strategies, examples, and how to extend the tool. ## ๐Ÿค Contributing We welcome all contributors who are passionate about improving LLMFuzzer. See our contributing guidelines for ways to get started. ๐Ÿค— ## ๐Ÿ’ผ License LLMFuzzer is licensed under the MIT License. See the LICENSE file for more details. ## ๐ŸŽฉ Acknowledgments LLMFuzzer couldn't exist without the community. We appreciate all our contributors and supporters. Let's make AI safer together! ๐Ÿ’–