rep+ is a lightweight Firefox DevTools extension inspired by Burp Suite's Repeater, now supercharged with AI. I often need to poke at a few requests without spinning up the full Burp stack, so I built this extension to keep my workflow fast, focused, and intelligent with integrated LLM support.
🦊 Now Available! Clone and load manually (see Installation below).
Note: This Firefox port includes all features from the Chrome version, plus Auth Analyzer improvements.
- Features
- Quick Start
- Installation
- Permissions & Privacy
- Limitations
- Star History
- Found a Bug or Issue?
- ❤️ Support the Project
- No proxy setup; works directly in Chrome (no CA certs needed).
- Capture every HTTP request and replay with modified method, headers, or body.
- Multi-tab capture (optional permission) with visual indicators 🌍 and deduplication.
- Clear workspace quickly; export/import requests as JSON for sharing or later reuse.
- Hierarchical grouping by page and domain (first-party prioritized).
- Third-party detection and collapsible groups; domain badges for quick context.
- Starring for requests, pages, and domains (auto-star for new matches).
- Timeline view (flat, chronological) to see what loaded before a request.
- Filters: method, domain, color tags, text search, regex mode.
- Global Static Filter: Toggle in "More Menu" to hide static files (images, JS, CSS) from the main list.
- Resizable Panels: Main sidebar and Auth Analyzer panel can be resized by dragging the edge.
- Vertical Comparison: Auth Analyzer results show Original vs Swapped responses stacked vertically for better readability.
- Pretty / Raw / Hex views; layout toggle (horizontal/vertical).
- Converters: Base64, URL encode/decode, JWT decode, Hex/UTF-8.
- History, undo/redo, and syntax highlighting for requests/responses.
- Context menu helpers on the request editor:
- Convert selected text (Base64, URL encode/decode, JWT decode).
- Copy as full HTTP request in multiple languages:
curl, PowerShell (Invoke-WebRequest), Python (requests), and JavaScriptfetch.
- Screenshot editor for request/response pairs: full-content capture, side‑by‑side or stacked layout, zoom, highlight and black-box redaction, resizable/movable annotations, keyboard delete, and undo/redo for all edits.
- Bulk replay with 4 attack modes: Sniper, Battering Ram, Pitchfork, Cluster Bomb.
- Mark positions with
§, configure payloads, pause/resume long runs. - Response diff view to spot changes between baseline and attempts.
Comprehensive authentication and authorization testing toolkit inspired by Burp Suite's Auth Analyzer extension.
- Automatic Cookie Swapping: Replay requests with different session tokens to detect authorization bypasses
- Real-time Analysis: Automatically analyze all captured requests (optional with domain scope filtering)
- Manual Testing: "Test Auth" button for on-demand single request analysis
- Response Comparison Engine:
- SAME (🔴 Bypass): Identical responses indicate potential authorization bypass
- SIMILAR (🟡 Warning): Same status code but slightly different content (90-98% similar)
- DIFFERENT (🟢 Secure): Properly denied access
- Smart Normalization: Removes dynamic content (timestamps, CSRF tokens, script tags) for accurate comparison
- Token Similarity Algorithm: Uses Jaccard index on word tokens for content-aware comparison
- Bulk Replay: Analyze all captured requests against a different session in one click
- Session Management: Import/export session configurations
- Filtering Options: Scope restriction by domain/URL pattern
- Static File Exclusion: Automatically skip CSS, JS, images, and other static resources
- Configure victim/test session cookie in Auth Analyzer settings
- Browse application with privileged account (original session)
- Auth Analyzer replays each request with the victim cookie
- Results panel shows color-coded analysis:
- 🔴 SAME: Critical! Unauthorized access granted (potential bypass)
- 🟡 SIMILAR: Warning! Nearly identical response (investigate further)
- 🟢 DIFFERENT: Secure! Access properly denied
- Privilege Escalation Testing: Test if low-privilege users can access admin endpoints
- Horizontal Privilege Escalation: Test cross-user data access (IDOR)
- Session Testing: Verify endpoints properly check authorization
- Bug Bounty Automation: Bulk test applications for authorization flaws
Our Firefox implementation uses an advanced content-aware comparison approach:
- Normalization: Removes
<script>,<style>, hidden inputs, timestamps before comparison - Similarity Metric: Jaccard index (token overlap) instead of byte-level comparison
- Advantages over Burp's Auth Analyzer:
- More resilient to dynamic content (timestamps, session IDs, CSRF tokens)
- Fewer false positives on modern SPAs and dynamic web applications
- Configurable similarity thresholds (98% for SAME, 90% for SIMILAR)
See Auth Analyzer Documentation for detailed setup and usage.
- Unified Extractor: secrets, endpoints, and parameters from captured JS.
- Secret Scanner: entropy + patterns with confidence scores; pagination and domain filter.
- Powered by Kingfisher rules for comprehensive secret detection
- Supports AWS, GitHub, Google, Slack, Stripe, Twilio, Azure, and many more service providers
- Rules stored locally in
rules/directory for offline use - Note: Secret scanning only analyzes JavaScript files from the current inspected tab.
- Export: Export all secrets to CSV for analysis and reporting
- Endpoint Extractor: full URLs, relative paths, GraphQL; method detection; one-click copy (rebuilds base URL).
- Export: Export all endpoints to CSV with method, endpoint path, confidence, and source file
- Parameter Extractor: passive JavaScript parameter discovery with intelligent grouping and risk assessment.
- Parameter Types: Extracts query, body, header, and path parameters from JavaScript files
- Grouped by Endpoint: Parameters are organized by endpoint with expandable/collapsible groups
- Risk Classification: Automatically identifies high-risk parameters (auth, admin, debug flags, IDOR, feature flags)
- Confidence Scoring: Stricter confidence model than endpoints to reduce false positives
- Smart Filtering: Suppresses common false positives (webpack, React, jQuery, DOM events, telemetry)
- Copy as cURL: One-click copy generates curl commands with all parameters properly formatted
- Location Badges: Visual indicators for parameter location (query/body/header/path)
- Domain Filtering: Filter parameters by source domain with accurate counts
- Column Sorting: Sort by parameter name, location, endpoint, method, risk level, or confidence
- Export Options:
- CSV Export: Export all parameters with location, endpoint, method, risk level, and confidence
- Postman Collection Export: Generate ready-to-import Postman collection JSON with all endpoints and parameters
- Automatically groups parameters by endpoint
- Includes query, body, and header parameters
- Uses Postman variable syntax (
{{paramName}}) for easy testing - Perfect for security testers who want to quickly import discovered APIs into Postman
- Response Search: regex support, match preview, pagination, domain filter.
- Interactive Chat Interface: Real-time conversation with AI about your HTTP requests and responses
- Streaming responses with live markdown rendering
- Syntax highlighting for code blocks (supports multiple languages)
- Copy-to-clipboard for code blocks with visual feedback
- Token usage counter with color-coded warnings
- Per-Request Chat History: Each request maintains its own conversation history
- Automatically saves chat when switching between requests
- Restores previous conversations when returning to a request
- Clear chat button resets only the current request's conversation
- Cross-Reference Previous Requests: Reference investigations from other requests
- "Reference previous requests" UI with collapsible/expandable list
- Select which previous requests to include in context
- AI receives summaries of previous investigations for referenced requests
- Perfect for multi-step testing scenarios (e.g., login → authenticated request)
- Request Modification: AI can modify requests directly in the editor
- "Apply modifications" button appears when AI suggests changes
- Smart detection: only shows when modifications are actually suggested
- Preserves request structure (headers, formatting, HTTP version)
- Animated application with visual feedback
- Supports header updates, body modifications, and new header additions
- Response History Tracking: Tracks multiple responses from resends
- Maintains chronological history of all responses (original + resends)
- AI has context on all responses when analyzing changes
- Conditional inclusion: only includes full history when relevant (token optimization)
- Smart Context Management: Intelligent token optimization
- Response truncation for large responses (~1,500 tokens max)
- Chat history compression (summarizes older messages)
- Conditional response inclusion (only when asked about)
- Limits response history to last 2-3 responses
- Keeps last 15 messages in conversation history
- Multi-Provider Support: Works with Claude, Gemini, and local Ollama models
- Automatic model detection for Anthropic and Gemini APIs
- Manual URL/model configuration for local models
- Streaming support for all providers
- Use Cases:
- Security testing and penetration testing guidance
- Request/response explanation and debugging
- Automated request modification for testing
- Bug bounty report generation
- Vulnerability identification and attack vector suggestions
- Multi-step attack chain planning with cross-request context
- Explain Request (Claude/Gemini) with streaming responses.
- Suggest Attack Vectors: request + response analysis; auto-send if no response; payload suggestions; reflections/errors/multi-step chains; fallback to request-only with warning.
- Context menu "Explain with AI" for selected text.
- Attack Surface Analysis per domain: categorization (Auth/Payments/Admin/etc.), color-coded icons, toggle between list and attack-surface view.
- Export AI outputs as Markdown or PDF to save RPD/TPM.
- 7 Beautiful Themes: Choose from a variety of modern, carefully crafted themes:
- 🌙 Dark (Default): Classic dark theme optimized for long sessions
- ☀️ Light: Clean light theme for bright environments
- 🎨 Modern Dark: VS Code Dark+ inspired theme with enhanced contrast
- ✨ Modern Light: GitHub-style light theme with crisp colors
- 💙 Blue: Cool blue/cyan color scheme for a fresh look
- 🔆 High Contrast: Accessibility-focused theme with maximum contrast
- 🖥️ Terminal: Green-on-black terminal aesthetic for retro vibes
- Theme Selector: Easy dropdown menu to switch themes instantly
- Smooth Transitions: Animated theme switching for a polished experience
- Optimized Syntax Highlighting: All themes include carefully tuned colors for:
- HTTP methods, paths, headers, and versions
- JSON keys, strings, numbers, booleans, and null values
- Parameters and cookies
- Request method badges (GET, POST, PUT, DELETE, PATCH)
- Theme Persistence: Your theme preference is saved and restored automatically
- Request color tags and filters.
- Syntax highlighting for JSON/XML/HTML.
- Open Chrome DevTools → “rep+” tab.
- Browse: requests auto-capture.
- Click a request: see raw request/response immediately.
- Edit and “Send” to replay; use AI buttons for explain/attack suggestions.
- Use timeline, filters, and bulk replay for deeper testing.
- Clone the repository:
git clone https://github.com/bscript/rep.git cd rep-firefox - Open Firefox Debugging:
- Navigate to
about:debuggingin your browser. - Click This Firefox in the left sidebar.
- Navigate to
- Load the Extension:
- Click Load Temporary Add-on....
- Navigate to the
repfolder you just cloned. - Select the
manifest.jsonfile.
- Open DevTools:
- Press
F12or right-click -> Inspect. - Look for the rep+ tab (you might need to click the
>>overflow menu).
- Press
- Grant Permissions (if needed):
- If you see permission errors, go to
about:addons. - Find rep+ in the list.
- Click the gear icon → Manage.
- Enable the webRequest permission and Access your data for all web sites if prompted.
- If you see permission errors, go to
This combo makes rep+ handy for bug bounty hunters and vulnerability researchers who want Burp-like iteration without the heavyweight UI. Install the extension, open DevTools, head to the rep+ panel, and start hacking. 😎
The "Temporary Add-on" method requires reloading the extension every time you restart Firefox. To make it persistent:
- Use Firefox Developer Edition or Nightly.
- Go to
about:configin the address bar. - Search for
xpinstall.signatures.required. - Toggle it to false.
- Zip the
rep-firefoxfolder contents (select all files -> compress). - Rename the
.zipfile torep-plus.xpi. - Go to
about:addons-> Gear Icon -> Install Add-on From File.... - Select your
rep-plus.xpi.
If you use standard Firefox, you must sign the extension:
- Zip the extension files.
- Go to the Mozilla Developer Hub.
- Login and select "Submit a New Add-on".
- Choose "On your own" (Self-distribution) when asked how you want to distribute.
- Upload your zip file.
- Once the automated review passes (usually seconds), download the signed
.xpifile. - Install this signed file in your regular Firefox browser.
If you use a local model (e.g., Ollama) you must allow Firefox extensions to call it, otherwise you'll see 403/CORS errors.
- Stop any running Ollama instance.
- Start Ollama with CORS enabled (pick one):
- Allow only Firefox extensions:
OLLAMA_ORIGINS="moz-extension://*" ollama serve - Allow everything (easier for local dev):
OLLAMA_ORIGINS="*" ollama serve
- Allow only Firefox extensions:
- Verify your model exists (e.g.,
gemma3:4b) withollama list. - Reload the extension and try again. If you still see 403, check Ollama logs for details.
- Click the 🔒 Lock icon in the sidebar to open Auth Analyzer Results panel
- Click the ⚙️ Settings icon in the results panel header to configure
- Enter victim/test session cookie (e.g.,
session=abc123; role=user)- You can paste the entire
Cookie:header line - it will be auto-sanitized - Or just the cookie value
- You can paste the entire
- Enable Realtime Analysis (optional):
- Toggle ON to automatically analyze all requests
- Add scope filter (e.g.,
api.example.com) to limit analysis to specific domains
- Click "Save & Enable"
- Select a request in the main list
- Click "Test Auth" button (next to Send button)
- Request is replayed with your test session
- Results appear in Auth Analyzer panel
- Enable "Realtime Analysis" in settings
- Browse the application normally with your privileged account
- Auth Analyzer automatically tests each request with the victim session
- Review results in real-time
- Capture requests normally (browse the app)
- Open Auth Analyzer Settings
- Scroll to "Bulk Replay" section
- Enter target domains (comma-separated, optional)
- Click "Run Bulk Replay"
- All matching requests are tested against the victim session
- 🔴 SAME: Response identical to original → Potential Authorization Bypass!
- Same status code (e.g., 200 OK)
- Same response body (after normalization)
- Action: Investigate immediately - likely unauthorized access
- 🟡 SIMILAR: Response very similar (90-98%) → Warning
- Same status code
- Slight content differences (may be timestamps, dynamic IDs)
- Action: Manual review recommended
- 🟢 DIFFERENT: Response differs → Properly Secured
- Different status code (e.g., 403 vs 200) OR
- Significantly different body content
- Action: Authorization working correctly
- Clear Cookie Headers: The tool automatically removes existing cookie headers before swapping to avoid conflicts
- Static Files: Use the "Filter Static Files" checkbox in Auth Analyzer Config OR the global toggle in the "More Menu" to ignore static resources
- Scope: Use realtime scope filtering to focus on specific API endpoints or subdomains
- Export Results: Results are stored per session - you can export via Storage API
- Optional:
webRequest+<all_urls>only when you enable multi-tab capture. - Data: Stored locally; no tracking/analytics.
- AI: Your API keys stay local; request/response content is sent only to the provider you choose (Claude/Gemini) when you invoke AI features.
rep+ runs inside Firefox DevTools, so:
- No raw HTTP/1 or malformed requests (fetch() limitation)
- Some headers can’t be overridden (browser sandbox)
- No raw TCP sockets (no smuggling/pipelining tests)
- DevTools panel constraints limit certain UI setups
rep+ is best for quick testing, replaying, and experimenting — not full low-level HTTP work.
If you encounter any bugs, unexpected behavior, or have feature requests, please help me improve rep+ by opening an issue here.
I’ll do my best to address it as quickly as possible! 🙏
I maintain rep+ alone, in my free time.
Sponsorship helps me keep improving the extension, adding new features, and responding to issues quickly.
If rep+ saved you time during testing, development, or bug bounty work, please consider supporting the project.
Every dollar helps. ❤️