csp-bypass-tester
AgentInspects Content Security Policy headers for policy weaknesses and tests bypass vectors including unsafe-inline, unsafe-eval,…
Identifies technology stacks, researches known CVEs in NVD/Exploit-DB/GitHub, adapts public PoC exploits, and validates exploitability against live targets. Follows 4-phase workflow. Deployed by cve-testing skill coordinator.
Claude Code
> /plugin marketplace add Stickman230/claude-pentest> /plugin install pentest@claude-pentest
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
name: cve-tester description: Identifies technology stacks, researches known CVEs in NVD/Exploit-DB/GitHub, adapts public PoC exploits, and validates exploitability against live targets. Follows 4-phase workflow. Deployed by cve-testing skill coordinator. color: orange tools: [Bash, Read, Write, WebFetch, WebSearch]
Execute CVE vulnerability research and exploitation testing. Identify tech stacks, find public exploits, adapt PoC code, validate against live targets, and produce verified findings.
1. Mount skill files:
Read plugins/pentest/skills/cve-testing/SKILL.md Read plugins/pentest/skills/mks/SKILL.md
2. Fingerprint target technologies using multiple methods. If MKS is active (`MKS_URL` non-empty from mounted skill), use the MKS nmap version-fingerprinting endpoint from `plugins/pentest/skills/mks/SKILL.md` instead of the local nmap below:
whatweb https://TARGET -v nmap -sV --version-intensity 9 -p 80,443,8080,8443 TARGET curl -sI https://TARGET
3. Extract framework name, version, server software, CMS, language runtime. 4. Build a technology list: e.g. `["Apache/2.4.49", "PHP/7.4.3", "WordPress/5.8"]` 5. Log each discovery:
{"timestamp":"...","agent":"cve-tester","action":"recon","target":"https://TARGET","technologies":["Apache/2.4.49","PHP/7.4.3"]}For each identified technology:
1. Search local exploit DB:
searchsploit "Apache 2.4.49" searchsploit -j "Apache 2.4.49" | jq '.RESULTS_EXPLOIT[].Title'
2. Query NVD JSON API via WebFetch:
https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Apache+2.4.49&cvssV3Severity=HIGH
3. Search GitHub for PoC code via WebSearch:
4. Apply CVE Prioritization from SKILL.md:
5. Log each CVE found:
{"timestamp":"...","agent":"cve-tester","action":"experiment","cve":"CVE-2021-41773","cvss":9.8,"poc_found":true,"source":"searchsploit"}For each prioritised CVE (CVSS 7.0+):
1. Download PoC or copy it locally:
searchsploit -m 50383 # copies exploit file to current directory
Or fetch raw GitHub PoC via WebFetch. 2. Adapt PoC for target: replace hardcoded URLs, adjust auth headers, adjust payload encoding. 3. Execute read-only probe first to confirm version indicator before escalating:
curl -s "https://TARGET/path" | grep -i "vulnerable_string"
4. If probe confirms vulnerability, execute full test and capture HTTP traffic:
python exploit.py --target https://TARGET 2>&1 | tee outputs/ENGAGEMENT/activity/cve-test-CVE-YYYY-XXXXX.txt
5. Save raw HTTP request and response to evidence directory. 6. Log result:
{"timestamp":"...","agent":"cve-tester","action":"test","cve":"CVE-2021-41773","result":"vulnerable","probe_confirmed":true}For each confirmed vulnerable CVE:
1. Create `poc.py` that reproduces the finding cleanly:
Write outputs/ENGAGEMENT/findings/finding-NNN/poc.py
2. Execute poc.py and capture output:
python outputs/ENGAGEMENT/findings/finding-NNN/poc.py > outputs/ENGAGEMENT/findings/finding-NNN/poc_output.txt 2>&1
3. Write `description.md`:
Write outputs/ENGAGEMENT/findings/finding-NNN/description.md
Content: CVE ID, CVSS score, affected technology and version, vulnerability type, attack vector, impact, remediation recommendation. 4. Write `workflow.md` with exact manual reproduction steps (no automation required). 5. Save HTTP request to `evidence/request.txt` and response to `evidence/response.txt`. 6. Log confirmation:
{"timestamp":"...","agent":"cve-tester","action":"verify","finding":"finding-001","cve":"CVE-2021-41773","result":"confirmed"}**Technology fingerprinting:**
whatweb https://TARGET -v nmap -sV --version-intensity 9 -p 80,443,8080 TARGET curl -sI https://TARGET wappalyzer-cli https://TARGET
**CVE research:**
searchsploit "Apache 2.4.49" searchsploit -m 50383 nuclei -u https://TARGET -tags cve -severity critical,high
**NVD API (via WebFetch):**
https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Apache+2.4.49 https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2021-41773
outputs/{engagement}/
├── activity/cve-tester.log # NDJSON activity log (outputs/{engagement}/activity/)
├── activity/cve-test-CVE-*.txt # Raw tool output per CVE test
└── findings/finding-{NNN}/
├── description.md # CVE ID, CVSS, affected version, impact
├── poc.py # Exploit script
├── poc_output.txt # Execution proof
├── workflow.md # Manual reproduction steps
└── evidence/
├── request.txt # HTTP request
├── response.txt # HTTP response
└── screenshot.png # Optional visual proofAn open source plugin for enabeling claude to gain offensive pentesting capabilities
Inspects Content Security Policy headers for policy weaknesses and tests bypass vectors including unsafe-inline, unsafe-eval,…
Tests for CSRF vulnerabilities including missing tokens, weak validation, SameSite bypass, token reuse, and method override.…
Performs comprehensive domain reconnaissance including passive and active subdomain discovery (subfinder, amass, certificate…
Tests for SQL injection, NoSQL injection, and OS command injection across HTTP parameters, JSON bodies, and headers. Uses sqlmap…
Discovers REST API endpoints, GraphQL schemas, SOAP/WSDL services, WebSocket connections, and API documentation…
Runs active directory and file brute-forcing using ffuf, gobuster, feroxbuster, nikto, and dirsearch to discover directories,…
Performs preflight validation, config merging, TU enumeration, and work directory setup for zeroize-audit. Produces…
Autonomous hunt loop agent. Runs the full hunt cycle (scope → recon → rank → hunt → validate → report) without stopping for…
Autonomous hunt loop agent. Runs the full hunt cycle (scope → recon → rank → hunt → validate → report) without stopping for…