burp_proxy_scan
Perform passive security scanning by proxying target URLs through Burp Suite to identify vulnerabilities during authorized penetration testing.
Instructions
Perform passive scan through Burp Suite proxy
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | Scan duration in seconds (default: 300) | |
| target | Yes | Target URL to proxy through |
Input Schema (JSON Schema)
{
"properties": {
"duration": {
"description": "Scan duration in seconds (default: 300)",
"type": "number"
},
"target": {
"description": "Target URL to proxy through",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
}
Implementation Reference
- The core handler function for the burp_proxy_scan tool. It checks Burp status, generates proxy traffic using curl, retrieves proxy history and passive scan issues from Burp API, and returns structured results including issues and severity breakdown.async proxyScan(target: string, duration: number = 300): Promise<ScanResult> { try { console.error(`🔍 Starting Burp Suite proxy scan on ${target} for ${duration} seconds`); // Check if Burp is running await this.checkBurpStatus(); // Configure proxy const proxyConfig = { http_proxy: `http://127.0.0.1:${this.config.proxy_port}`, https_proxy: `http://127.0.0.1:${this.config.proxy_port}` }; // Send some requests through proxy to generate traffic await this.generateProxyTraffic(target, duration); // Get proxy history const proxyHistory = await this.getProxyHistory(); // Get passive scan issues const issues = await this.getPassiveIssues(); return { target, timestamp: new Date().toISOString(), tool: 'burpsuite_proxy_scan', results: { proxy_config: proxyConfig, scan_duration: duration, requests_captured: proxyHistory.length, issue_count: issues.length, issues: issues, proxy_history: proxyHistory.slice(0, 50), // Limit output severity_breakdown: this.categorizeBySeverity(issues) }, status: 'success' }; } catch (error) { return { target, timestamp: new Date().toISOString(), tool: 'burpsuite_proxy_scan', results: {}, status: 'error', error: error instanceof Error ? error.message : String(error) }; } }
- src/index.ts:444-455 (schema)The tool schema definition including name, description, and input schema for validation in the ListTools handler.{ name: "burp_proxy_scan", description: "Perform passive scan through Burp Suite proxy", inputSchema: { type: "object", properties: { target: { type: "string", description: "Target URL to proxy through" }, duration: { type: "number", description: "Scan duration in seconds (default: 300)" } }, required: ["target"] } },
- src/index.ts:601-602 (registration)The switch case registration that dispatches tool calls to the BurpSuiteIntegration.proxyScan method.case "burp_proxy_scan": return respond(await this.burpSuite.proxyScan(args.target, args.duration || 300));