
高速なWordPressプラグイン列挙ツール
"なぜ盲目的にスキャンするのか?WordPressは自らを晒しているのに"
高速なWordPressプラグイン・テーマスキャナーです。REST API列挙によるインストール済みプラグインの検出と、HTMLからのテーマ検出を行い、既知の脆弱性にマッピングします。ブルートフォースなしで5000以上のプラグインを検出でき、ブルートフォースを使用すればさらに数千のプラグインを検出できます。
2026年3月9日以降、Wordfenceはv2 APIを廃止しました。v0.10.16より前のすべてのWPProbeバージョンでは、update-db機能が壊れています。WPProbeを更新する必要があります。
デフォルトでは、wpprobe update-dbはこのリポジトリから事前構築されたデータベースを取得します(CIにより2時間ごとに更新)。そのためAPIキーは不要です。Wordfenceから直接取得したい場合は、オプションで無料のAPIキーを設定できます:
--api-keyフラグで設定しますgo install github.com/Chocapikk/wpprobe@latest
wpprobe update-db
wpprobe scan -u https://example.com
wpprobe scan -u https://example.com --mode stealthy
wpprobe scan -u https://example.com --mode bruteforce
wpprobe scan -u https://example.com --mode hybrid
# Kali Linux(kali-rollingに含まれています)
sudo apt install wpprobe
# Go(1.22+が必要)
go install github.com/Chocapikk/wpprobe@latest
# Nix
nix-shell -p wpprobe
# Docker
docker run -it --rm wpprobe scan -u https://example.com
# ソースから
git clone https://github.com/Chocapikk/wpprobe && cd wpprobe && go build -o wpprobe
# 入出力ファイル用に現在のディレクトリをマウント
docker run -it --rm -v $(pwd):/data wpprobe scan -f /data/targets.txt -o /data/results.csv
# 脆弱性データベースを永続化
docker run -it --rm \
-v $(pwd):/data \
-v wpprobe-config:/config \
wpprobe scan -f /data/targets.txt -o /data/results.json
# データベースを更新
docker run -it --rm \
-v wpprobe-config:/config \
-e WORDFENCE_API_KEY=your_key \
-e WPSCAN_API_TOKEN=your_token \
wpprobe update-db
# 単一ターゲット
wpprobe scan -u https://example.com
# スレッドを使用した複数ターゲット
wpprobe scan -f targets.txt -t 20
# カスタムオプション
wpprobe scan -u https://example.com \
--header "User-Agent: CustomAgent" \
--proxy http://proxy:8080 \
--rate-limit 10 \
--no-check-version
# 出力形式
wpprobe scan -u https://example.com -o results.csv
wpprobe scan -u https://example.com -o results.json
# データベースの更新(Wordfenceは無料APIキー、WPScanはEnterprise APIトークンが必要)
wpprobe update-db --api-key your_wordfence_key
# または環境変数を使用
export WORDFENCE_API_KEY=your_key_here
wpprobe update-db
# 脆弱性の検索
wpprobe search --cve CVE-2024-1234
wpprobe search --plugin woocommerce
wpprobe search --severity critical
wpprobe search --auth Unauth
wpprobe search --title "SQL Injection" --details
# データベース統計
wpprobe list
Wordfenceデータベース更新用にWORDFENCE_API_KEYを設定します(無料)。WPScanデータベース更新用にWPSCAN_API_TOKENを設定します(Enterpriseプランのみ)。
wpprobe update
リリースからインストールされたバイナリのみが自己更新します。ソースからのビルドは通常、最新リリースより先行しているため、置き換えるとダウングレードになります。代わりにリポジトリから再ビルドするか、--forceを渡してリリースバイナリをインストールしてください。
起動時にWPProbeは最新の公開リリースをチェックしてバナーにラベルを付けます。この結果は24時間キャッシュされ、チェックを完全に無効にすることもできます:
export WPPROBE_NO_UPDATE_CHECK=1
ステルスモードは公開されたREST APIルート(?rest_route=/)を照会し、検出されたエンドポイントを既知のプラグインシグネチャの事前コンパイル済みデータベースと照合します。また、ページHTMLからwp-content/themes/参照を解析してアクティブなテーマを検出し、style.cssからバージョンを取得します。これによりリクエスト数が最小限に抑えられ、WAFによる検出を回避できます。
ブルートフォースモードはGETリクエストでプラグインディレクトリを直接チェックします。403レスポンスはプラグインの存在を確認します(ディレクトリリストが禁止されている)。200レスポンスは、すべてのパスに対して200を返すWordPressインスタンスによる誤検知を避けるため、ディレクトリリスト内のreadme.txtをチェックして検証されます。
ハイブリッドモードは両方を組み合わせます:まずステルスで低ノイズ検出を行い、次にブルートフォースで残りのプラグインを検出します。テーマはモードに関係なく常にHTML経由で検出されます。
検出されたプラグインとテーマは、WordfenceおよびWPScanデータベースの既知のCVEと関連付けられ、バージョン範囲のマッチングにより脆弱なインストールを特定します。
CSV:
URL,Plugin,Version,Severity,AuthType,CVEs,CVE Links,CVSS Score,CVSS Vector,Title
http://example.com,give,2.20.1,critical,Unauth,CVE-2025-22777,https://www.cve.org/CVERecord?id=CVE-2025-22777,9.8,CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H,GiveWP <= 3.19.3 - Unauthenticated PHP Object Injection
JSON出力は常に配列で、スキャンしたターゲットごとに1つのオブジェクトが含まれます。そのため、1つのURLをスキャンしても-fで複数のURLをスキャンしても、単一のファイルは有効なままです。
JSON:
[
{
"url": "http://example.com",
"plugins": {
"give": [
{
"version": "2.20.1",
"severities": [
{
"critical": [
{
"auth_type": "Unauth",
"vulnerabilities": [
{
"cve": "CVE-2025-22777",
"cve_link": "https://www.cve.org/CVERecord?id=CVE-2025-22777",
"title": "GiveWP <= 3.19.3 - Unauthenticated PHP Object Injection",
"cvss_score": 9.8,
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
]
}
]
}
]
}
],
"wordpress-seo": [
{
"version": "27.1.1"
}
]
}
}
]
貢献は歓迎します。問題を開くか、プルリクエストを送信してください。
MITライセンス - 詳細はLICENSEファイルを参照してください。
脆弱性データはDefiant, Inc.が提供するWordfence Intelligenceから取得しています。Copyright (c) Defiant, Inc. All rights reserved. このリポジトリのdbリリースで公開されている事前構築データベースは、Wordfence Intelligence利用規約で付与されたライセンスに基づいて再配布された、そのデータの処理済みコピーです。作成するすべてのコピーには、Defiant, Inc.の著作権表示とそのライセンスを再現する必要があります。これらは両方ともNOTICEにあり、update-dbを実行するとディスク上のデータベースの隣に書き込まれます。
WPProbeはDefiant, Inc.と提携しておらず、その承認や後援も受けていません。
@Chocapikkによって開発されました。
| モード | 方法 | ステルス性 | カバレッジ |
|---|
stealthy(デフォルト) | REST APIエンドポイントマッチング + HTMLテーマ検出 | 高 | 5000以上のプラグイン + テーマ |
bruteforce | ディレクトリ直接チェック | 低 | 1万以上のプラグイン |
hybrid | まずステルス、次にブルートフォース | 中 | 最大 |
| 変数 | 説明 |
|---|
WORDFENCE_API_KEY | データベース更新用のWordfence APIキー(無料、こちらで取得) |
WPSCAN_API_TOKEN | データベース更新用のWPScan Enterprise APIトークン |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY | プロキシ設定 |
NO_PROXY | プロキシ除外ルール |