| name | pentest-cli-reference |
| description | Complete reference for pentest-cli. Load this skill when you need to call the CLI with correct syntax, flags, and output shapes. |
| user-invocable | false |
| allowed-tools | ["Bash"] |
pentest-cli Command Reference
Complete command reference for pentest-cli. Always use --json for machine-readable output. Always use -k to disable SSL verification warnings.
Installation Check
pentest --version
If not installed:
curl -fsSL https://raw.githubusercontent.com/sabania/pentest-cli/main/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
Global Flags (BEFORE the command group)
pentest [GLOBAL FLAGS] <group> <command> <url>
| Flag | Short | Description |
|---|
--json | -j | JSON output to stdout (for parsing) |
--verbose | -v | Verbose output |
--active | | Enable active testing (sends payloads) |
--yes | -y | Auto-confirm active testing consent |
--output-dir DIR | -o | Save findings to directory |
--timeout N | -t | HTTP timeout seconds (default: 30) |
--insecure | -k | Disable SSL verification |
--rate-limit N | | Seconds between requests |
--threads N | | Max concurrent threads (default: 10) |
Command Groups
pentest recon (Reconnaissance)
pentest -k -j recon subdomains <domain>
pentest -k -j recon ports <domain>
pentest -k -j recon dns <domain>
pentest -k -j recon whois <domain>
pentest -k -j recon crawl <url>
pentest -k -j recon osint <domain>
pentest scan (Vulnerability Scanning)
pentest -k -j scan headers <url>
pentest -k -j scan ssl <domain>
pentest -k -j scan cors <url>
pentest -k -j scan nikto <url>
pentest -k -j scan nuclei <url>
pentest discover (Discovery)
pentest -k -j discover bundle <url>
pentest -k -j discover api <url>
pentest -k -j discover graphql <url>
pentest -k -j discover fuzz <url>
pentest -k -j discover tech <url>
pentest inject (Injection Testing - requires --active --yes)
pentest -k -j --active --yes inject sqli <url>
pentest -k -j --active --yes inject xss <url>
pentest -k -j --active --yes inject ssti <url>
pentest -k -j --active --yes inject cmdi <url>
pentest -k -j --active --yes inject ssrf <url>
pentest -k -j --active --yes inject xxe <url>
pentest -k -j --active --yes inject nosql <url>
pentest -k -j --active --yes inject lfi <url>
pentest auth (Authentication)
pentest -k -j auth jwt <token>
pentest -k -j auth oauth <url>
pentest -k -j auth session <url>
pentest -k -j --active --yes auth brute <url>
pentest advanced (Advanced Attacks)
pentest -k -j --active --yes advanced smuggle <url>
pentest -k -j --active --yes advanced race <url>
pentest -k -j advanced cache <url>
pentest -k -j advanced takeover <domain>
pentest -k -j advanced websocket <url>
pentest -k -j --active --yes advanced redirect <url>
pentest cloud (Cloud & Infrastructure)
pentest -k -j cloud storage <url>
pentest -k -j cloud waf <url>
pentest -k -j cloud email <domain>
Top-Level Commands
pentest -k -j baas <url>
pentest -k -j -o ./findings full <url>
pentest report ./findings/
JSON Output Shape
Every command returns this structure on stdout when --json is used:
{
"target": "https://example.com",
"scan_type": "headers",
"timestamp": "2026-03-20T01:37:27.836758+00:00",
"duration_seconds": 0.29,
"summary": {
"critical": 0, "high": 2, "medium": 3, "low": 1, "info": 0, "total": 6
},
"findings": [
{
"id": "HDR-CONTENT_SECURITY_POLICY-MISSING",
"title": "Missing Content-Security-Policy Header",
"severity": "high",
"confidence": "confirmed",
"category": "headers",
"description": "No CSP header found...",
"evidence": "Header 'content-security-policy' not found in response",
"remediation": "Add Content-Security-Policy header...",
"url": "https://example.com",
"owasp_id": "WSTG-CONF-12",
"cwe": "CWE-693"
}
],
"metadata": {}
}
Exit Codes
| Code | Meaning |
|---|
| 0 | Clean - no critical/high findings |
| 1 | CRITICAL findings found |
| 2 | HIGH findings found |
| 3 | Error (connection failed, tool missing) |
| 4 | Active testing consent denied |
Optional Tool Integrations
The CLI auto-detects these tools when available:
| Tool | Used by | Fallback |
|---|
| nmap | recon ports | Python socket scan |
| sqlmap | inject sqli | Built-in probes |
| hydra | auth brute | Not available |
| nikto | scan nikto | Not available |
| nuclei | scan nuclei | Not available |
| whatweb | discover tech | Built-in fingerprinting |
| dnsrecon | recon subdomains | Built-in DNS brute |