six2dez/burp-ai-agent/burp-scan
- community
Checking that the SKILL.md file is still in the repository.
Burp Suite scanning via MCP tools — passive traffic analysis, active payload testing, OOB verification, and vulnerability reporting using Burp's proxy, HTTP sender, Collaborator, and scanner APIs. Use when the user has Burp Suite running with the AI Agent MCP server and wants to scan, test, or analyze web traffic through an AI coding assistant (Claude Code, Gemini CLI, Codex, etc.).
Install
npx vskill@latest install six2dez/burp-ai-agent/burp-scanSKILL.md
Burp Scan Skill
Tactical scanning engine for Burp Suite via MCP. Operates Burp's tools programmatically to discover, confirm, and report vulnerabilities.
Prerequisites: Burp Suite running with the AI Agent extension loaded and MCP server enabled.
1. MCP TOOL REFERENCE
Tools organized by scanning action. Tools marked [unsafe] require Unsafe Mode enabled. Tools marked [pro] require Burp Professional.
Discover Scope & Attack Surface
| Tool | Purpose | |
|---|---|---|
scope_check | Check if a URL is in scope | |
site_map | Browse Burp's site map | |
site_map_regex | Search site map by regex | |
proxy_http_history | List proxy HTTP history items | |
proxy_http_history_regex | Search proxy history by regex | |
proxy_ws_history | List WebSocket history | |
proxy_ws_history_regex | Search WebSocket history by regex | |
response_body_search | Regex search across all response bodies |
Analyze Traffic
| Tool | Purpose | |
|---|---|---|
params_extract | Extract parameters from a request | |
find_reflected | Find reflected parameter values in a response | |
insertion_points | List insertion point offsets for a request | |
request_parse | Parse raw HTTP request into structured fields | |
response_parse | Parse raw HTTP response into structured fields | |
diff_requests | Line diff between two requests |
Send Test Payloads
| Tool | Purpose | |
|---|---|---|
http1_request [unsafe] | Send HTTP/1.1 request through Burp and get response | |
http2_request [unsafe] | Send HTTP/2 request through Burp and get response | |
repeater_tab [unsafe] | Create a Repeater tab with a request | |
repeater_tab_with_payload [unsafe] | Create Repeater tab with placeholder replacement | |
intruder [unsafe] | Send request to Intruder | |
intruder_prepare [unsafe] | Create Intruder tab with explicit insertion points |
Out-of-Band (OOB) Verification
| Tool | Purpose | |
|---|---|---|
collaborator_generate | Generate a Burp Collaborator payload (unique subdomain) | |
collaborator_poll | Poll for Collaborator interactions (DNS/HTTP callbacks) |
Encoding & Utility
| Tool | Purpose | |
|---|---|---|
url_encode / url_decode | URL encoding/decoding | |
base64_encode / base64_decode | Base64 encoding/decoding | |
hash_compute | Hash text (MD5/SHA1/SHA256/SHA512) | |
jwt_decode | Decode JWT header + payload (no signature verification) | |
decode_as | Decompress content (gzip/deflate/brotli) | |
cookie_jar_get | Read Burp's cookie jar | |
random_string | Generate random strings |
Report Findings
| Tool | Purpose | |
|---|---|---|
issue_create | Create a custom audit issue in Burp's issue list | |
scanner_issues [pro] | View existing scanner issues |
Control Burp Scanner
| Tool | Purpose | |
|---|---|---|
scan_audit_start [pro][unsafe] | Start a Burp Scanner audit | |
scan_crawl_start [pro][unsafe] | Start a Burp Scanner crawl | |
scan_task_status [pro] | Get status of a scan task |
2. PASSIVE ANALYSIS PROTOCOL
Analyze proxy traffic WITHOUT sending additional requests. This is the first phase of any scan.
Step 1: Pull Traffic
Step 2: Local Pattern Checks (No AI Needed)
Run these deterministic checks on every request/response pair BEFORE any deeper analysis:
Request Smuggling Indicators:
- Both
Content-LengthandTransfer-Encoding: chunkedpresent - Multiple
Content-Lengthheaders with different values - Severity: Medium, Confidence: 90
CSRF Absence:
- State-changing method (POST/PUT/PATCH/DELETE) + cookie-based auth (session/auth/token cookies)
- No CSRF token in parameters or headers, no Origin/Referer header
- No SameSite=Strict/Lax on auth cookies
- Severity: Low, Confidence: 85
Deserialization Surface:
- Parameters or body containing Java serialized data markers:
rO0ABoraced0005 - Content-Type:
java-serializedoroctet-streamwith serialized markers - Severity: Information, Confidence: 90
Unrestricted File Upload:
- Multipart upload with dangerous extension (php, phtml, asp, aspx, jsp, jspx, cgi, py, rb, exe, dll)
- Response 2xx AND response references the uploaded filename
- Severity: Medium, Confidence: 90
Step 3: Extract Context for Deep Analysis
For each request/response pair, extract:
- URL, Method, Status, MIME type
- Request headers (focus on: Authorization, Cookie, X-API-Key, Content-Type, Origin, Referer, Host, X-Forwarded-For/Host)
- Response headers (focus on: Server, X-Powered-By, Set-Cookie, Access-Control-Allow-Origin, Content-Security-Policy, X-Frame-Options)
- Parameters (name, value, type: URL/BODY/COOKIE/JSON)
- Potential Object IDs in URL path or parameters (numeric IDs, UUIDs, MongoDB ObjectIds)
- Auth mechanisms (session cookies vs Bearer token vs API key)
- Tech stack hints (Server header, X-Powered-By, framework-specific headers)
Step 4: Analysis Checklist
For each request/response pair, check for:
Injection: XSS, SQLi, CMDI, SSTI, SSRF, XXE, NoSQL injection, GraphQL injection Auth/Access Control: IDOR/BOLA, BAC (horizontal/vertical), CSRF, JWT weaknesses Information Disclosure: Secrets in responses, debug endpoints, source code exposure Configuration: CORS misconfiguration, open redirect, missing security headers High-Value: Account takeover paths, cache poisoning, request smuggling, host header injection API: Version bypass, GraphQL introspection enabled
Step 5: Severity Definitions
| Severity | Examples | |
|---|---|---|
| Critical | RCE, authentication bypass, full account takeover | |
| High | SQLi, stored XSS, SSRF with internal access, deserialization, command injection | |
| Medium | Reflected XSS, IDOR/BOLA, CSRF on sensitive actions, open redirect, LFI | |
| Low | Information disclosure, verbose errors, minor misconfigurations |
DO NOT REPORT
- Missing security headers (CSP, X-Frame-Options, HSTS, X-Content-Type-Options) as standalone findings
- "Potential" issues without concrete evidence in the request/response
- Generic parameter reflection without XSS context (value echoed in non-executable context)
- Absence of rate limiting as a standalone vulnerability
Step 6: JS Endpoint Discovery
When you encounter JavaScript files in proxy history, extract API endpoints using these patterns:
Exclude: /css/, /js/, /img/, /static/, /assets/, /fonts/, /media/, /.well-known/ Exclude extensions: .js, .css, .map, .png, .jpg, .svg, .ico, .woff, .pdf, .zip
Test discovered endpoints for access control issues (unauthenticated access, missing authorization).
3. ACTIVE TESTING PAYLOAD LIBRARY
Use payloads via http1_request to confirm passive findings. Always test against in-scope targets only.
SQL Injection
Error-based (Detection: look for DB-specific error strings):
Evidence patterns (95% confidence):
- MySQL:
You have an error in your SQL syntax - PostgreSQL:
ERROR: syntax error at or near - MSSQL:
Unclosed quotation mark after the character string - Oracle:
ORA-\d{4}: - SQLite:
SQLITE_ERRORornear "...": syntax error
Blind Boolean (Detection: compare response differences):
Protocol: Send BOTH true and false conditions. If true matches original and false differs -> confirmed.
Time-based (Detection: measure response delay >= 5 seconds):
UNION-based [MODERATE risk]:
XSS Reflected
Unique marker: XSS-BURP-AI-1337 (check for this exact string in response)
Confidence: 95% if marker reflected with intact tags. 75% if alert(1) reflected (needs manual check).
LFI / Path Traversal
Evidence: root:x:0:0:root:/root: (95%) or [fonts] header (90%)
SSTI (Server-Side Template Injection)
Unique math markers to avoid false positives:
Evidence: Math result 97601, 94011, or 7777777 in response (95% confidence).
Command Injection
Evidence: uid=\d+\(\w+\) gid=\d+\(\w+\) in response (95% confidence).
SSRF
XXE
IDOR / BOLA (Context-Aware)
No static payloads. Generate based on original value:
Numeric IDs: Test ID-1, ID+1, 1 (first/admin), 0 (edge case), -1 (negative) UUIDs: Modify last character (0->1 or vice versa)
Protocol: Compare response for original ID vs manipulated ID. If you get valid data for a different user's ID -> IDOR confirmed.
Host Header Injection
Test marker: evil-burp-ai-test.com
OAuth Misconfiguration
Test markers: evil-burp-ai.com
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/burp-scan/SKILL.md
Popularity
- Repository stars
- 1,294
- Repository forks
- 202
- 7-day trend score
- 36
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 21 Jun 2026, 4 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/six2dez/burp-ai-agent/burp-scan)