ghost-proxy skill
CLIベースの中間者(MITM)プロキシを使用して、セキュリティテスト用にHTTP/HTTPSトラフィックのキャプチャ、検査、検索、およびリプレイを行います。
- GitHubスター
- 441
- ファイル
- 1
- 最終コミット
- 2026年9月28日
- ライセンス
- apache-2.0
- 許可されたツール
- —
ghost-proxy skillは何をしますか
ghost-proxyはAgent Skillsです。 CLIベースの中間者(MITM)プロキシを使用して、セキュリティテスト用にHTTP/HTTPSトラフィックのキャプチャ、検査、検索、およびリプレイを行います。.
skillのSKILL.mdから生成された要約。
ghost-proxy skill について
セキュリティ研究者や開発者は、このツールを使用して reaper MITM プロキシを管理することで、Webトラフィックをインターセプトして分析できます。これは、クライアントとサーバー間の HTTP および HTTPS 通信をキャプチャするためのコマンドラインインターフェースとして機能し、アプリケーションのセキュリティテストに最適です。エージェントがプロキシの起動、リクエストのインターセプト、またはセキュリティ調査の検証のためのキャプチャ済みトラフィックの検査をタスクとして受けた場合、この SKILL をロードする必要があります。
この SKILL は、関連するトラフィックのみをログに記録するために、ドメインやホストのスコープを指定してプロキシを起動するなど、プロキシデーモンを制御するための特定のコマンドを提供します。ユーザーは、HTTPメソッド、パス、ステータスコード、ホストなどのフィルターを使用して、キャプチャされたエントリを検索できます。トラフィックがキャプチャされると、reaper get、reaper req、または reaper res などのコマンドを通じて、ヘッダーやボディを含む完全な生の HTTP エントリを検査できます。キャプチャされたすべてのデータは、後で分析できるようにローカルの SQLite データベースに保存されます。
エージェントができること
- 1特定のドメインのトラフィックをインターセプトする特定のドメインとそのサブドメインへのリクエストのみをキャプチャするプロキシを開始します。
- 2特定のHTTPリクエストを検索するキャプチャされたログの中から、特定の API パスに送信されたすべての POST リクエストを見つけます。
- 3最近のネットワークアクティビティを監視する最近キャプチャされたリクエストとレスポンスのエントリの一覧を表示します。
skill の SKILL.md から作成されています。すべてのユースケースは、その引用と照合されています。
ghost-proxy skillのインストール方法
各コマンドはskillフォルダをクライアントのskillsディレクトリにコピーします。読み込むには、クライアントを再起動するか新しいセッションを開始してください。プラグインにghost-proxy skillをインストールする
/plugin marketplace add ghostsecurity/skills /plugin install ghost@ghost-security
Claude Codeにghost-proxy skillをインストールする
~/.claude/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.claude/skills/ghost-proxyClaude Code (project)にghost-proxy skillをインストールする
.claude/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy .claude/skills/ghost-proxyCodexにghost-proxy skillをインストールする
~/.agents/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.agents/skills/ghost-proxyGemini CLIにghost-proxy skillをインストールする
~/.gemini/skills/ghost-proxy/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.gemini/skills/ghost-proxyClaude.aiにghost-proxy skillをインストールする
npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ghost-proxy && zip -r ghost-proxy.zip ghost-proxy # claude.ai → Customize → Skills → + → Create skill → Upload a skill → ghost-proxy.zip
SKILL.md
GitHubで表示Reaper MITM Proxy
Reaper is a CLI-based MITM HTTPS proxy for application security testing. It intercepts, logs, and allows inspection of HTTP/HTTPS traffic flowing through it. Use it to capture live request/response pairs for security validation.
Prerequisites
Before using any reaper command, make sure the latest version of the binary is installed:
curl -sfL https://raw.githubusercontent.com/ghostsecurity/reaper/main/scripts/install.sh | bash
All reaper commands in this document should be invoked as ~/.ghost/bin/reaper unless ~/.ghost/bin is on PATH.
Quick Reference
| Command | Purpose |
|---|---|
reaper start --domains example.com |
Start proxy (foreground) |
reaper start --domains example.com -d |
Start proxy (daemon) |
reaper logs |
Show recent captured entries |
reaper search --method POST --path /api/* |
Search captured traffic |
reaper get <id> |
Show full request + response |
reaper req <id> |
Show raw HTTP request only |
reaper res <id> |
Show raw HTTP response only |
reaper stop |
Stop the daemon |
Starting the Proxy
Start reaper scoped to the target domain(s). At least one --domains or --hosts flag is required.
# Intercept all traffic to example.com and its subdomains
reaper start --domains example.com
# Multiple domains
reaper start --domains example.com,api.internal.co
# Exact hostname matching
reaper start --hosts api.example.com
# Both domain suffix and exact host matching
reaper start --domains example.com --hosts special.internal.co
# Custom port (default: 8443)
reaper start --domains example.com --port 9090
# Run as background daemon
reaper start --domains example.com -d
Scope behavior:
--domains: Suffix match.example.commatchesexample.com,api.example.com,sub.api.example.com--hosts: Exact match.api.example.commatches onlyapi.example.com- Traffic outside scope passes through transparently without logging
Routing Traffic Through the Proxy
Configure the HTTP client to use the proxy. The default listen address is localhost:8443.
# curl
curl -x http://localhost:8443 -k https://api.example.com/endpoint
# Environment variables (works with many tools)
export http_proxy=http://localhost:8443
export https_proxy=http://localhost:8443
# Python requests
import requests
requests.get("https://api.example.com/endpoint",
proxies={"http": "http://localhost:8443", "https": "http://localhost:8443"},
verify=False)
The -k / verify=False flag is needed because reaper generates its own CA certificate at startup for MITM TLS interception.
Viewing Captured Traffic
Recent Entries
# Show last 50 entries (default)
reaper logs
# Show last 200 entries
reaper logs -n 200
Output columns: ID, METHOD, HOST, PATH, STATUS, MS, REQ (request body size), RES (response body size).
Searching
# By HTTP method
reaper search --method POST
# By host (supports * wildcard)
reaper search --host *.api.example.com
# By domain suffix
reaper search --domains example.com
# By path prefix (supports * wildcard)
reaper search --path /api/v3/transfer
# By status code
reaper search --status 200
# Combined filters
reaper search --method POST --path /api/v3/* --status 200 -n 50
Inspecting Individual Entries
# Full request and response (raw HTTP)
reaper get 42
# Request only
reaper req 42
# Response only
reaper res 42
Output is raw HTTP/1.1 format including headers and body, suitable for analysis or replay.
Stopping the Proxy
reaper stop
Common Workflows
Validate a Security Finding
When used with the validate skill (may need to collaborate with the user to setup the test environment):
- Start reaper scoped to the application domain
- Verify traffic is being captured by running
reaper logs— at least one entry should appear after routing a test request through the proxy - If no entries appear, verify proxy settings and domain scope match the target
- Authenticate (or ask the user to authenticate) as a normal user and exercise the vulnerable endpoint legitimately
- Search for the captured request to understand the expected request format
- Craft and send a malicious request that exercises the exploit described in the finding
- Inspect the response to determine if the exploit succeeded
- Use
reaper get <id>to capture the full request/response as evidence
Data Storage
All data is stored in ~/.ghost/reaper/:
reaper.db- SQLite database with captured entriesreaper.sock- Unix socket for CLI-to-daemon IPCreaper.pid- Daemon process ID
The CA certificate is generated fresh in memory on each start and is not persisted.
このスキルのファイル
1ghost-proxy skillに関する質問
Claude Codeにghost-proxy skillをインストールするには
npx degit ghostsecurity/skills/plugins/ghost/skills/proxy ~/.claude/skills/ghost-proxyを実行してください。Claude Codeは~/.claude/skills(すべてのプロジェクト)または.claude/skills(単一プロジェクト)からskillsを読み込み、説明がタスクに一致する場合にskillを使用します。
ghost-proxy skillはどのクライアントで使用できますか
Agent Skills形式を読み込むすべてのクライアントで使用できます: Claude Code、Codex、Gemini CLI、claude.ai(ZIPとしてアップロード)。skill内のスクリプトは、クライアントがコード実行を許可した場合にのみ実行されます。
特定のドメインに対してプロキシを開始するにはどうすればよいですか?
reaper start --domains example.com コマンドを使用することで、ドメインを限定してプロキシを開始できます。
キャプチャした特定のトラフィックを検索するにはどうすればよいですか?
reaper search コマンドを使用して、メソッド、ホスト、ドメインサフィックス、パス、ステータスコードなどの様々なフィルターでトラフィックを検索できます。
キャプチャされたトラフィックデータはどこに保存されますか?
すべてのデータは ~/.ghost/reaper/ ディレクトリ内の reaper.db という名前のSQLiteデータベースに保存されます。
プロキシを使用するためにクライアントの設定を変更する必要がありますか?
はい、HTTPクライアントのプロキシアドレスを(デフォルトの localhost:8443 に)設定する必要があります。また、プロキシが独自のCA証明書を使用するため、SSL検証を無効にする必要がある場合があります。