VulnClaw is an AI-powered penetration testing CLI that combines an LLM agent with MCP-based tooling for authorized security testing.
⚠️ Security Notice: Use VulnClaw only against systems you own or have explicit permission to test.
Before installing VulnClaw, make sure you have:
pipVulnClaw supports providers such as OpenAI, Anthropic, DeepSeek, MiniMax, Zhipu, Moonshot, Qwen, SiliconFlow, and Ollama.
The easiest way to install VulnClaw:
pip install vulnclaw
Verify the installation:
vulnclaw --help
If the help menu appears, VulnClaw is installed successfully.
Clone the repository:
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
Install it in editable mode:
pip install -e .
VulnClaw requires an LLM provider to power its AI agent.
For example, to use OpenAI:
vulnclaw config provider openai
Then add your API key:
vulnclaw config set llm.api_key sk-your-key-here
You can also use other providers:
vulnclaw config provider anthropic
vulnclaw config provider deepseek
vulnclaw config provider minimax
vulnclaw config provider qwen
vulnclaw config provider moonshot
If you want to use a custom API endpoint:
vulnclaw config set llm.base_url https://your-api.example.com/v1
Set the model:
vulnclaw config set llm.model your-model-name
Make sure your API key, base URL, and model belong to the same provider.
.envFor Docker or environment-variable based configuration, copy the example file:
cp .env.example .env
Then configure your provider:
VULNCLAW_LLM_API_KEY=sk-your-key-here
VULNCLAW_LLM_PROVIDER=openai
VULNCLAW_LLM_BASE_URL=https://api.openai.com/v1
VULNCLAW_LLM_MODEL=gpt-4o
Important: When using environment variables,
VULNCLAW_LLM_PROVIDERis only a provider label. You must explicitly configure the correctBASE_URLandMODEL.
VulnClaw can also use local models through Ollama.
Example:
VULNCLAW_LLM_API_KEY=ollama
VULNCLAW_LLM_PROVIDER=ollama
VULNCLAW_LLM_BASE_URL=http://localhost:11434/v1
VULNCLAW_LLM_MODEL=llama3.1
Make sure your Ollama model supports tool/function calling, because VulnClaw relies on tool calls.
Run the built-in environment checker:
vulnclaw doctor
It checks:
npxnmapA successful setup should show:
🦞 VulnClaw Environment Check
✅ Ready. Run vulnclaw to start.
Start the interactive CLI:
vulnclaw
You can also launch the terminal UI:
vulnclaw tui
VulnClaw includes a local Web UI.
Start it with:
vulnclaw web
By default, it runs at:
http://127.0.0.1:7788
Open that address in your browser.
Run a full pentest workflow:
vulnclaw run <target>
For example:
vulnclaw run https://your-authorized-lab.example.com
You can also use the goal-driven solver:
vulnclaw solve <target> --goal "identify vulnerabilities in the authorized lab"
For reconnaissance only:
vulnclaw recon <target>
For vulnerability scanning:
vulnclaw scan <target>
⚠️ Only run these commands against systems you own or have explicit authorization to test.
If you don't want to install everything directly on your machine, you can run VulnClaw using Docker.
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
cp .env.example .env
Add your LLM credentials to .env.
docker compose up --build
The Web UI will be available at:
http://127.0.0.1:7788
docker run --rm -it \
-e VULNCLAW_LLM_API_KEY=sk-your-key-here \
-v vulnclaw-data:/data \
vulnclaw:latest scan <target>
Docker networking:
localhostinside a container refers to the container itself. If your target is running on the host machine, usehost.docker.internal.
VulnClaw provides optional dependency groups.
pip install "vulnclaw[web]"
pip install "vulnclaw[kb]"
pip install "vulnclaw[pdf]"
pip install "vulnclaw[traffic]"
Install multiple extras together:
pip install "vulnclaw[web,kb,pdf,traffic]"
vulnclaw: command not foundCheck whether VulnClaw is installed:
python -m pip show vulnclaw
If you're using a virtual environment, activate it:
source .venv/bin/activate
Then install again:
pip install vulnclaw
invalid api keyCheck these settings:
VULNCLAW_LLM_API_KEY
VULNCLAW_LLM_PROVIDER
VULNCLAW_LLM_BASE_URL
VULNCLAW_LLM_MODEL
A common mistake is using an API key from one provider while pointing BASE_URL to another provider.
Run:
vulnclaw doctor
The diagnostic output will show missing runtimes or services.
Once:
vulnclaw doctor
shows:
✅ Ready. Run vulnclaw to start.
you're ready to launch VulnClaw:
vulnclaw
For the complete documentation, architecture, advanced configuration, skills, and MCP setup, visit the VulnClaw GitHub repository.

Hey, I'm Akshat — a full-stack dev, AI tinkerer, and relentless builder who documents every step of the journey. I share what I learn in real-time — dev tutorials, design insights, and AI + tech news.
Comments