pentest-exit
Close pentest session — summarizes findings, ensures outputs are saved, lifts isolation, and prompts for /clear
Define the attack profile for an engagement — select which attack categories and skills to use. Saves to .pentest-attacks.json. If run before /pentest:pentest, the orchestrator will respect the selection. If run standalone, does not launch a pentest.
> /plugin marketplace add Stickman230/claude-pentest > /plugin install pentest@claude-pentest
How it fires
How this command gets triggered: by you, by Claude, or both.
/pentest-attacksContext preview
What this command does when you run it.
Define the attack profile for an engagement — select which attack categories and skills to use. Saves to .pentest-attacks.json. If run before /pentest:pentest, the orchestrator will respect the selection. If run standalone, does not launch a pentest.
name: pentest-attacks description: Define the attack profile for an engagement — select which attack categories and skills to use. Saves to .pentest-attacks.json. If run before /pentest:pentest, the orchestrator will respect the selection. If run standalone, does not launch a pentest. disable-model-invocation: true allowed-tools: - AskUserQuestion - Read - Write
Output the following banner verbatim:
============================================================ [ATTACK PROFILE DEFINITION] ============================================================
Try to Read `.pentest-attacks.json`.
If the file exists and is valid JSON, extract and store `mode` and `selected_categories`, then output:
============================================================
EXISTING ATTACK PROFILE FOUND
============================================================
Mode: {mode}
Categories: {comma-separated list of selected_categories[*].label}
============================================================Then use AskUserQuestion to ask:
"An attack profile already exists. What would you like to do?"
Present exactly these options:
If "Keep existing profile", output:
Attack profile unchanged.
Then stop.
If "Update profile", continue to Step 2.
If the file does not exist, continue directly to Step 2.
Use AskUserQuestion to ask:
"How do you want to configure the attack profile for this engagement?"
Present exactly these options:
Store the answer as `selected_mode`.
If "Full suite", set `attack_mode = "full"` and skip to Step 4. If "Web application profile", set `attack_mode = "web-app"` and skip to Step 4. If "API & cloud profile", set `attack_mode = "api-cloud"` and skip to Step 4. If "Custom", set `attack_mode = "custom"` and continue to Step 3.
Make a single AskUserQuestion call with three questions, all with multiSelect: true.
Q1 — "Select web attack categories to include:" (multiSelect: true)
Q2 — "Select application & cloud categories to include:" (multiSelect: true)
Q3 — "Select infrastructure & recon categories to include:" (multiSelect: true)
Store all selected options across Q1, Q2, Q3 as `custom_selections`.
Based on `attack_mode` and `custom_selections`, construct the attack profile.
Use this table to assign the correct `skill` and `executors` values for each selected category:
| Category name | Label | Attacks (sub-types) | Skill | Executors | |---|---|---|---|---| | injection | Injection | sql-injection, nosql-injection, command-injection, ssti, xxe, ldap-injection | pentest | pentester-executor | | client-side | Client-Side Attacks | xss, csrf, cors, clickjacking, prototype-pollution, dom-based | common-appsec-patterns | xss-tester, csrf-tester, csp-bypass-tester, prototype-pollution-tester, pentester-executor | | server-side | Server-Side Attacks | ssrf, path-traversal, file-upload, http-smuggling, deserialization, host-header | pentest | pentester-executor | | authentication | Authentication | auth-bypass, jwt, oauth, password-attacks | pentest, authenticating | pentester-executor | | api-security | API Security | rest-api, graphql, websockets, web-llm | pentest | pentester-executor | | web-applications | Web Application Logic | business-logic, race-conditions, access-control, cache-poisoning, cache-deception, info-disclosure | pentest | pentester-executor | | cloud-containers | Cloud & Containers | aws, azure, gcp, docker, kubernetes | pentest | pentester-executor | | system | System / Post-Exploitation | active-directory, privilege-escalation, persistence, pivoting, evasion, exploit-development | pentest | pentester-executor | | ip-infrastructure | IP Infrastructure | port-scanning, dns, smb-netbios, mitm, sniffing, dos, ipv6, vlan-hopping | pentest, domain-assessment | pentester-executor, domain-assessment | | domain-recon | Domain Reconnaissance | subdomain-enum, dns-brute-force, cert-transparency, service-fingerprinting | domain-assessment | domain-assessment | | cve-testing | CVE Testing | cve-research, stack-fingerprinting, poc-validation | cve-testing | cve-tester | | social-engineering | Social Engineering | phishing, vishing, credential-harvesting, usb-baiting | pentest | pentester-executor |
**web-app preset** — include: injection, client-side, server-side, authentication, api-security, web-applications
**api-cloud preset
An open source plugin for enabeling claude to gain offensive pentesting capabilities
Repo: Stickman230/claude-pentest
Close pentest session — summarizes findings, ensures outputs are saved, lifts isolation, and prompts for /clear
Connect to a Metasploit-Kali Server (MKS) REST API — verifies connectivity, discovers available Kali tools, and configures agents to prefer MKS endpoints over…
Define or update engagement scope — saves scope to disk without launching a pentest. Can be run before or during an engagement. If a pentest is active and the…
Activate pentest mode — displays ASCII art, configures session isolation, collects engagement scope, then OWNS the engagement: pre-flight, recon, planning (via…