
Pentest Ai Killer Automation
- 1 installs
- 10 repo stars
- Updated August 4, 2026
- aradotso/security-skills
Pentest AI Killer is a Claude skill for a pentesting automation server that exposes 69+ security tools to AI assistants over MCP and a REST API.
About
Pentest AI Killer is an automation server that wraps 69+ security tools such as nmap, nuclei, and sqlmap behind a unified REST API and MCP interface. A developer runs it via Docker so an AI assistant like Claude Desktop or Cursor can execute reconnaissance, vulnerability assessment, and cloud security scans. It also ships an optional Go CLI (pentakill) that talks to the same API without MCP.
- Automation server wrapping 69+ security tools
- Exposes tools over MCP, REST API, and an optional Go CLI
- Docker Compose deployment with per-tool enable/disable config
Pentest Ai Killer Automation by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,835 of 2,203 Security skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
pentest-ai-killer-automation capabilities & compatibility
Free and self-hosted, but you must set an X_API_KEY; AWS profile required for cloud scans.
- Capabilities
- security audit · vulnerability scanning · reconnaissance · orchestration
- Works with
- docker · aws
- Use cases
- security audit · orchestration
- Platforms
- Linux · macOS
- Runs
- Runs locally
- Pricing
- Free
What pentest-ai-killer-automation says it does
Pentest AI Killer (Pentakill) is a comprehensive pentesting automation server that integrates 69+ security tools (nmap, nuclei, sqlmap, httpx, gobuster, etc.) with AI assistants through the Model Cont
It provides a unified REST API and optional CLI for executing reconnaissance, vulnerability assessment, network discovery, password cracking, and cloud security testing.
npx skills add https://github.com/aradotso/security-skills --skill pentest-ai-killer-automationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 10 |
| Last updated | August 4, 2026 |
| Repository | aradotso/security-skills ↗ |
What it does
Run reconnaissance and vulnerability scans across 69+ tools via MCP, REST API, or CLI against a target.
Who is it for?
Security engineers who want AI-driven orchestration of many pentest tools behind one API.
Skip if: Users without a Docker host or authorization to scan the targets.
When should I use this skill?
You want to run nmap, nuclei, sqlmap, or a full pentest workflow through an AI assistant or CLI.
What you get
One API and MCP server drive 69+ tools for recon, vuln assessment, and cloud testing.
By the numbers
- 69+ integrated security tools
- Base image ~500MB-1GB, full toolset ~2GB-4GB
Files
Pentest AI Killer Automation
Skill by ara.so — Security Skills collection.
Pentest AI Killer (Pentakill) is a comprehensive pentesting automation server that integrates 69+ security tools (nmap, nuclei, sqlmap, httpx, gobuster, etc.) with AI assistants through the Model Context Protocol (MCP). It provides a unified REST API and optional CLI for executing reconnaissance, vulnerability assessment, network discovery, password cracking, and cloud security testing.
Installation
Docker Compose (Recommended)
git clone https://github.com/vietjovi/pentest-ai-killer.git
cd pentest-ai-killer
docker-compose up -dDefault uses Dockerfile.base (~500MB-1GB, essential tools). For full toolset (~2GB-4GB), edit docker-compose.yml:
services:
pentest-ai-killer:
build:
dockerfile: Dockerfile # Change from Dockerfile.baseManual Installation (Ubuntu 20.04+)
git clone https://github.com/vietjovi/pentest-ai-killer.git
cd pentest-ai-killer
sudo bash install_pentest_tools.sh
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtBuild pentakill CLI (Optional)
go build -o bin/pentakill ./cmd/pentakill
# Cross-compile
GOOS=linux GOARCH=amd64 go build -o bin/pentakill-linux-amd64 ./cmd/pentakill
GOOS=darwin GOARCH=arm64 go build -o bin/pentakill-darwin-arm64 ./cmd/pentakillConfiguration
API Authentication
Edit config.py before first run:
# REQUIRED: Change default API key for security
X_API_KEY = "your-secure-api-key-here"
# Enable/disable tools
PENTEST_TOOLS = {
"web_reconnaissance": [
{"tool": "httpx", "enabled": True},
{"tool": "nuclei", "enabled": True},
# ...
],
"vulnerability_assessment": [
{"tool": "sqlmap", "enabled": True},
{"tool": "nikto", "enabled": True},
# ...
]
}Environment Variables
# For pentakill CLI
export PENTAKILL_URL="http://127.0.0.1:8080"
export PENTAKILL_API_KEY="your-secure-api-key-here"
# For Docker
docker run -d -p 8080:8080 \
-v $(pwd)/config.py:/app/config.py:ro \
-v $(pwd)/reports:/app/reports \
pentest-ai-killer:baseStarting the Server
source venv/bin/activate
python3 pentest_ai_killer_server.pyServer runs on http://localhost:8080
REST API Usage
All endpoints require X-API-KEY header.
Execute Specific Tool
curl -X POST http://localhost:8080/tools/nmap \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${PENTAKILL_API_KEY}" \
-d '{
"targets": "scanme.nmap.org"
}'Category Scans
# Web reconnaissance
curl -X POST http://localhost:8080/web-reconnaissance \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${PENTAKILL_API_KEY}" \
-d '{
"targets": "testphp.vulnweb.com"
}'
# Comprehensive pentest
curl -X POST http://localhost:8080/comprehensive-pentest \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${PENTAKILL_API_KEY}" \
-d '{
"targets": "example.com"
}'
# Cloud security assessment
curl -X POST http://localhost:8080/cloud-security-assessment \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${PENTAKILL_API_KEY}" \
-d '{
"targets": "my-aws-account",
"aws_profile": "default"
}'Custom Tool Commands
import requests
response = requests.post(
"http://localhost:8080/tools/nuclei",
headers={
"Content-Type": "application/json",
"X-API-KEY": os.environ["PENTAKILL_API_KEY"]
},
json={
"targets": "testphp.vulnweb.com",
"custom_command": "nuclei -u testphp.vulnweb.com -t cves/ -severity critical,high"
}
)
print(response.json())List Available Tools
curl -H "X-API-KEY: ${PENTAKILL_API_KEY}" http://localhost:8080/tools
curl -H "X-API-KEY: ${PENTAKILL_API_KEY}" http://localhost:8080/categoriespentakill CLI Usage
The pentakill Go binary provides a CLI interface to the REST API without requiring MCP integration.
Basic Commands
# Health check
./bin/pentakill health
# List tools and categories
./bin/pentakill tools
./bin/pentakill categories -json
# Execute specific tool
./bin/pentakill run tool nmap -target scanme.nmap.org
# Execute category scan
./bin/pentakill run category web-reconnaissance -target example.com
# Custom command
./bin/pentakill run tool nuclei \
-target testphp.vulnweb.com \
-custom-command "nuclei -u testphp.vulnweb.com -t cves/ -severity critical"Advanced Usage
# Override API settings
./bin/pentakill -url http://192.168.1.100:8080 \
-key "custom-key" \
-timeout 600 \
run category comprehensive-pentest -target example.com
# Pass JSON parameters
./bin/pentakill run tool sqlmap \
-params-json '{"targets":"testphp.vulnweb.com/listproducts.php?cat=1","sqlmap_options":"--batch --dbs"}'Category names accept underscores or hyphens: comprehensive_network_pentest maps to /comprehensive-pentest.
MCP Integration
Connect Pentest AI Killer to AI assistants (Claude Desktop, Cursor, LibreChat).
Setup
1. Install MCP dependencies:
source venv/bin/activate
pip install -r requirements_mcp.txt2. Configure AI assistant:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"pentest-ai-killer": {
"command": "/usr/bin/python3",
"args": ["/path/to/pentest-ai-killer/pentest_ai_killer_mcp.py"],
"env": {
"PENTEST_API_URL": "http://127.0.0.1:8080"
}
}
}
}Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"pentest-ai-killer": {
"command": "/usr/bin/python3",
"args": ["/path/to/pentest-ai-killer/pentest_ai_killer_mcp.py"],
"env": {
"PENTEST_API_URL": "http://127.0.0.1:8080"
}
}
}
}3. Restart AI assistant
MCP Natural Language Usage
Ask your AI assistant:
- "Use pentest-ai-killer mcp, perform a comprehensive pentest on testphp.vulnweb.com"
- "Use pentest-ai-killer mcp, run web reconnaissance on example.com"
- "Use pentest-ai-killer mcp and template 05, run a fast web pentest on testphp.vulnweb.com"
- "Use pentest-ai-killer mcp, scan example.com for vulnerabilities using nuclei"
- "Use pentest-ai-killer mcp, get API information in input/api_postman_info.txt, then run api pentest"
MCP Python API
# In your MCP-enabled application
from pentest_ai_killer_mcp import PentestAIKillerMCP
# Initialize
mcp = PentestAIKillerMCP(api_url="http://127.0.0.1:8080")
# Execute tool
result = await mcp.mcp_execute_tool(
tool_name="nuclei",
targets="testphp.vulnweb.com",
custom_command="nuclei -u testphp.vulnweb.com -t cves/"
)
# Run category scan
result = await mcp.mcp_vulnerability_assessment(
targets="example.com"
)
# Use template
result = await mcp.mcp_execute_template(
template_id="05_fast_web_pentest",
target="testphp.vulnweb.com"
)
# Read reports
reports = await mcp.mcp_get_latest_reports(limit=10)
report_content = await mcp.mcp_read_report(
report_path="reports/testphp.vulnweb.com_nuclei_20250124_143022.txt"
)Key API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Server health check |
/tools | GET | List all available tools |
/categories | GET | List all tool categories |
/tools/{tool_name} | POST | Execute specific tool |
/web-reconnaissance | POST | Web security scanning (httpx, nuclei, etc.) |
/network-discovery | POST | Network reconnaissance (nmap, rustscan) |
/vulnerability-assessment | POST | Vulnerability testing (sqlmap, nikto, wpscan) |
/password-cracking | POST | Password brute-forcing |
/comprehensive-pentest | POST | Full pentest suite (autorecon, legion) |
/cloud-security-assessment | POST | AWS security (prowler, cloudsploit) |
/kubernetes-security-assessment | POST | Kubernetes security (kube-hunter) |
/container-security-assessment | POST | Container security (trivy, clair) |
/iac-security-assessment | POST | IaC security (checkov, tfsec) |
/multi-cloud-assessment | POST | Multi-cloud security |
Common Patterns
Sequential Tool Execution
import requests
import os
API_URL = "http://localhost:8080"
API_KEY = os.environ["PENTAKILL_API_KEY"]
headers = {
"Content-Type": "application/json",
"X-API-KEY": API_KEY
}
target = "testphp.vulnweb.com"
# Step 1: HTTP probing
httpx_resp = requests.post(
f"{API_URL}/tools/httpx",
headers=headers,
json={"targets": target}
)
# Step 2: Subdomain enumeration
subfinder_resp = requests.post(
f"{API_URL}/tools/subfinder",
headers=headers,
json={"targets": target}
)
# Step 3: Vulnerability scanning
nuclei_resp = requests.post(
f"{API_URL}/tools/nuclei",
headers=headers,
json={
"targets": target,
"custom_command": f"nuclei -u {target} -t cves/ -severity critical,high"
}
)
# Step 4: SQL injection testing
sqlmap_resp = requests.post(
f"{API_URL}/tools/sqlmap",
headers=headers,
json={
"targets": f"{target}/listproducts.php?cat=1",
"sqlmap_options": "--batch --dbs --risk=3 --level=5"
}
)Parallel Execution with Process Management
import requests
import time
# Start multiple tools asynchronously
processes = []
tools = ["httpx", "subfinder", "nuclei"]
for tool in tools:
resp = requests.post(
f"{API_URL}/tools/{tool}",
headers=headers,
json={"targets": target}
)
if resp.json().get("success"):
processes.append(tool)
# Monitor progress
time.sleep(5)
status_resp = requests.get(f"{API_URL}/processes", headers=headers)
print(status_resp.json())Template-Based Workflows
# Use predefined templates from template/ directory
templates = {
"01_full_pentest": "Comprehensive pentest workflow",
"02_reconnaissance": "Recon-only workflow",
"05_fast_web_pentest": "Quick web application scan"
}
# Execute template (via MCP or direct API)
result = await mcp.mcp_execute_template(
template_id="05_fast_web_pentest",
target="testphp.vulnweb.com"
)Reading and Managing Reports
# List all reports
reports_resp = requests.get(
f"{API_URL}/mcp/reports",
headers=headers
)
reports = reports_resp.json()
# Get reports for specific target
target_reports = [r for r in reports if "testphp.vulnweb.com" in r]
# Read latest report
if target_reports:
latest = sorted(target_reports)[-1]
with open(f"reports/{latest}", "r") as f:
report_content = f.read()
print(report_content)Adding Custom Tools
1. Install the tool (ensure it's in PATH):
sudo apt install custom-tool
# or
go install github.com/author/custom-tool@latest
export PATH=$PATH:$HOME/go/bin2. Add to `config.py`:
PENTEST_TOOLS = {
"vulnerability_assessment": [
{
"tool": "custom-tool",
"command": "custom-tool",
"params": "-v --threads 10 [TARGET]",
"description": "Custom vulnerability scanner",
"enabled": True
}
]
}3. Test the tool:
curl -X POST http://localhost:8080/tools/custom-tool \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${PENTAKILL_API_KEY}" \
-d '{"targets": "example.com"}'Key Tools by Category
Web Reconnaissance (10 enabled)
httpx: HTTP probing and URL discoverynuclei: Template-based vulnerability scanningsubfinder: Subdomain enumerationgospider: Web crawlingkatana: Web crawling and spideringhakrawler: URL discoverygau: URL fetching from archiveswaybackurls: Wayback Machine URL extractionparamspider: Parameter discoveryarjun: HTTP parameter discovery
Vulnerability Assessment (12 enabled)
sqlmap: SQL injection detection and exploitationnikto: Web server vulnerability scanningwpscan: WordPress security scannerdalfox: XSS scanningwapiti: Web application vulnerability scannergobuster: Directory/file brute-forcingffuf: Web fuzzingxsstrike: Advanced XSS detectioncommix: Command injection exploitationnoSQLMap: NoSQL injection testingwafw00f: WAF detectionzap: OWASP ZAP security testing
Network Discovery (2 enabled)
nmap: Network port scanningrustscan: Fast port scanner
Comprehensive Pentest (2 enabled)
autorecon: Automated reconnaissancelegion: Automated penetration testing framework
Troubleshooting
API Server Not Starting
# Check if port 8080 is in use
sudo lsof -i :8080
# Use different port
export FLASK_RUN_PORT=9090
python3 pentest_ai_killer_server.pyTools Not Found
# Add Go tools to PATH
export PATH=$PATH:$HOME/go/bin
# Verify tool installation
which nuclei httpx subfinder
# Reinstall tools
sudo bash install_pentest_tools.shDocker Permission Issues
# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
# Fix volume permissions
sudo chown -R $(id -u):$(id -g) reports/MCP Connection Failures
# Verify server is running
curl -H "X-API-KEY: ${PENTAKILL_API_KEY}" http://127.0.0.1:8080/health
# Check Python path
which python3
# Test MCP directly
python3 pentest_ai_killer_mcp.pyAuthentication Errors
# Verify API key matches in both config.py and environment
grep X_API_KEY config.py
echo $PENTAKILL_API_KEY
# Update API key in config.py
sed -i 's/X_API_KEY = .*/X_API_KEY = "new-key"/' config.pyReport Access Issues
# Ensure reports directory exists and is writable
mkdir -p reports
chmod 755 reports
# Docker: bind-mount reports directory
docker run -v $(pwd)/reports:/app/reports pentest-ai-killer:baseTool Execution Timeouts
# Increase timeout in pentakill CLI
./bin/pentakill -timeout 1200 run tool nmap -target example.com
# Or in Python API call
response = requests.post(
f"{API_URL}/tools/nmap",
headers=headers,
json={"targets": "example.com"},
timeout=1200 # 20 minutes
)Security Considerations
⚠️ WARNING: This tool is for authorized security testing only. Unauthorized use is illegal.
- Change default API key in
config.pybefore deployment - Use HTTPS in production (reverse proxy with nginx/traefik)
- Restrict network access (firewall rules, VPN)
- Store API keys securely (environment variables, secrets management)
- Review tool configurations before enabling dangerous features
- Monitor execution logs for suspicious activity
- Scope targets carefully to avoid unintended scanning
Resources
- GitHub: https://github.com/vietjovi/pentest-ai-killer
- MCP Config Samples:
MCP_CONFIG_SAMPLE/directory - Templates:
template/directory for workflow examples - Input/Output:
input/andoutput/directories for resources
Related skills
FAQ
How many tools does it integrate?
69+ security tools including nmap, nuclei, sqlmap, httpx, and gobuster.
How do AI assistants connect?
Via the Model Context Protocol, configured for clients like Claude Desktop, Cursor, and LibreChat.