| name | pentest |
| description | Run security tests against the live target. Use when: 'pentest', 'security scan', 'check for vulns', 'run headers', 'is the vuln fixed', 'security audit', 'install pentest-kit'. |
| argument-hint | [target] [--module name] |
| allowed-tools | Read Grep Glob Bash |
| effort | high |
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Purpose
Install pentest-kit for a new project, or run security tests against a live target using the regression suite (suite/). Handles both first-time setup and ongoing scan operations.
Input can be:
- New project setup:
install, set up pentesting for https://my-app.example.com
- Target + module:
app headers, infra nmap, app --module ssrf
- Full scan:
app (all non-skipped modules)
- Targeted:
check if SSRF is fixed, test rate limit bypass
Two-Harness Model
pentest-kit has two harnesses:
| Harness | When to use | Command |
|---|
Regression suite (suite/) | Every deploy — deterministic bash modules, fast | pentest.sh run <target> |
HexStrike (hexstrike/) | Weekly or post-feature — Claude + 150 tools, broad exploration | ./hexstrike/harness.sh |
Use this skill for the regression suite. For exploratory HexStrike rounds, use /pentest-review after a round completes.
First-Time Install
If the user hasn't set up pentest-kit yet:
git clone https://github.com/matthewdeaves/pentest-kit ~/pentest-kit
cd ~/pentest-kit && ./setup.sh
~/pentest-kit/scripts/init-consumer.sh /path/to/your/app
/path/to/your/app/pentest/pentest.sh run example
Configuring endpoint_groups
Kit modules SKIP gracefully when endpoint groups are not configured — they never probe cookie-shaped paths. Configure the groups that match your app:
endpoint_groups:
mode_endpoint:
- /api/csrf/
auth_check:
- /api/auth/me/
logout_endpoint:
- /api/auth/logout/
sessionauth_api_endpoints:
- GET:/api/posts/
- GET:/api/users/
idor_resources:
- /api/posts/
- /api/users/
ssrf_target_path:
- /api/import/
See suite/targets/app.example.yaml for the full schema with all keys documented.
Pre-flight
Before scanning:
command -v nmap curl ffuf nuclei sqlmap
Missing tools will fall back to the hexstrike-ai container if it's running. Start it with ./hexstrike/launch.sh.
Full Scan
./pentest/pentest.sh run <target>
Full scans take 15-30+ minutes — always use run_in_background: true.
Produce a summary when complete:
## Pentest Complete: <target>
**Duration**: Xm Ys
**Modules**: N completed, N skipped
| Module | Status | Pass | Fail | Skip | Duration |
|--------|--------|------|------|------|----------|
**Findings**: N failures — run `/pentest-review` for full analysis.
Targeted Investigation
When asked about a specific vulnerability:
- Read the target YAML for current known state
- Run only the relevant module:
./pentest/pentest.sh run app --module ssrf
- Compare against
known_vulnerabilities
- Give a clear YES/NO with evidence
Rules
- Full scans run in background. Single modules run in foreground.
- Respect rate limits. Use
--rate 10 for gentler scanning.
- Never log session tokens, API keys, or credentials in the main context.
- Modules that mutate state (api, injection) are tagged
# kit:destructive — they are skipped for production: true targets unless --allow-destructive is passed.
- Deep analysis is
/pentest-review's job — this skill runs scans and gives a quick summary.