RedAGPT is a toolkit designed to test network and other vulnerabilities for homes and offices. It uses cutting-edge technologies such as AutoGPT and Langchain to offer a highly efficient and effective security testing experience. The tool kit is designed with a focus on prompt engineering and seamless integration into security-focused Linux environments. This ensures that security professionals can easily use the tool kit to test for vulnerabilities in their networks and systems.
The core technology used in the tool kit is AI, specifically AutoGPT using GPT-3 via the Langchain library. The AI runs a series of tests to detect vulnerabilities in the network and systems to then analyze the results of these tests and generate a comprehensive security report. This report details the vulnerabilities detected, their severity level, and recommendations on how to fix them.
Overall, the tool kit is for security professionals looking for smarter security testing tools. Its use of AI and its ability to generate comprehensive reports makes it an essential tool for security professionals looking to keep their networks and systems secure.
- Engineering security tools through AutoGPT prompting
- Integration with streamlit chatbot
- Report generation
- Dynamic VectorStorage integration
- LangChain
- AutoGPT experimental module via LangChain
- Redis vectorstorage module via LangChain
- Python version 3.8
- Redis Vector Storage 6.2.10
- Ubuntu (WSL) 22.04 LTS
- Kali Linux 6.1.0
Utilizing LangChain AutoGPT Documentation we created a set of goals for it to test the security of a login form on a website or IP.
Using these goals and declaring the type of agent to be, it runs command line tools like Hydra and creates a form security test program in Python using the selenium library and running it in REPL
At the end it will give us a security report of vulnerabilities found, if any, and give recommendations on how to fix.
- Later implementations we plan on allowing the user to task the AI to fix these issues.
- Work on a social engineering tool
- Embed in portable hardware like RespberryPI
- Further guardrail development
- Integration into Kali Linux
- Integration into Windows Powershell
You should create a virtualenv with the required dependencies by running
make virtualenv
Activate the virtualenv by running
source ./.venv/bin/activate
When a new requirement is needed you should add it to unpinned_requirements.txt
and run
make update-requirements-txt
make virtualenv
this ensure that all requirements are pinned and work together for ensuring reproducibility
cp .env.example .env
streamlit run chatbot.py | tail -n +6 > tools/logs/logtest04292023.txt