Note:
- ⭐ If you find this project useful, please consider giving it a STAR! ⭐
- If you encounter any errors or issues, feel free to open an issue or submit a pull request.
VulnBot is an advanced automated penetration testing framework that utilizes Large Language Models (LLMs) to replicate the workflow of human penetration testing teams within a multi-agent system. This innovative approach enhances efficiency, collaboration, and adaptability in security assessments.
This RAG implementation is based on Langchain-Chatchat. Special thanks to the authors.
Ensure your environment meets the following requirements before proceeding:
- Programming Language: Python 3.11.11
- Package Manager: Pip
Install VulnBot using one of the following methods:
-
Clone the VulnBot repository:
git clone https://github.com/KHenryAegis/VulnBot
-
Navigate to the project directory:
cd VulnBot -
Install the dependencies:
pip install -r requirements.txt
Before initializing VulnBot, you need to configure system settings. Refer to the Configuration Guide for detailed instructions on modifying:
- Kali Linux configuration (hostname, port, username, password)
- MySQL database settings (host, port, user, password, database)
- LLM settings (base_url, llm_model_name, api_key)
- Enabling RAG (set
enable_ragtotrueand configuremilvusandkb_name)
Before using VulnBot, initialize the project:
python cli.py initpython cli.py start -aTo execute VulnBot, use:
python cli.py vulnbot -m {max_interactions}Replace {max_interactions} with the desired number of interactions.
If you use VulnBot for academic purposes, please cite our paper:
@misc{kong2025vulnbotautonomouspenetrationtesting,
title={VulnBot: Autonomous Penetration Testing for a Multi-Agent Collaborative Framework},
author={He Kong and Die Hu and Jingguo Ge and Liangxiong Li and Tong Li and Bingzhen Wu},
year={2025},
eprint={2501.13411},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2501.13411},
}
If you have any questions or suggestions, please open an issue on GitHub. Contributions, discussions, and improvements are always welcome!
