burp_suite_security_issue_definitions
Retrieve Burp Suite security issue definitions, remediation details, and references from the knowledge base to analyze vulnerabilities and implement fixes for web applications.
Instructions
Get all Burp Suite security issue definitions (name, description, remediation, references).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- main.py:106-130 (handler)The handler function for the 'burp_suite_security_issue_definitions' tool. It makes a GET request to /knowledge_base/issue_definitions endpoint and formats the security issue definitions (name, description, remediation, references, vulnerability classifications) into a readable string format.
@mcp.tool("burp_suite_security_issue_definitions") async def get_knowledge_base_issue_definitions() -> str: """ Get all Burp Suite security issue definitions (name, description, remediation, references). """ security_definitions: list[str] = [] resp = await make_api_request("GET", "/knowledge_base/issue_definitions") if resp is not None: data = resp.json() if isinstance(data, list): for item in data: security_definition = f""" Issue Name: {item.get('name', 'Unknown')} Description: {item.get('description', 'N/A')} Remediation: {item.get('remediation', 'None')} References: {item.get('references', 'None')} Vulnerability Classifications: {item.get('vulnerability_classifications', 'None')} """ security_definitions.append(security_definition) return ( "\n---\n".join(security_definitions) if security_definitions else "No security definitions available." ) - main.py:43-83 (helper)Core helper function used by the burp_suite_security_issue_definitions tool (and other tools) to make HTTP requests to the Burp REST API. Handles authentication, request formatting, error handling, and response processing.
async def make_api_request( method: str, request_path: str, payload: dict[str, Any] | None = None ) -> httpx.Response | None: """ Make a request to the Burp REST API. Returns None on failure; logs the error for debugging. """ err = _validate_config() if err: logger.warning(err) return None path = request_path.lstrip("/") if BURP_REST_API_KEY: url = f"{BURP_REST_API_BASE}/{BURP_REST_API_KEY}/{BURP_REST_API_VERSION}/{path}" else: url = f"{BURP_REST_API_BASE}/{BURP_REST_API_VERSION}/{path}" async with httpx.AsyncClient() as client: try: response = await client.request( method, url, json=payload, headers=DEFAULT_HEADERS, timeout=30, ) response.raise_for_status() return response except httpx.HTTPStatusError as e: logger.warning( "Burp API HTTP error: %s %s", e.response.status_code, e.response.text[:200], ) return None except httpx.RequestError as e: logger.warning("Burp API request failed: %s", e) return None except Exception as e: logger.warning("Burp API unexpected error: %s", e) return None