All Classes and Interfaces
Class
Description
Top-level tabbed UI for the Attack Framework extension.
Password field whose preferred width tracks its content length within clamped bounds.
Text field whose preferred width tracks its content length within clamped bounds.
Single shared controller for batch size (doc count per OpenSearch bulk request).
Estimates approximate JSON payload size for bulk index requests.
Caches stable Burp metadata used by async exporters.
Shared button styling helpers for consistent button width and text weight.
Sends traffic documents to OpenSearch using a chunked POST to the standard Bulk API.
Result of one chunked bulk request: success count and total documents sent.
Coordinates long-running operations for the Config UI: export/import and OpenSearch
connectivity/index management.
UI callback surface implemented by ConfigPanel.
Config Control section: Import / Export actions, Start/Stop export, and their status rows.
Builds the "Destinations" section panel used by ConfigPanel.
Builds the "Index Fields" section panel: per-index expand/collapse groups with checkboxes
for toggleable export fields.
Mapper between the typed
ConfigState.State and the JSON produced/parsed
by Json.Shared string keys for sources and scope types used across UI and config mapping.
Main configuration panel for data sources, scope, destination, and control actions.
Builds the "Export Scope" section panel used by ConfigPanel.
Builds the "Burp Suite Sources" section panel used by ConfigPanel.
Typed configuration model for import/export and UI binding.
Scope kind for
ConfigState.ScopeEntry.Top-level state.
Ordered custom-scope entry.
Sinks selection and values.
Persisted UI preferences that should survive save/export/import.
Bridges runtime events to the Config control-status area.
Enforces exporter disk-space safety rules.
Exception used when a disk write is refused due to low available space.
Small adapter to reduce boilerplate when wiring document change events to a
Runnable.Builds stable exporter IDs shared across sinks.
Filters a document map to only include keys allowed for export for the given index.
Canonical list of export fields per index for the Fields panel and document filtering.
Shared UI text for generated field checkboxes in the Config "Index Fields" section.
Serializes prepared export documents into line-oriented sink formats.
Coordinates intentional shutdown and reset of long-lived export reporters.
Thread-safe per-index export stats for OpenSearch pushes.
Immutable proxy-history snapshot performance summary.
Shared dispatcher for file-based exports.
Thread-safe session stats for file-based exports.
Contract for file-based export sinks.
Small file utilities used by the UI and sinks.
Outcome of ensuring a JSON file exists.
Status of file creation attempts.
Pushes Burp audit issues (findings) to the findings index when export is
running and "Issues" is selected.
Manages highlight tags on a
JTextComponent.Wrapped plain view that indents continuation lines (wrapped segments after the first
visual line of each logical line) by a fixed pixel amount so wrapped log lines are
easier to scan.
Text area UI that uses
IndentedWrappedPlainView so wrapped lines
get a continuation indent in the log panel.Coordinates retries and a bounded per-index queue for OpenSearch indexing.
JSON marshaling for config import/export.
Dedicated runtime exception for config JSON errors.
Parsed config projection used by the UI and tests.
- Delegates to SLF4J so levels/appenders are configurable.
Listener contract used by LogPanel and tests.
Marker for listeners that should receive a replay of recent messages when registered
(e.g.
Logback appender that forwards non-internal events to the UI listener bus.
Log view with level filter, pause autoscroll, clear/copy/save, text filter (case/regex),
search (case/regex, highlight all, match count), and duplicate compaction.
Renderer: writes/replaces lines in the document, formats output, and autoscrolls.
Log model: entries, duplicate compaction, memory cap, and filtered aggregation.
Aggregated line for full rebuilds.
Renderer decision for incremental updates.
Minimal event; repeats track consecutive duplicates.
Levels (TRACE invalid input: '<' DEBUG invalid input: '<' INFO invalid input: '<' WARN invalid input: '<' ERROR).
Visibility predicate derived from the UI.
Resolves exporter-managed disk locations.
Holder for the Montoya API instance provided at extension load.
Thrown when an OpenSearch client cannot be constructed.
Factory/cache for OpenSearch clients.
Shared formatting for OpenSearch HTTP request/response logging (Test Connection only).
Performs a raw HTTP GET to the OpenSearch root (/) with the same auth, SSL, and
HTTP version policy (NEGOTIATE) as
OpenSearchConnector, so we can log the
actual protocol and status line from the wire (including HTTP/2 when negotiated).Result of a raw GET / request: status line details, body, and log strings (real request/response with redaction).
Creates OpenSearch indices from bundled JSON mapping files.
Result of an index creation attempt.
Shared TLS helpers for OpenSearch connectivity, pin import, and trust-mode enforcement.
Burp HTTP handler that indexes request/response traffic into the OpenSearch traffic index.
Prepared export document shared across sinks.
Pushes Proxy History items to the traffic index once when Start is clicked and
"Proxy History" is selected.
Pushes Proxy WebSocket history items to the traffic index.
Centralized helpers for regex compilation and flag derivation.
Binds a text field and toggle(s) to a small indicator label that shows a
✓ (valid) or ✖ (invalid) when regex mode is enabled.
Builds request and response sub-documents in the same shape as the traffic index,
for use by both
OpenSearchTrafficHandler and SitemapIndexReporter.Per-index bounded queues for failed OpenSearch index operations.
Holds the current runtime configuration for export pipelines.
Decides whether a URL is in scope for export based on the extension's scope configuration.
Custom scope entries grid:
- Col 1: text field (size-grouped)
- Col 2: ".*" toggle + ✓/✖ indicator
- Col 3: action button (Add on row 1, Delete on rows > 1)
Initial row seed for a custom entry.
Helpers for consistent scroll pane creation and configuration.
Stores OpenSearch credentials in memory for the current Burp session only.
Immutable API key credentials pair read from session memory.
Immutable basic credentials pair read from session memory.
Immutable certificate credentials read from session memory.
Immutable JWT token credentials read from session memory.
Immutable imported TLS pin material read from session memory.
Pushes Burp project and user settings to the settings index when export is
running and "Settings" is selected.
Pushes Burp sitemap items to the sitemap index when export is running and
"Sitemap" is selected.
Panel that displays live export charts and dashboard metrics.
Helpers for status-area configuration and message updates.
Installs undo/redo bindings on a
JTextField.Immutable description of a user text query used by validation and search code.
Stateless search utility that returns all match ranges for either a regex query
or a plain substring query.
2px high separator for denser visual grouping.
Pushes the current runtime configuration as a document to the tool index
when export startup completes.
Forwards extension log events to the
IndexNaming.INDEX_PREFIX (attackframework-tool-burp)
index so the Attack Framework can analyze extension/OpenSearch issues centrally.Periodically pushes a stats snapshot document to the tool index
(
IndexNaming.INDEX_PREFIX) for resource and export metrics in OpenSearch.Shared tooltip helpers so panels use consistent formatting.
Bounded queue for traffic documents so the HTTP thread can enqueue and return immediately.
Tri-state checkbox for parent/child selection UIs.
Icon for tri-state checkbox: keep the current Look invalid input: '&' Feel checkbox rendering for selected/unselected,
and render indeterminate as the selected checkbox with a centered horizontal dash overlay.
Centralized version accessor.
Styled editor kit that wraps long lines so no horizontal scroll bar is needed.