burp_active_scan
Perform active vulnerability scanning on web applications using Burp Suite to identify security weaknesses in target URLs and defined scopes.
Instructions
Perform active vulnerability scan using Burp Suite
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Additional URLs to include in scope (optional) | |
| target | Yes | Target URL to scan |
Input Schema (JSON Schema)
{
"properties": {
"scope": {
"description": "Additional URLs to include in scope (optional)",
"items": {
"type": "string"
},
"type": "array"
},
"target": {
"description": "Target URL to scan",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
}
Implementation Reference
- Core handler implementation for burp_active_scan tool. Initiates Burp Suite active scan via REST API, performs spidering first, waits for completion, retrieves issues and categorizes by severity.async activeScan(target: string, scope?: string[]): Promise<ScanResult> { try { console.error(`🔍 Starting Burp Suite active scan on ${target}`); // Check if Burp is running await this.checkBurpStatus(); // Send target to scope if specified if (scope) { await this.setScope(scope); } // Start spider first const spiderResult = await this.spiderTarget(target); // Start active scan const scanResponse = await axios.post(`${this.apiBaseUrl}/v0.1/scan`, { urls: [target] }); const scanId = scanResponse.data.task_id; console.error(`Scan started with ID: ${scanId}`); // Wait for scan completion or timeout const scanResult = await this.waitForScanCompletion(scanId, 1800000); // 30 min timeout // Get scan results const issues = await this.getScanIssues(scanId); return { target, timestamp: new Date().toISOString(), tool: 'burpsuite_active_scan', results: { scan_id: scanId, spider_results: spiderResult, scan_status: scanResult.status, issue_count: issues.length, issues: issues, severity_breakdown: this.categorizeBySeverity(issues) }, status: 'success' }; } catch (error) { return { target, timestamp: new Date().toISOString(), tool: 'burpsuite_active_scan', results: {}, status: 'error', error: error instanceof Error ? error.message : String(error) }; } }
- src/index.ts:431-441 (schema)Input schema defining parameters for burp_active_scan: required 'target' URL and optional 'scope' array.inputSchema: { type: "object", properties: { target: { type: "string", description: "Target URL to scan" }, scope: { type: "array", items: { type: "string" }, description: "Additional URLs to include in scope (optional)" } }, required: ["target"]
- src/index.ts:428-443 (registration)Tool registration in ListToolsResponse, including name, description, and schema.{ name: "burp_active_scan", description: "Perform active vulnerability scan using Burp Suite", inputSchema: { type: "object", properties: { target: { type: "string", description: "Target URL to scan" }, scope: { type: "array", items: { type: "string" }, description: "Additional URLs to include in scope (optional)" } }, required: ["target"] } },
- src/index.ts:598-599 (registration)Dispatch/registration in CallToolRequest handler switch statement, routing to BurpSuiteIntegration.activeScan method.case "burp_active_scan": return respond(await this.burpSuite.activeScan(args.target, args.scope));