
HopLa Burp Suite Extender plugin - Aporta capacidades de IA, soporte de autocompletado y un conjunto de payloads útiles a Burp Suite
💥 Todo el poder de PayloadsAllTheThings, sin la sobrecarga.
Esta extensión mejora Burp Suite con autocompletado inteligente y payloads integrados para simplificar las pruebas de intrusión. Admite integración con proveedores de IA como Ollama, OpenAI y Gemini para ofrecer funciones avanzadas como chat y generación/transformación de contenido. ¡También puedes añadir tus propios payloads para adaptarlo a tus necesidades!
Desarrollado por Alexis Danizan
Publicado como código abierto por Synacktiv 🥷
Características:

Por defecto, HopLa incluye un conjunto integrado de payloads. Puedes ampliarlos cargando tu propio archivo YAML personalizado a través del menú superior. (Consulta el archivo de payloads por defecto como referencia.)
Los proveedores de IA se pueden configurar importando tu configuración YAML (consulta Configurar proveedores de IA)
Hay varios atajos de teclado predefinidos por defecto que se pueden personalizar mediante archivos de configuración.
Ctrl+Q - Abre el menú Payload LibraryCtrl+J - Lanza el AI ChatCtrl+Alt+O - Abre el menú Quick ActionsCtrl+L - Abre el menú Search & ReplaceCtrl+M - Inserta un payload de Burp CollaboratorCtrl+Alt+J - Abre el Custom Keywords ManagerSi estás usando i3, añade la siguiente línea a tu $HOME/.config/i3/config para habilitar el modo flotante para el marco:
for_window [class=".*burp-StartBurp.*" title="^ $"] floating enable
HopLa admite múltiples proveedores de IA (OpenAI, Gemini, Ollama), pero el autocompletado impulsado por IA solo está disponible con Ollama.
El archivo de configuración YAML para IA se estructura de la siguiente manera (puedes exportar un archivo de ejemplo desde el menú de HopLa):
shortcut_ai_chat: Ctrl+J
shortcut_quick_action: Ctrl+Alt+O
#autocompletion_min_chars: 1 # Minimum input length for AI-powered autocompletion (default: 1)
providers:
OPENAI:
enabled: true
chat_model: gpt-4.1
chat_endpoint: https://api.openai.com/v1/chat/completions
#chat_model_system_prompt: REPLACE_ME
quick_action_model: gpt-4.1
#quick_action_system_prompt: REPLACE_ME
quick_action_endpoint: https://api.openai.com/v1/chat/completions
headers:
Authorization: "Bearer REPLACE_ME"
proxy:
enabled: true
host: 127.0.0.1
port: 5555
username: user123
password: pass123
type: SOCKS # SOCKS or HTTP
GEMINI:
enabled: true
chat_model: gemini-2.0-flash
chat_endpoint: https://generativelanguage.googleapis.com/v1beta/models/@model:streamGenerateContent?alt=sse&key=@key #HopLa replace @key with api_key value
#chat_model_system_prompt: REPLACE_ME
quick_action_endpoint: https://generativelanguage.googleapis.com/v1beta/models/@model:streamGenerateContent?alt=sse&key=@key #HopLa replace @key with api_key value
#quick_action_system_prompt: REPLACE_ME
api_key: REPLACE_ME
proxy:
enabled: true
host: 127.0.0.1
port: 5555
username: user123
password: pass123
type: SOCKS # SOCKS or HTTP
OLLAMA:
enabled: true
completion_model: qwen2.5-coder:3b
completion_endpoint: http://localhost:11434/api/generate
#completion_model_system_prompt: REPLACE_ME
completion_prompt: "<|fim_prefix|>@before<|fim_suffix|>@after<|fim_middle|>" # @input, @section, @before, @after
completion_params:
seed: 42
temperature: 0.0
top_p: 1.0
top_k: 0
num_predict: 15
completion_stops:
- "\n"
- "<|fim_middle|>"
chat_model: qwen2.5-coder:3b
#chat_system_prompt: REPLACE_ME
chat_endpoint: http://localhost:11434/api/chat
#chat_stops:
# - "\n"
#chat_params:
# temperature: 0.0
quick_action_model: qwen2.5-coder:7b
quick_action_endpoint: http://localhost:11434/api/generate
#quick_action_system_prompt: REPLACE_ME
#quick_action_stops:
# - "\n"
#quick_action_params:
# temperature: 0.0
BURP:
enabled: true
#chat_system_prompt: REPLACE_ME
chat_params:
temperature: 0.0
#quick_action_system_prompt: REPLACE_ME
quick_action_params:
temperature: 0.0
defaults:
chat_provider: OLLAMA # OLLAMA, OPENAI, GEMINI, BURP
completion_provider: OLLAMA # OLLAMA, OPENAI, GEMINI, BURP
quick_action_provider: OLLAMA # OLLAMA, OPENAI, GEMINI, BURP
timeout_sec: 60
prompts:
- name: technologies
description: "Fingerprint web technologies"
content: |
Analyze the following HTTP response and identify the web technologies used.
List your reasoning for each technology detected.
quick_actions:
- name: multipart
description: "Transform request to multipart"
content: |
Transform the following HTTP POST request into a multipart/form-data request:
- name: json
description: "Transform request to json"
content: |
Transform the following HTTP POST request into a JSON request:
- name: headers_name
description: "Extract HTTP header names"
content: |
From the HTTP request below, extract only the unique header names. List each name on a separate line. Do not include header values.
Para la versión de la extensión de BApp Store, solo se admite el proveedor Burp.
El archivo YAML de payloads sigue la siguiente estructura (no hay límite de anidamiento):
shortcut_search_and_replace: Ctrl+L
shortcut_payload_menu: Ctrl+Q
shortcut_collaborator: Ctrl+M
shortcut_add_custom_keyword: Ctrl+Alt+J
categories:
- name: "XSS"
payloads:
- name: "Fingerprint"
value: "\"><h1>"
shortcut: Ctrl+k # Use this shortcut to insert a payload
- name: "Path Traversal"
categories:
- name: "Simple"
payloads:
- name: ""
value: "../"
- name: "Simple 2"
payloads:
- name: ""
value: "../"
keywords:
- name: "Headers"
values:
- "Accept"
- "Accept-Charset"
Para añadir solo palabras clave de autocompletado que no aparecen en el menú, puedes agregarlas en la categoría keywords:
keywords:
- name: "Headers"
values:
- "Accept"
- "Accept-Charset"
Para habilitar otros proveedores, establece def externalAIEnabled = true en build.gradle.
Compila usando Docker o Podman:
$ podman build -t hopla .
$ podman run --rm -v "$PWD":/data hopla gradle build
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileJava
> Task :encryptResource
Encrypting /data/src/main/resources/default-payloads.yaml to /data/build/encryptedResources/default-payloads.enc.yaml
> Task :processResources
> Task :classes
> Task :jar
> Task :assemble
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test NO-SOURCE
> Task :check UP-TO-DATE
> Task :build
BUILD SUCCESSFUL in 11s
4 actionable tasks: 4 executed
$ ls releases
HopLa.jar
Ejecuta gradle build y tendrás el plugin listo en releases/HopLa.jar.
Para evitar activar alertas de antivirus, el archivo YAML de payloads se cifra en tiempo de compilación.
¡Muchas gracias por tu increíble trabajo!
Publicado bajo la Licencia BSD de 3 cláusulas; consulta LICENSE para más información.
No dudes en reportar errores, sugerir funciones o enviar pull requests.
| Características | Ollama | Gemini | OpenAI |
|---|
| Chat | ✅ Sí | ✅ Sí | ✅ Sí |
| Autocompletado | ✅ Sí | ❌ No | ❌ No |
| Acción rápida | ✅ Sí | ✅ Sí | ✅ Sí |