AI-powered Burp Suite extension for OWASP-focused vulnerability detection, AI-assisted verification, and optional OOB/Intruder workflows.
- Version:
1.3.0 - Runtime:
Python 2.7 - Architecture: single file (
Code-AIxBurp.py)
- What It Does
- Key Features
- Requirements
- Installation
- Quick Start
- Configuration
- AI Providers
- How Scanning Works
- Verification, OOB, and Intruder
- UI Overview
- Troubleshooting
- Limitations and Notes
- Developer Notes
- Changelog
- License
Code-AIxBurp passively inspects in-scope HTTP traffic, sends request/response context to an AI provider, parses structured JSON findings, and creates Burp scan issues with:
- severity
- confidence
- CWE mapping
- OWASP mapping
- remediation text
It also includes optional verification helpers:
- AI-generated safe payload verification
- WAF fingerprinting/evasion payload variants
- Burp Collaborator OOB probes
- Intruder payload automation
- Multi-provider AI support:
- Ollama
- OpenAI
- Claude (Anthropic)
- Gemini
- OpenAI-compatible APIs (OpenRouter, Together, Groq, LM Studio, etc.)
- Passive scanning pipeline with:
- scope checks
- static-file skipping
- deduplication
- rate limiting
- Burp issue creation from AI JSON output
- Findings panel with verification state tracking (
Pending,Verifying...,Confirmed,False Positive,Uncertain,Error) - Verification engine:
- AI payload generation
- response analysis
- heuristic fallback logic
- configurable retry attempts
- WAF-aware behavior:
- signature-based WAF detection
- optional payload transformation/evasion variants
- OOB support via Burp Collaborator when available
- Intruder integration:
- context-menu send to Intruder
- custom payload generator factory
- Persistent settings in
~/.code_aixburp_config.json - Built-in diagnostics for stuck or queued tasks
- Burp Suite with Extender support
- Python extension support enabled in Burp
- Network access to your selected AI provider
Optional/feature-specific:
- Burp Collaborator support for OOB features
- Burp Intruder for automated fuzzing workflows
- Download or copy
Code-AIxBurp.py. - Load the extension:
Extender -> Extensions -> Add- Extension type:
Python - Select
Code-AIxBurp.py
- Open the
Code-AIxBurptab in Burp. - Click
Settingsand configure provider/model/keys.
- Add your target to Burp scope.
- Ensure
Passive Scanningis enabled in Settings. - Browse the target through Burp Proxy.
- Watch
Active Tasks,Findings, andConsolein the extension tab. - Use
Verify Selectedon findings you want to validate.
Manual actions are available via right-click context menu in request/history views.
Settings are saved to:
~/.code_aixburp_config.json
| Setting | Default | Notes |
|---|---|---|
ai_provider |
Ollama |
Provider selector in Settings |
api_url |
http://localhost:11434 |
Base URL for provider |
api_key |
empty | Required for most cloud providers |
model |
deepseek-r1:latest |
AI model name |
max_tokens |
2048 |
Request output token cap |
ai_request_timeout |
60 |
Seconds; range 10-99999 |
passive_scanning_enabled |
true |
Auto-scan proxy/scanner passive traffic |
auto_verify_findings |
false |
Auto-verify findings when discovered |
enable_waf_detection |
true |
WAF fingerprinting |
enable_waf_evasion |
true |
Evasion payload transforms |
enable_advanced_payloads |
true |
Payload libraries per vuln family |
enable_oob_testing |
true |
Burp Collaborator probes |
enable_intruder_automation |
true |
Intruder payload generator + menu action |
max_verification_attempts |
4 |
Verification candidate attempts (1-10) |
oob_poll_seconds |
18 |
Poll window for collaborator interactions (6-120) |
theme |
Light |
Console theme (Light/Dark) |
verbose |
true |
Extra output in Burp Output/Console |
{
"ai_provider": "OpenAI Compatible",
"api_url": "https://openrouter.ai/api/v1",
"api_key": "sk-...",
"model": "anthropic/claude-3.7-sonnet",
"max_tokens": 2048,
"ai_request_timeout": 90,
"passive_scanning_enabled": true,
"auto_verify_findings": false,
"enable_waf_detection": true,
"enable_waf_evasion": true,
"enable_advanced_payloads": true,
"enable_oob_testing": true,
"enable_intruder_automation": true,
"max_verification_attempts": 4,
"oob_poll_seconds": 18,
"theme": "Light",
"verbose": true
}- Ollama:
http://localhost:11434 - OpenAI:
https://api.openai.com/v1 - Claude:
https://api.anthropic.com/v1 - Gemini:
https://generativelanguage.googleapis.com/v1 - OpenAI Compatible: any API implementing OpenAI-style
/chat/completions
- Set provider to
OpenAI Compatible. - Set base URL (for example
https://openrouter.ai/api/v1). - Enter API key.
- Enter model name manually if model listing is unsupported.
- A response is observed in Proxy/passive scanner path.
- URL is validated:
- must be in Burp scope
- must not match static extensions
- Request is queued with rate limit (
min_delay = 4s). - Request/response features are extracted (headers/body/params/status).
- AI is prompted to return JSON-only findings.
- JSON is parsed with repair fallbacks for malformed responses.
- Findings are deduplicated and confidence-filtered.
- Burp issues are created and shown in Findings table.
< 50: dropped50-74:Tentative75-89:Firm90+:Certain
js, gif, jpg, png, ico, css, woff, woff2, ttf, svg
When auto_verify_findings is enabled:
- Every finding discovered during passive scanning is automatically queued for verification
- Verification runs in a background thread (non-blocking)
- Findings are verified one-by-one with a small delay between each
- Status is updated in the Findings table as verification completes
- Confirmed findings automatically create
[VERIFIED]Burp issues
To enable: Settings → Advanced → Auto Verify Findings → Check "Automatically verify findings when discovered (passive)"
For a selected finding:
- Build a vulnerability-family-aware verification prompt.
- Ask AI for a safe JSON payload plan.
- Inject payload into parameter/header.
- Replay request and analyze response.
- Optionally run OOB collaborator probe for relevant families.
- Update finding status and evidence.
- When status is
Confirmed, auto-create a new Burp issue prefixed with[VERIFIED]including verification evidence and acurlPoC.
sqlixsscommand_injectionpath_traversalssrfsstigeneric
- Detection via headers/body signatures and block-page heuristics
- Stores per-host WAF profile
- Optional payload transforms (encoding/case/comment obfuscation/context variants)
Uses Burp Collaborator client context to:
- generate collaborator payloads
- inject and replay requests
- poll interactions for a configurable duration
If Collaborator is unavailable, extension logs and continues without OOB confirmation.
- Context action:
Automated Fuzzing: Send to Intruder (Advanced Payloads) - Payload generator name:
Code-AIxBurp - Advanced Payload Library - Auto-derives insertion points from request parameters when possible
Main Code-AIxBurp tab includes:
StatisticspanelActive TaskstableFindingstableConsolepanel
Controls:
SettingsClear CompletedCancel All TasksPause All Tasks(toggle pause/resume)Project Updates
Findings right-click actions:
- Verify finding
- Verify all pending
- Run OOB probe for selected finding
- Send finding request to Intruder
- Mark as false positive/confirmed
- Verify base URL, API key, and model.
- Increase timeout in Settings.
- For Ollama, confirm local daemon is running and model exists.
- Ensure target is in Burp scope.
- Confirm passive scanning is enabled.
- Check static resource filtering (file extension may be skipped).
- Check confidence threshold behavior (
<50is discarded).
- Extension attempts automatic JSON repair.
- If still failing, switch to a model that follows strict JSON better.
- Reduce model temperature (verification uses low temperature already).
- Use
Run Task Diagnosticsin Settings. - Use
Cancel All Tasksto clear queue. - Increase request timeout for slower models.
- Confirm Burp Collaborator is available in your Burp edition/environment.
- Increase
OOB Poll Time. - Verify target egress/network policies allow outbound callbacks.
- Ensure
Intruder Automationis enabled. - Re-open Settings and save to force factory re-sync.
doActiveScan()returns empty; this extension does not use Burp active scanner insertion-point logic.- AI output quality directly affects detection quality.
- Verification is designed for safe, non-destructive checks but still sends modified requests.
- Use only on systems you are authorized to test.
- Core file:
Code-AIxBurp.py - Important methods:
registerExtenderCallbacks()_perform_analysis()build_prompt()ask_ai()and provider adaptersverify_finding()_detect_waf_profile()_run_oob_probe_for_message()
- Threading:
- background worker threads for scan/verification/actions
- semaphore + delay for request pacing
- Swing UI updates via
invokeLater
- Logging:
- set
VERBOSEin settings for detailed output
- set
v1.3.0(2026-03-14): Auto-verification feature - automatically verify findings when discoveredv1.2.0(2026-03-10): WAF detection/evasion, advanced payload libraries, OOB collaborator testing, Intruder automationv1.1.1(2025-02-04): moved network calls off EDT to prevent UI freezev1.1.0(2025-02-04): Linux UI responsiveness improvementsv1.0.9(2025-01-31): static-file skipping, passive scan togglev1.0.0(2025-01-31): initial stable release
MIT License