
LLM-driven multi-agent framework that autonomously replicates human penetration testing workflows, orchestrating Kali Linux tooling and RAG knowledge retrieval for security assessments.
Note:
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:
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:
enable_rag to true and configure milvus and kb_name)Before using VulnBot, initialize the project:
python cli.py init
python cli.py start -a
To 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!