-
Notifications
You must be signed in to change notification settings - Fork 1
OpenAI SSE Responses #309
Description
Extension URL
https://github.com/omerfarukgeris/sse-parser
Version number
1.0.0
Select additional compatible products and features
- Community
- DAST
- Burp AI
Author display name
Ömer Faruk GERİŞ
Contact details (optional)
Discord username (optional)
No response
I confirm that the following is true:
- I have permission from all relevant persons to submit this extension to the BApp Store for public use, under the terms and conditions of the EULA.
- I have read and understood the submission requirements for the BApp Store.
Extension overview
This extension is designed to improve the analysis of Server-Sent Events (SSE) responses in Burp Suite, particularly for applications that stream responses from AI APIs such as those provided by OpenAI.
Many modern AI APIs deliver responses as a continuous stream (text/event-stream) rather than a single JSON object. In these cases, the response arrives as multiple small chunks containing partial text fragments. While this approach improves user experience in applications, it makes the response difficult to read and analyze directly in Burp Suite.
The purpose of this extension is to automatically parse these streamed SSE chunks, extract the relevant text content from each event, and reconstruct the full response into a single readable output. It adds a custom sse-parser tab to the response viewer, allowing security researchers and developers to quickly view the complete generated text without manually inspecting individual JSON fragments.
This makes the extension particularly useful when testing, debugging, or analyzing AI-powered applications that use streaming responses, enabling faster inspection of model outputs during traffic analysis and security assessments.
Key features
Automatic SSE Detection
Burp Response Tab Integration
Multiple Response Format Support
Useful for API Testing and Security Analysis
Usage instructions
- Download Jython
Download the Jython Standalone JAR (2.7.x) from the official website.
Jython allows Python extensions to run inside Burp Suite.
- Configure the Python Environment in Burp
Open Burp Suite.
Navigate to Extender → Options.
Locate Python Environment.
Set Location of Jython standalone JAR file to the downloaded Jython .jar file.
This enables Burp to execute Python-based extensions.
- Load the Extension
Go to Extender → Extensions.
Click Add.
Set Extension type to Python.
Select the sse_parser.py file.
Click Next to load the extension.
If loaded successfully, the extension will appear in the extensions list.
- Capture or Send a Streaming Request
Use any Burp tool such as:
Proxy
Repeater
Logger
Send a request to an API that returns SSE streaming responses, such as APIs from OpenAI that use:
Content-Type: text/event-stream
and enable streaming with:
"stream": true
5. View the Parsed Output
When a response with text/event-stream is detected:
Open the Response tab in Burp.
A new tab called sse-parser will appear.
Click this tab to view the reconstructed text output.
Instead of multiple SSE chunks, the extension will display the full combined response.
Template identifier (Internal use only - please ignore)
- template:01-submit-extension
Metadata
Metadata
Assignees
Labels
Type
Projects
Status