| name | deepseek-pentest-ai-burp-extension |
| description | AI-powered Burp Suite extension for automated payload generation and vulnerability testing using DeepSeek API |
| triggers | ["help me test web vulnerabilities with deepseek pentest ai","how do i use the deepseek burp suite extension","generate ai payloads for sql injection testing","automate fuzzing with deepseek pentest ai","analyze web app parameters with burp ai extension","export vulnerability findings from deepseek pentest","send custom prompts to deepseek for payload generation","configure deepseek api key in burp suite"] |
DeepSeek Pentest AI Burp Extension
Skill by ara.so — Security Skills collection.
DeepSeek Pentest AI is a Burp Suite extension that combines generative AI with intelligent fuzzing to automate payload generation and vulnerability testing. It uses the DeepSeek API to generate context-aware attack payloads for SQL injection, XSS, command injection, path traversal, SSRF, RCE, SSTI, XXE, and more.
What It Does
- AI-Powered Payload Generation: Creates advanced attack payloads using DeepSeek's language model
- Automatic Parameter Detection: Identifies parameters in GET, POST, JSON, XML, multipart, and custom headers
- Smart Fuzzing: Injects payloads, compares against baselines, scores severity and confidence
- Real-Time Metrics: Visualizes vulnerability types with integrated charts
- Privacy-First: Redacts hostnames and sanitizes sensitive data before sending to AI
- Export Results: CSV export with full request/response history and evidence
- Burp Integration: Send findings directly to Repeater and Intruder
Installation
Prerequisites
Setup Steps
- Clone the repository:
git clone https://github.com/HernanRodriguez1/DeepSeek-Pentest-AI.git
cd DeepSeek-Pentest-AI
-
Configure Jython in Burp Suite:
- Go to Extender → Options
- Under Python Environment, set the location of
jython-standalone.jar
-
Load the extension:
- Go to Extender → Extensions → Add
- Extension type: Python
- Extension file: Select the
.py file from the cloned repository
- Check the Output tab for "Plugin initialized" message
-
Configure API Key:
- Navigate to the DeepSeek Pentest AI tab in Burp
- Enter your DeepSeek API key (store in environment variable for security)
Core Workflow
1. Capture a Request
Intercept a request in Burp Proxy or send one from Repeater to the extension.
2. Analyze & Generate Payloads
In the UI:
- Select Attack Type (SQLi, XSS, Command Injection, etc.) or CUSTOM PROMPT
- Set Number of Payloads (default: 10)
- Set Delay between requests (milliseconds)
- Click Analyze & Generate
3. Start Fuzzing
Click Start Pentesting to inject payloads into detected parameters and analyze responses.
Attack Types
The extension supports predefined attack strategies:
attack_types = [
"SQL Injection",
"XSS (Cross-Site Scripting)",
"Command Injection",
"Path Traversal",
"LFI (Local File Inclusion)",
"SSRF (Server-Side Request Forgery)",
"RCE (Remote Code Execution)",
"SSTI (Server-Side Template Injection)",
"XXE (XML External Entity)",
"NoSQL Injection",
"GraphQL Injection",
"Open Redirect",
"CRLF Injection",
"CORS Misconfiguration",
"Host Header Injection",
"CUSTOM PROMPT"
]
Custom Prompt Usage
For specialized payload generation:
custom_prompt = "Give me payloads SQLi boolean bypass WAF"
custom_prompt = "Generate SSTI payloads for Jinja2 templates"
custom_prompt = "Create XSS payloads that also attempt DOM clobbering"
Result: The AI generates targeted payloads matching your exact requirements instead of generic patterns.
Configuration
API Key Management
Store your API key securely:
export DEEPSEEK_API_KEY="your_api_key_here"
set DEEPSEEK_API_KEY=your_api_key_here
Reference in code (if extending):
import os
api_key = os.getenv('DEEPSEEK_API_KEY')
Payload Generation Settings
num_payloads = 10
delay_ms = 100
confidence_threshold = 0.7
severity_levels = ["Low", "Medium", "High", "Critical"]
Code Examples
Example 1: Analyzing Generated Payloads
payloads = [
"' OR '1'='1",
"' OR '1'='1'--",
"admin' --",
"' OR 1=1--",
"' UNION SELECT NULL--",
"1' AND '1'='1",
"' OR 'a'='a",
"1' ORDER BY 1--",
"' OR ''='",
"1' UNION SELECT username, password FROM users--"
]
Example 2: Parameter Detection Logic
GET /search?q=test&category=all HTTP/1.1
POST /api/login HTTP/1.1
Content-Type: application/json
{"username": "admin", "password": "pass"}
POST /api/user HTTP/1.1
Content-Type: application/xml
<user><id>123</id><role>admin</role></user>
GET / HTTP/1.1
X-Forwarded-For: 127.0.0.1
User-Agent: Mozilla/5.0
Example 3: Heuristic Scoring
def score_response(baseline, test_response, payload):
"""
Compares test response against baseline to detect anomalies
"""
score = 0.0
evidence = []
sql_errors = ["SQL syntax", "mysql_fetch", "ORA-", "PostgreSQL", "sqlite3"]
for error in sql_errors:
if error.lower() in test_response.lower():
score += 0.3
evidence.append(f"SQL error detected: {error}")
if payload in test_response and "<script>" in payload:
score += 0.4
evidence.append("XSS payload reflected in response")
if test_response.status_code != baseline.status_code:
score += 0.1
evidence.append(f"Status code changed: {baseline.status_code} -> {test_response.status_code}")
if abs(len(test_response.body) - len(baseline.body)) > 500:
score += 0.2
evidence.append("Significant response length difference")
return min(score, ), evidence
Example 4: Exporting Results
Common Patterns
Pattern 1: Testing a Login Form
- Capture POST request to
/login
- Extension detects
username and password parameters
- Select SQL Injection attack type
- Generate 15 payloads
- Start fuzzing with 200ms delay
- Review results for authentication bypass evidence
Pattern 2: Custom WAF Bypass
- Capture request blocked by WAF
- Select CUSTOM PROMPT
- Enter: "Generate SQLi payloads using URL encoding and inline comments to bypass ModSecurity"
- Generate payloads
- Test manually in Repeater or auto-fuzz
Pattern 3: API Testing
- Capture JSON API request
- Extension auto-detects JSON parameters
- Select NoSQL Injection or GraphQL Injection
- Review AI-generated payloads for API-specific attacks
- Export findings with evidence
Troubleshooting
Extension Not Loading
API Key Errors
curl https://api.deepseek.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "test"}]
}'
No Payloads Generated
False Positives
Performance Issues
Best Practices
- Always test on authorized targets only — Never use against systems without explicit permission
- Start with baseline testing — Let the extension capture a clean baseline response
- Review AI-generated payloads — Not all payloads may be relevant to your target
- Use custom prompts for specific scenarios — Generic attack types may miss edge cases
- Verify findings manually — AI scoring is heuristic, confirm vulnerabilities in Repeater
- Export results regularly — Prevents data loss and helps with reporting
- Monitor API usage — DeepSeek API has rate limits and costs
- Sanitize exports — Redact sensitive data before sharing CSV reports
Integration with Burp Tools
Send to Repeater
Right-click any request in Pentest Live tab → Send to Repeater for manual testing
Send to Intruder
Right-click any request → Send to Intruder → Use AI-generated payloads as position values
Scan Results
Cross-reference findings with Burp Scanner (Pro only) for comprehensive coverage
Environment Variables
export DEEPSEEK_API_KEY="sk-..."
export BURP_PENTEST_DELAY=200
export BURP_PENTEST_PAYLOADS=10
export BURP_PENTEST_LOG_LEVEL=INFO
Further Resources