get_scan_issues
Retrieve vulnerability issues from a scan by specifying the scan ID and filtering by severity levels, including high, medium, low, and info, for detailed analysis and action.
Instructions
Get vulnerability issues found in a scan
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ID of the scan | |
| severity | No | Filter issues by severity |
Implementation Reference
- src/index.ts:557-591 (handler)Handler function that executes the 'get_scan_issues' tool. Retrieves issues from a scan by ID, filters by optional severity, and returns a summarized JSON response with issue details.case "get_scan_issues": { const scanId = String(request.params.arguments?.scan_id); const severity = String(request.params.arguments?.severity || "all"); if (!scanId || !mockScans[scanId]) { throw new McpError(ErrorCode.InvalidRequest, `Scan ${scanId} not found`); } const scan = mockScans[scanId]; let issues = scan.issues; // Filter by severity if specified if (severity !== "all") { issues = issues.filter(issue => issue.severity === severity); } return { content: [{ type: "text", text: JSON.stringify({ scan_id: scanId, target: scan.target, issue_count: issues.length, issues: issues.map(issue => ({ id: issue.id, name: issue.name, severity: issue.severity, confidence: issue.confidence, host: issue.host, path: issue.path })) }, null, 2) }] }; }
- src/index.ts:416-432 (schema)Input schema definition for the 'get_scan_issues' tool, specifying required scan_id and optional severity filter.name: "get_scan_issues", description: "Get vulnerability issues found in a scan", inputSchema: { type: "object", properties: { scan_id: { type: "string", description: "ID of the scan" }, severity: { type: "string", enum: ["high", "medium", "low", "info", "all"], description: "Filter issues by severity" } }, required: ["scan_id"] }
- src/index.ts:380-480 (registration)The tool is registered in the listTools response within the server's tool list, including this tool alongside others like start_scan.return { tools: [ { name: "start_scan", description: "Start a new vulnerability scan on a target URL", inputSchema: { type: "object", properties: { target: { type: "string", description: "Target URL to scan (e.g., https://example.com)" }, scan_type: { type: "string", enum: ["passive", "active", "full"], description: "Type of scan to perform" } }, required: ["target"] } }, { name: "get_scan_status", description: "Check the status of a running scan", inputSchema: { type: "object", properties: { scan_id: { type: "string", description: "ID of the scan to check" } }, required: ["scan_id"] } }, { name: "get_scan_issues", description: "Get vulnerability issues found in a scan", inputSchema: { type: "object", properties: { scan_id: { type: "string", description: "ID of the scan" }, severity: { type: "string", enum: ["high", "medium", "low", "info", "all"], description: "Filter issues by severity" } }, required: ["scan_id"] } }, { name: "get_proxy_history", description: "Get HTTP/HTTPS traffic captured by Burp Proxy", inputSchema: { type: "object", properties: { host: { type: "string", description: "Filter by host (optional)" }, method: { type: "string", description: "Filter by HTTP method (optional)" }, status_code: { type: "number", description: "Filter by HTTP status code (optional)" }, limit: { type: "number", description: "Maximum number of items to return (default: 10)" } } } }, { name: "get_site_map", description: "Get the site structure discovered during scanning and browsing", inputSchema: { type: "object", properties: { host: { type: "string", description: "Filter by host (optional)" }, with_parameters: { type: "boolean", description: "Only show URLs with parameters (optional)" }, limit: { type: "number", description: "Maximum number of items to return (default: 20)" } } } } ]