Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aradotso avatar

Claude Pentest Framework

  • 1 installs
  • 10 repo stars
  • Updated August 4, 2026
  • aradotso/security-skills

claude-pentest is a Claude Code penetration testing framework that coordinates 15 agents across 63 attack categories with human-in-the-loop approval and evidence capture.

About

claude-pentest is a penetration testing framework for Claude Code that coordinates 15 specialized agents across 63 attack categories. It runs a structured recon-to-report workflow where every exploitation attempt requires explicit operator approval, and captures PoCs, HTTP evidence, and screenshots. Security testers use it to run scoped, evidence-driven assessments against a target. It installs as a Claude Code plugin and can connect to a remote Kali server for tools like nmap and sqlmap.

  • AI-driven pentest framework for Claude Code with 15 agents and 63 attack categories
  • Human-in-the-loop: every exploitation attempt needs explicit operator approval
  • Evidence-first with PoCs, HTTP capture, Playwright screenshots; optional Kali server

Claude Pentest Framework 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)
At a glance

claude-pentest-framework capabilities & compatibility

Free Claude Code plugin; optional Kali server requires your own Kali Linux host running MCP-Kali-Server.

Capabilities
security audit
Works with
playwright · github
Use cases
security audit · orchestration
Pricing
Free
From the docs

What claude-pentest-framework says it does

claude-pentest is a comprehensive penetration testing framework for Claude Code that coordinates 15 specialized agents across 6 skill domains and 63 attack categories.
SKILL.md
npx skills add https://github.com/aradotso/security-skills --skill claude-pentest-framework

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars10
Last updatedAugust 4, 2026
Repositoryaradotso/security-skills

What it does

Run a scoped, human-in-the-loop AI penetration test with evidence capture and an optional remote Kali toolchain.

Who is it for?

Security testers running scoped, evidence-driven penetration tests through Claude Code.

Skip if: Static source-code auditing or unattended automated scanning; it needs operator approval per exploit.

When should I use this skill?

You want to run a structured, AI-coordinated penetration test with defined scope and evidence capture.

What you get

A scoped, approval-gated pentest with PoCs, HTTP evidence, screenshots, and a severity-bucketed report.

  • PoCs (poc.py)
  • HTTP evidence
  • Playwright screenshots

By the numbers

  • 15 agents
  • 6 skill coordinators
  • 63 attack categories

Files

SKILL.mdMarkdownGitHub ↗

claude-pentest Framework

Skill by ara.so — Security Skills collection.

claude-pentest is a comprehensive penetration testing framework for Claude Code that coordinates 15 specialized agents across 6 skill domains and 63 attack categories. It provides structured, human-in-the-loop, evidence-driven security assessments with automatic PoC generation, HTTP evidence capture, and Playwright screenshots.

Core Concepts

Agent Coordination Framework: Unlike traditional scanners, claude-pentest orchestrates specialized executor agents following a strict 4-phase workflow (reconnaissance → planning → approval → execution → escalation).

Human-in-the-Loop: Every exploitation attempt requires explicit operator approval. Claude cannot proceed to active exploitation without confirmation.

Evidence-First: All findings include working PoCs (poc.py), captured output (poc_output.txt), HTTP evidence, and screenshots. No theoretical findings.

Structured Outputs: Machine-readable JSON + markdown analysis written to outputs/{engagement}/.

Installation

Add Marketplace Repository

# Inside Claude Code
/plugin marketplace add Stickman230/claude-pentest

Install Plugin

# Inside Claude Code
/plugin install pentest@claude-pentest

The plugin installs to .claude/ in your project directory. All agents, skills, and slash commands become available immediately.

Optional: Kali Server (MKS)

For server-side testing (nmap, sqlmap, gobuster, Metasploit), deploy MCP-Kali-Server on a Kali Linux host:

# On Kali Linux
git clone https://github.com/Wh0am123/MCP-Kali-Server
cd MCP-Kali-Server
# Follow MCP-Kali-Server setup instructions

# In Claude Code
/pentest:pentest-kali
# Enter server URL: http://192.168.1.10:5000

Key Commands

Launch Full Engagement

/pentest:pentest

Flow: 1. Isolate session to pentest plugin (recommended) 2. Configure scope (target, engagement name, out-of-scope, time budget, auth, thoroughness) 3. Select attack profile (Full / Web app / API & cloud / Custom) 4. Configure Kali server integration (optional) 5. Review engagement summary 6. Execute: pre-flight → recon → planning → approval → executor deployment → time-budget loop → report

Session Isolation: When enabled, Claude constrains itself to pentest plugin agents only, preventing interference from other plugins.

Define Scope

/pentest:pentest-scope

Configure or update engagement scope without launching. Writes .pentest-scope.json:

{
  "target": "https://demo.testfire.net",
  "engagement_name": "altoro-mutual-pentest",
  "out_of_scope": "*.testfire.net/admin, production databases",
  "time_budget": "2 hours",
  "auth": "username: jsmith, password: demo1234",
  "thoroughness": "Medium",
  "output_formats": ["json", "markdown", "csv"],
  "status": "pending"
}

Thoroughness Levels:

  • Light: Quick scan, common vulnerabilities only
  • Medium: Standard pentest, broad coverage
  • Deep: Extended testing, edge cases
  • Full: Comprehensive, maximum time investment

Define Attack Profile

/pentest:pentest-attacks

Select which attack categories to cover. Writes .pentest-attacks.json:

{
  "mode": "web_application",
  "selected_categories": [
    "injection",
    "client_side",
    "authentication",
    "api_security",
    "business_logic"
  ],
  "skill_coordinators": [
    "injection-coordinator",
    "client-side-coordinator",
    "auth-coordinator"
  ],
  "executors": [
    "sql-injection-agent",
    "xss-agent",
    "auth-bypass-agent"
  ],
  "status": "pending"
}

Attack Profiles:

  • Full suite: All 63 categories (12 domains)
  • Web application: Injection, client-side, server-side, authentication, API, business logic
  • API & cloud: API security, cloud containers, IP infrastructure, CVE testing, domain recon
  • Custom: Multi-select from all categories

Connect Kali Server

/pentest:pentest-kali

Configures remote Metasploit-Kali Server integration. Writes .pentest-mks.json:

{
  "server_url": "http://192.168.1.10:5000",
  "status": "active",
  "tools_available": {
    "nmap": true,
    "gobuster": true,
    "dirb": true,
    "nikto": true,
    "sqlmap": true,
    "hydra": true,
    "john": true,
    "metasploit": true
  },
  "verified_at": "2026-06-08T14:30:00Z"
}

Tool Endpoints (when MKS active):

# nmap scan via MKS
curl -X POST http://192.168.1.10:5000/nmap \
  -H "Content-Type: application/json" \
  -d '{"target": "192.168.1.20", "options": "-sV -sC"}'

# sqlmap via MKS
curl -X POST http://192.168.1.10:5000/sqlmap \
  -H "Content-Type: application/json" \
  -d '{"url": "http://target.com/api?id=1", "options": "--risk=2 --level=2"}'

Exit Engagement

/pentest:pentest-exit

Flow: 1. Read findings from outputs/{engagement}/findings/ 2. Flush unsaved notes to disk 3. Output severity-bucketed summary (Critical/High/Medium/Low/Info) 4. Reset .pentest-scope.json and .pentest-attacks.json to status: pending 5. Lift session isolation 6. Prompt to run /clear

Session State Files

Three JSON files at project root persist configuration:

FilePurposeWritten By
.pentest-scope.jsonTarget, timing, thoroughness/pentest:pentest-scope, /pentest:pentest
.pentest-attacks.jsonAttack categories, skill mapping/pentest:pentest-attacks, /pentest:pentest
.pentest-mks.jsonKali server URL, tool availability/pentest:pentest-kali

Agent Architecture

15 Executor Agents

Each follows 4-phase workflow:

1. Reconnaissance: Passive information gathering 2. Planning: Attack vector identification 3. Approval: Human-in-the-loop confirmation 4. Execution: Active exploitation with PoC generation

Specialized Agents:

  • sql-injection-agent: SQL injection testing (error-based, blind, time-based)
  • xss-agent: XSS testing (reflected, stored, DOM-based)
  • xxe-agent: XML External Entity exploitation
  • ssrf-agent: Server-Side Request Forgery
  • auth-bypass-agent: Authentication mechanism testing
  • api-security-agent: REST/GraphQL endpoint testing
  • cloud-security-agent: Cloud misconfiguration detection
  • cve-agent: Known vulnerability exploitation

6 Skill Coordinators

Coordinate related executors:

  • injection-coordinator: SQL, NoSQL, LDAP, command injection
  • client-side-coordinator: XSS, CSRF, clickjacking, CORS
  • server-side-coordinator: XXE, SSRF, file upload, deserialization
  • auth-coordinator: Broken auth, session management, crypto
  • api-coordinator: API security, GraphQL, WebSocket
  • infra-coordinator: Network, cloud, CVE, domain recon

Output Structure

outputs/
└── {engagement_name}/
    ├── findings/
    │   ├── finding_001_sql_injection.json
    │   ├── finding_001_poc.py
    │   ├── finding_001_poc_output.txt
    │   ├── finding_001_screenshot.png
    │   └── finding_001_http_evidence.txt
    ├── processed/
    │   ├── findings/
    │   └── analysis.json
    ├── pentest-report.json
    └── report.md

Finding Schema

{
  "finding_id": "001",
  "title": "SQL Injection in Login Form",
  "severity": "Critical",
  "cvss_score": 9.8,
  "attack_category": "injection",
  "agent": "sql-injection-agent",
  "target_url": "https://demo.testfire.net/login.jsp",
  "vulnerable_parameter": "uid",
  "attack_vector": "' OR '1'='1' --",
  "impact": "Full database access, authentication bypass",
  "poc_file": "finding_001_poc.py",
  "poc_output_file": "finding_001_poc_output.txt",
  "screenshot_file": "finding_001_screenshot.png",
  "http_evidence_file": "finding_001_http_evidence.txt",
  "remediation": "Use parameterized queries, input validation",
  "references": ["CWE-89", "OWASP A03:2021"],
  "verified_at": "2026-06-08T14:45:00Z"
}

Common Patterns

Quick Web App Pentest

# Define scope
/pentest:pentest-scope
# Enter:
# - Target: https://demo.testfire.net
# - Engagement name: altoro-quick
# - Out-of-scope: None
# - Time budget: 1 hour
# - Auth: None
# - Thoroughness: Medium
# - Formats: json, markdown

# Use web app profile (skip attack selection)
/pentest:pentest
# Select: Use Web Application profile when prompted

API Pentest with Kali Server

# Connect Kali first
/pentest:pentest-kali
# Enter: http://192.168.1.10:5000

# Define scope
/pentest:pentest-scope
# Target: https://api.example.com/v1
# Thoroughness: Deep

# Select API profile
/pentest:pentest-attacks
# Mode: API & cloud profile

# Launch
/pentest:pentest

Custom Attack Surface

# Define specific categories
/pentest:pentest-attacks
# Mode: Custom
# Select: SQL injection, SSRF, XXE, authentication bypass

/pentest:pentest

Reuse Saved Configuration

# Scope and attacks already defined in previous session
/pentest:pentest
# Responds: "Found existing scope (.pentest-scope.json)"
# Select: Reuse existing scope
# Responds: "Found existing attack profile (.pentest-attacks.json)"
# Select: Use saved profile

Time Budget and Escalation

The engagement operates within a time budget (quota) defined in scope. The orchestrator:

1. Allocates budget across recon, executor deployment, and escalation phases 2. Runs time-budget loop for escalation after initial findings 3. Deploys Metasploit via MKS for post-exploitation only if CVE/RCE confirmed 4. Never runs speculative exploitation

Example Time Budget Allocation (2 hour total):

  • Pre-flight: 5 minutes
  • Recon: 20 minutes
  • Planning: 10 minutes
  • Executor deployment: 60 minutes (parallel)
  • Time-budget loop (escalation): 20 minutes
  • Report generation: 5 minutes

Configuration Examples

Authenticated Testing

{
  "target": "https://app.example.com",
  "auth": "Bearer token: $AUTH_TOKEN (stored in env), cookie: session_id=$SESSION_ID",
  "thoroughness": "Deep"
}

Reference environment variables instead of hardcoding:

# In PoC scripts
import os

AUTH_TOKEN = os.environ.get("AUTH_TOKEN")
SESSION_ID = os.environ.get("SESSION_ID")

headers = {
    "Authorization": f"Bearer {AUTH_TOKEN}",
    "Cookie": f"session_id={SESSION_ID}"
}

Multi-Target Scope

{
  "target": "https://app.example.com, https://api.example.com, 192.168.1.0/24",
  "out_of_scope": "192.168.1.1 (gateway), *.example.com/admin",
  "time_budget": "4 hours"
}

API-Specific Configuration

{
  "target": "https://api.example.com/v1",
  "auth": "API key: $API_KEY (header: X-API-Key)",
  "selected_categories": [
    "api_security",
    "injection",
    "authentication",
    "business_logic"
  ]
}

Evidence Files

PoC Script Example

finding_001_poc.py:

#!/usr/bin/env python3
import requests
import os

TARGET_URL = "https://demo.testfire.net/login.jsp"
PAYLOAD = "' OR '1'='1' --"

def exploit():
    data = {
        "uid": PAYLOAD,
        "passw": "anything"
    }
    
    response = requests.post(TARGET_URL, data=data)
    
    if "Welcome" in response.text and response.status_code == 200:
        print("[+] SQL Injection successful")
        print(f"[+] Authentication bypassed with payload: {PAYLOAD}")
        return True
    else:
        print("[-] Exploitation failed")
        return False

if __name__ == "__main__":
    exploit()

HTTP Evidence Format

finding_001_http_evidence.txt:

=== REQUEST ===
POST /login.jsp HTTP/1.1
Host: demo.testfire.net
Content-Type: application/x-www-form-urlencoded
Content-Length: 42

uid=' OR '1'='1' --&passw=anything

=== RESPONSE ===
HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: AltoroAccounts=...

<!DOCTYPE html>
<html>
<body>
<h1>Welcome, Admin</h1>
...

Troubleshooting

Engagement Won't Start

Symptom: /pentest:pentest fails at pre-flight check.

Solution: Verify target is reachable:

curl -I https://target.example.com

Check .pentest-scope.json for valid target format.

Kali Server Connection Failed

Symptom: MKS tools unavailable, falling back to local bash.

Solution: Test MKS connectivity:

curl http://192.168.1.10:5000/health

Verify firewall rules allow connection. Re-run /pentest:pentest-kali.

Missing Findings

Symptom: Engagement completes but outputs/{name}/findings/ is empty.

Solution: Check thoroughness level (Light may produce fewer findings). Review time budget allocation. Examine outputs/{name}/processed/analysis.json for agent logs.

PoC Scripts Fail

Symptom: poc.py returns errors when executed manually.

Solution: Install dependencies:

pip install requests playwright
python -m playwright install

Verify environment variables are set:

export AUTH_TOKEN="your_token"
export SESSION_ID="your_session"

Agent Timeout

Symptom: Executor agents timeout during deployment.

Solution: Increase time budget in scope. Reduce thoroughness level. Disable MKS if network latency is high.

Session Isolation Not Lifted

Symptom: After /pentest:pentest-exit, other plugins still unavailable.

Solution: Run /clear to fully reset context:

/clear

Attack Coverage

12 Attack Domains: 1. Injection: SQL, NoSQL, LDAP, OS command, SSTI, log injection 2. Client-Side: XSS, CSRF, clickjacking, CORS, DOM clobbering 3. Server-Side: XXE, SSRF, file upload, deserialization, path traversal 4. Authentication: Broken auth, session management, weak crypto 5. API Security: REST, GraphQL, WebSocket, API key exposure 6. Business Logic: Workflow bypass, race conditions, price manipulation 7. Access Control: IDOR, privilege escalation, missing function-level access control 8. Configuration: Security misconfiguration, default credentials, verbose errors 9. Cloud & Containers: S3 buckets, Docker, Kubernetes, cloud metadata 10. IP Infrastructure: Network scanning, service enumeration, SSL/TLS 11. CVE Testing: Known vulnerabilities, version detection, patch validation 12. Domain Recon: DNS enumeration, subdomain discovery, certificate transparency

63 Sub-Categories mapped to specific executor agents and skill coordinators.

Legal and Ethical Use

ALWAYS obtain written permission before testing any system you do not own.

claude-pentest is designed for:

  • Authorized penetration testing engagements
  • Bug bounty programs (within scope)
  • Security research in controlled environments
  • Red team exercises with proper authorization

Unauthorized use is illegal and unethical.

Integration with Claude Code

The framework is designed to work within Claude Code's agent harness:

  • One level of subagent nesting: /pentest:pentest orchestrates from main session
  • Slash command discovery: Commands auto-register with Claude Code
  • Session isolation: Prevents plugin interference during active engagements
  • Context window management: /clear recommended between engagements

When active, claude-pentest coordinates all testing activities through structured workflows, ensuring evidence capture, human approval gates, and organized output for every finding.

Related skills

FAQ

Does claude-pentest exploit targets automatically?

No; it is human-in-the-loop and every exploitation attempt requires explicit operator approval before proceeding.

How do I run server-side tools like nmap and Metasploit?

Deploy MCP-Kali-Server on a Kali host and connect it with /pentest:pentest-kali.

Securityauditappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.