
One particularly hot topic around the security community recently is the use of LLMs and various other AI tools in cybersecurity – by red teams, penetration testers, blue teams, cyber criminals, and anyone and everyone interested in surreptitious access to computer systems. While looking at some of the more popular AI tools designed for cybersecurity engagements, I stumbled onto one I hadn’t encountered yet, Yashab Alam’s KaliGPT. Intrigued by the premise of a Kali-tailored AI assistant, I decided to download it onto a virtual machine running Kali and give it a go.
With that out of the way, I started with a quick setup of a standard Kali image on Virtualbox. The installation of KaliGPT is pretty easy from the repository, with a simple script from the repo getting you quickly up and running. Only one small hiccup along the way – I forgot to create and initialize a virtual environment for python before I started and so it threw a couple of errors.

Unfortunately this is where some problems start – I ran into a repeat Python issue that prevented anything but the CLI interface from launching properly, and an immediate roadblock where any request was met with a 500 status code. Doing some quick googling, this was probably an issue with inadequate RAM for running the model – something that could probably do with being added to the repository, but in general one should provision VMs that are going to be running LLMs with a decent amount of RAM. Increasing to the recommended amount of RAM for llama2 (I do not have API keys for the more advanced models, and wanted to try this bone-stock), I gave it another go.

Unfortunately, even after getting it to work in the command line form, I still ran into issues – namely that any actual question I posed to the tool resulted in an HTTP timeout (as shown above). There is some tuning that could be done here – this is a VM running without a dedicated GPU, so maybe it just needs an adjustment in the timeout setting (or a GPU), so I can’t entirely pin this one on KaliGPT. I decided to give it a fair shake and ask it for some SQLI and XSS payloads, given that that is another suggested command in the documentation. Note that I attempted the suggested question from the help document (“what is sql injection”) again, receiving the same timeout error.

Here, I did get it to successfully generate some basic payloads, and it does provide a few. While these are valid SQLI and XSS payloads, they aren’t anything beyond what a cursory Google search will provide you – pretty basic for the effort of installing the model.
Here is where I think this runs into a bit of a problem – I, as someone who has only done cursory dabbling with ollama, can follow the installation instructions and get the tool set up on Kali but immediately run into issues that require further troubleshooting before I can get much use out of it. For the moment, I’ll leave it here – there’s some Python debugging I need to do with this to figure out exactly why it’s throwing the error that it is, as well as some possibility with the addition of API keys for better models instead of just running off the local model, but for a first pass it feels more like a novelty than a useful penetration testing tool.
Leave a Reply