Skip to content

OpenAI SSE Responses #309

@omerfarukgeris

Description

@omerfarukgeris

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)

omerfarukgeris@gmail.com

Discord username (optional)

No response

I confirm that the following is true:

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

  1. Download Jython

Download the Jython Standalone JAR (2.7.x) from the official website.

Jython allows Python extensions to run inside Burp Suite.

  1. 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.

  1. 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.

  1. 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

No one assigned

    Labels

    CommunityThis extension is compatible with Burp Suite Community.ProfessionalThis extension is compatible with Burp Suite Professional.

    Projects

    Status

    Concept review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions