
HopLa Burp Suite Extenderプラグイン - AI機能、オートコンプリートサポート、そして便利なペイロード一式をBurp Suiteにもたらします。
💥 PayloadsAllTheThings のすべてのパワーを、オーバーヘッドなしで。
この拡張機能は、インテリジェントなオートコンプリートと組み込みペイロードによって Burp Suite を強化し、侵入テストを簡素化します。 Ollama、OpenAI、Gemini などの AI プロバイダーとの統合をサポートし、チャットやコンテンツの生成/変換などの高度な機能を提供します。 独自のペイロードを追加して、ニーズに合わせてカスタマイズすることもできます!
開発者: Alexis Danizan
Synacktiv 🥷 によりオープンソースとして公開
機能:

デフォルトでは、HopLa には組み込みのペイロードセットが付属しています。トップメニューから独自のカスタム YAML ファイルを読み込むことで拡張できます。 (参考として デフォルトのペイロードファイル を参照してください。)
AI プロバイダーは、YAML 設定をインポートすることで構成できます (AI プロバイダーの設定 を参照)
デフォルトでいくつかのキーボードショートカットが事前定義されており、設定ファイルを通じてカスタマイズできます。
Ctrl+Q - ペイロードライブラリメニューを開くCtrl+J - AI チャットを起動Ctrl+Alt+O - クイックアクションメニューを開くCtrl+L - 検索と置換メニューを開くCtrl+M - Burp Collaboratorペイロードを挿入Ctrl+Alt+J - カスタムキーワードマネージャーを開くi3 を使用している場合、フレームのフローティングモードを有効にするには、$HOME/.config/i3/config に次の行を追加します:
for_window [class=".*burp-StartBurp.*" title="^ $"] floating enable
HopLa は複数の AI プロバイダー (OpenAI、Gemini、Ollama) をサポートしていますが、AI 搭載のオートコンプリートは Ollama でのみ利用できます。
| 機能 | Ollama | Gemini | OpenAI |
|---|---|---|---|
| チャット | ✅ はい | ✅ はい | ✅ はい |
| オートコンプリート | ✅ はい | ❌ いいえ | ❌ いいえ |
| クイックアクション | ✅ はい | ✅ はい | ✅ はい |
AI 用の YAML 設定ファイルの構造は次のとおりです (サンプルファイルは 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.
BApp Store 版の拡張機能では、Burp プロバイダーのみがサポートされています。
ペイロードの YAML ファイルは次の構造に従います (ネスト制限はありません):
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"
メニューに表示されないオートコンプリートキーワードのみを追加するには、keywords カテゴリに追加できます:
keywords:
- name: "Headers"
values:
- "Accept"
- "Accept-Charset"
他のプロバイダーを有効にするには、build.gradle で def externalAIEnabled = true を設定します。
Docker または 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
gradle build を実行すると、releases/HopLa.jar にプラグインが用意されます。
アンチウイルス警告を引き起こさないように、YAML ペイロードファイルはビルド時に暗号化されます。
素晴らしい作品をありがとうございます!
BSD 3-Clause ライセンスの下で公開されています。詳細については LICENSE を参照してください。
バグの報告、機能の提案、プルリクエストをいつでもお気軽にどうぞ。