"Because why scan blind when WordPress exposes itself?"
WPProbe
A fast WordPress plugin and theme scanner that detects installed plugins via REST API enumeration and themes from HTML discovery, then maps them to known vulnerabilities. Over 5000 plugins detectable without brute-force, thousands more with it.
Important: Wordfence API Change
Since March 9, 2026, Wordfence deprecated their v2 API. All WPProbe versions prior to v0.10.16 have broken update-db functionality. You need to update WPProbe.
By default, wpprobe update-db fetches a pre-built database from this repo (updated every 2h via CI), so no API key is needed. If you want to fetch directly from Wordfence yourself, you can optionally set up a free API key:
# Update databases (Wordfence requires free API key, WPScan requires Enterprise API token)
wpprobe update-db --api-key your_wordfence_key
# Or use env var
export WORDFENCE_API_KEY=your_key_here
wpprobe update-db
# Search vulnerabilities
wpprobe search --cve CVE-2024-1234
wpprobe search --plugin woocommerce
wpprobe search --severity critical
wpprobe search --auth Unauth
wpprobe search --title "SQL Injection" --details
# Database statistics
wpprobe list
Set WORDFENCE_API_KEY for Wordfence database updates (free). Set WPSCAN_API_TOKEN for WPScan database updates (Enterprise plan only).
Self-Update
wpprobe update
Only binaries installed from a release update themselves. A build from source is
usually ahead of the last release, so replacing it would be a downgrade: rebuild
it from the repository instead, or pass --force to install the release binary
anyway.
On startup WPProbe checks the newest published release to label the banner. The
answer is cached for 24 hours, and the check can be turned off entirely:
export WPPROBE_NO_UPDATE_CHECK=1
How It Works
Stealthy mode queries exposed REST API routes (?rest_route=/) and matches discovered endpoints against a precompiled database of known plugin signatures. It also discovers active themes by parsing wp-content/themes/ references from the page HTML and fetches their version from style.css. This generates minimal requests and avoids detection by WAFs.
Brute-force mode checks plugin directories directly via GET requests. A 403 response confirms the plugin exists (directory listing forbidden). A 200 response is validated by checking for readme.txt in the directory listing to avoid false positives from WordPress instances that return 200 for all paths.
Hybrid mode combines both: stealthy first for low-noise detection, then brute-force for remaining plugins. Themes are always discovered via HTML regardless of mode.
Detected plugins and themes are correlated with known CVEs from Wordfence and WPScan databases, with version range matching to identify vulnerable installations.
Stealthy: Some plugins don't expose REST API endpoints. Disabled or hidden plugins may not be detected. Theme detection relies on HTML references, so themes loaded dynamically or via child themes may be missed.
Brute-force: Generates many requests, may trigger WAFs or rate limits. Limited by wordlist coverage. Does not brute-force themes.
Hybrid: Slower than pure stealthy due to the brute-force phase.
Environment Variables
Variable
Description
WORDFENCE_API_KEY
Wordfence API key for database updates (free, get one here)
WPSCAN_API_TOKEN
WPScan Enterprise API token for database updates
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY
Proxy configuration
NO_PROXY
Proxy bypass rules
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
License
MIT License - see LICENSE file for details.
Third Party Data
Vulnerability data comes from Wordfence Intelligence, provided by Defiant, Inc. Copyright (c) Defiant, Inc. All rights reserved. The pre-built database published in the db release of this repository is a processed copy of that data, redistributed under the license granted in the Wordfence Intelligence Terms and Conditions. Any copy you make must reproduce Defiant, Inc.'s copyright designation and that license, both of which are in NOTICE and are written next to the database on disk when you run update-db.
WPProbe is not affiliated with, endorsed by, or sponsored by Defiant, Inc.