PAGES
← all tools
◆ Web Application Security

WPScan

v4.2.0 open-source

Scans WordPress sites for vulnerabilities, enumerating plugins, themes, users, and misconfigurations via the WPScan vulnerability database.

Summary

WPScan is an open-source, free command-line scanner that black-box tests WordPress sites for vulnerabilities, enumerating plugins, themes, users, and backup folders against a known vulnerability database. It is built for penetration testers and security teams auditing WordPress installations rather than for developers securing their own code as they write it. Scans can run authenticated via WordPress Application Password auth for a fuller plugin and theme inventory, and results stream out in real time in formats including SARIFSARIFStatic Analysis Results Interchange Format, a standard for sharing code-analysis findings, including locations and rule details. It lets scanners report results to a common review interface. and JSONLJSONLA text format where each line is a self-contained, valid JSON object, making it easy to stream, append, and process large datasets line by line without parsing a full JSON array into memory. for feeding CI pipelines or GitHub Code Scanning; an enterprise database token also lets scans run against a local vulnerability data dump instead of the rate-limited online API. It sits in the WordPress-specific corner of vulnerability scanning, with no comparable product named in its own documentation. First committed in 2012, it remains active, with 78 contributors and a release in the last month.

Scans WordPress sites for vulnerabilities, enumerating plugins, themes, users, and misconfigurations via the WPScan vulnerability database.

How WPScan helps

Which known vulnerabilities does this WordPress installation expose right now?

checks the detected core version, plugins, and themes against the WPScan vulnerability database and lists each match with its proof-of-concept details, though it only knows what the database has recorded

Which plugins and themes are actually running on this site, including ones I forgot about?

enumerates installed plugins and themes from the outside, streaming each one it finds along with active install counts and last-updated dates pulled from the WordPress.org API

Which usernames can an attacker enumerate from this site?

walks author IDs and login responses to reveal valid WordPress usernames without needing credentials

Have I left old backup or configuration files reachable on this server?

probes for common backup folder paths and reports any that resolve, exposing files that were never meant to be public

Would authenticating change what this scan finds on my own site?

when given WordPress Application Password credentials, re-enumerates plugins and themes from an authenticated view for a fuller inventory than an anonymous scan can see

Can this scan's results feed straight into my CI pipeline's security gate?

streams findings as SARIF or line-by-line JSON as they're discovered, so a pipeline can ingest them into GitHub Code Scanning or another processor without waiting for the scan to finish

all 13 features, with the evidence for each →

Languages

Not documented

Features

13 capabilities

Built from WPScan's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • WPScan covers 1 of the 8 vulnerability assessment methods capabilities we track.

What WPScan offers you

  • Command-line interface4
  • JSON data export1
  • Offline mode1
  • Plugin API support1
  • REST API
Web vulnerability scanning 5 features Vulnerability assessment methods since 2016
Password attack shipped Performs a password attack against a discovered WordPress user. 5 releases · 2 other sources · first seen May 2016

Shared capability: Web vulnerability scanning

release

  • Adds --wordlist-skip N option to resume interrupted brute-force attacks at a specific wordlist offset. v4.0.0 · May 2026 · source · release history
  • Adds --max-retries N option for automatic retry of failed brute-force requests. v4.0.0 · May 2026 · source · release history
  • Adds the --force CLI option to scan a target even when availability checks return a 403 error v3.8.13 · Jan 2021 · source · release history
  • Adds --wordlist - flag to pass a custom wordlist from standard input 2.9.3 · Jul 2017 · source · release history
  • Display WordPress metadata on the detected version 2.9.1 · May 2016 · source · release history

example

  • Pipe a dynamically generated wordlist into WPScan instead of using a static file. cat /tmp/wordlist.txt | wpscan --url https://example.com --wordlist - 2.9.3 · Jul 2017 · source
  • Password attack against a user wpscan --url https://site --passwords rockyou.txt --usernames admin
User enumeration shipped Enumerates WordPress user accounts on a target site. 3 releases · 2 other sources · first seen Jun 2018

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds --wp-auth option for WordPress Application Password authentication, enabling authoritative plugin/theme inventory via authenticated enumeration. v4.0.0 · May 2026 · source · release history
  • --plugins-list and --themes-list now override -e options rather than combining with them. v4.0.0 · May 2026 · source · release history
  • Extracts author information from WordPress RSS feeds 2.9.4 · Jun 2018 · source · release history

docs

  • Scans WordPress sites for vulnerabilities, enumerating plugins, themes, users, and misconfigurations via the WPScan vulnerability database.

example

  • Enumerate WordPress users wpscan --url https://site --enumerate u
Plugin and configuration backup enumeration shipped Enumerates plugins, configuration backups, and backup folders on the target WordPress site. 2 releases · 1 other source · first seen May 2026

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Plugin and config-backup enumeration is no longer performed by default; explicit -e ap (or other -e flags) must be passed to scan plugins. v4.0.0 · May 2026 · source · release history
  • Adds backup folder enumeration via -e backup-folders (alias -e bf). v4.0.0 · May 2026 · source · release history

example

  • Enumerate backup folders wpscan --url https://target.tld/ --enumerate bf
Response size limit control shipped Caps HTTP response sizes during scanning (defaulting to 16 MiB with truncation) and allows the limit to be overridden or persisted per-project via a config file. 1 release · 1 other source · first seen Oct 2026

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Responses larger than 16 MiB are now truncated by default; use --max-response-size 0 to restore the previous unbounded behavior. v4.2.0 · Oct 2026 · source · release history

example

  • Persist a raised response-size cap in a project config file so every scan in this directory inherits it without repeating the flag. cli_options: url: 'https://target.tld' max_response_size: 64 v4.2.0 · Oct 2026 · source
WordPress username enumeration shipped Enumerates WordPress user accounts on a target site using specific commands. 1 other source

Shared capability: Web vulnerability scanning

example

  • Enumerate WordPress usernames wpscan --url https://target.tld/ --enumerate u
Other / not yet classified 8 features Features we have not matched to a capability yet. A suggested match is marked.
WordPress site scanning shipped suggested Scans a WordPress site for vulnerabilities, enumerating plugins, themes, and WordPress core versions against known vulnerability data. 24 releases · 8 other sources · first seen Jun 2015

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Offline mode

release 24 total

  • Adds --max-response-size MiB flag to stop reading any response once it exceeds the specified size (default 16 MiB, max 2047, 0 disables the cap), guarding against memory exhaustion on targets serving huge or endless responses.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v4.2.0 · Oct 2026 · source · release history
  • Adds --format sarif output format for direct CI/CD pipeline integration. v4.0.0 · May 2026 · source · release history
  • Adds --format jsonl streaming output format for real-time, line-by-line results consumption. v4.0.0 · May 2026 · source · release history
  • Adds --proxy-target-only option to route only target traffic through the proxy, leaving other requests direct. v4.0.0 · May 2026 · source · release history
  • HTTP status code tracking now warns when excessive errors are detected during a scan. v4.0.0 · May 2026 · source · release history
  • Adds --expect-saml flag to support SAML-protected WordPress targets. v4.0.0 · May 2026 · source · release history

docs

  • Scans WordPress sites for vulnerabilities, enumerating plugins, themes, users, and misconfigurations via the WPScan vulnerability database.

example 7 total

  • Scan a target that serves unusually large pages without risking memory exhaustion — raise the cap to 64 MiB instead of the 16 MiB default. wpscan --url https://target.tld --max-response-size 64 v4.2.0 · Oct 2026 · source
  • Scan a WordPress site using a local enterprise vulnerability database dump instead of online API calls, avoiding per-request limits. wpscan --url https://target.tld --enterprise-db-token <your-enterprise-token> --enumerate vp,vt v4.1.0 · Jul 2026 · source
  • Scan a target behind a proxy with self-signed or invalid TLS certificates wpscan --url https://example.com --disable-tls-checks 2.9.2 · Nov 2016 · source
  • Scan a site while sending fewer requests per second to avoid overwhelming the server or triggering WAFs. wpscan --url https://example.com --throttle 0.5 2.9 · Oct 2015 · source
  • Enumerate vulnerable plugins wpscan --url https://site --enumerate vp
  • Stealthy scan of a WordPress site wpscan --stealthy --url blog.tld
Enterprise local vulnerability database shipped suggested Authenticates with an enterprise token to download and scan against a local vulnerability database dump, bypassing per-request API limits. 11 releases · 6 other sources · first seen Jun 2015

Suggested capability: Vulnerability database matching. This is our guess, not confirmed.

Also counts toward: Command-line interface

release 11 total

  • When --enterprise-db-token is set, WPScan downloads plugins.json.gz, themes.json.gz, and wordpresses.json.gz from enterprise-data.wpscan.org (authenticated via the X-DB-JSON-AUTH header) and reads vulnerability data locally — API status is reported as plan enterprise with Unlimited requests remaining. v4.1.0 · Jul 2026 · source · release history
  • --enterprise-db-token and --api-token are mutually exclusive (including via their environment variables); supplying both raises an error, and the token is redacted from logged command lines. v4.1.0 · Jul 2026 · source · release history
  • Adds --enterprise-db-token flag to enable opt-in local vulnerability database support v4.1.0 · Jul 2026 · source · release history
  • Adds --enterprise-db-token TOKEN flag (also settable via the WPSCAN_ENTERPRISE_DB_TOKEN environment variable or the enterprise_db_token config-file key) to scan against a local vulnerability database dump instead of the online API, with no per-request limits. v4.1.0 · Jul 2026 · source · release history
  • Adds offline mode to update the local vulnerability database without network access 2.9.4 · Jun 2018 · source · release history
  • Adds optional filename parameter to the --log option 2.9.3 · Jul 2017 · source · release history

example

  • Scan a WordPress site using the local enterprise vulnerability database instead of the remote one. wpscan --url https://example.com --enterprise-db-token <token> v4.1.0 · Jul 2026 · source
  • Store the enterprise token in a config file so it's applied automatically to every scan without passing it on the CLI. cli_options: enterprise_db_token: "<your-enterprise-token>" url: "https://target.tld" v4.1.0 · Jul 2026 · source
  • Scan a WordPress site using a local enterprise vulnerability database dump instead of online API calls, avoiding per-request limits. wpscan --url https://target.tld --enterprise-db-token <your-enterprise-token> --enumerate vp,vt v4.1.0 · Jul 2026 · source
  • Save the scan log to a specific file instead of the default location. wpscan --url https://example.com --log my_scan_output.log 2.9.3 · Jul 2017 · source
  • Store scan cache in a specific directory for shared access or persistence wpscan --url https://example.com --cache-dir /path/to/cache 2.9.2 · Nov 2016 · source
  • Scan using enterprise local database wpscan --url https://example.com --enterprise-db-token YOUR_ENTERPRISE_DB_TOKEN
Audit metadata inclusion shipped Includes audit metadata such as command line and hostname in the scan output for traceability. 2 releases · first seen Feb 2020

release

  • Includes audit metadata (command line and hostname) in scan output for traceability. v4.0.0 · May 2026 · source · release history
  • Adds the target IP address to the scan output v3.7.9 · Feb 2020 · source · release history
Environment detection shipped suggested Detects if PHP is disabled on the target server. 2 releases · first seen Jan 2021

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

release

  • Ruby 3.0, 3.1, and 3.2 are no longer supported; Ruby 3.3+ is now required. v4.0.0 · May 2026 · source · release history
  • Introduces the php_disabled InterestingFinding check to detect if PHP is disabled on the target v3.8.13 · Jan 2021 · source · release history
SARIF output shipped Exports scan results in SARIF format, including marking aborted runs as unsuccessful with the abort reason recorded in toolExecutionNotifications. 1 release · first seen Oct 2026

Also counts toward: JSON data export

release

  • SARIF output now reports aborted runs as unsuccessful, with the abort reason recorded in toolExecutionNotifications, so consumers show an aborted scan as a failed analysis instead of a clean run with zero alerts. v4.2.0 · Oct 2026 · source · release history
Plugin and theme install count display shipped Shows active install counts and last-updated dates for detected plugins and themes sourced from the WordPress.org API. 1 release · first seen May 2026

Also counts toward: Plugin API support

release

  • Shows active install counts and last-updated dates for detected plugins and themes sourced from WordPress.org API. v4.0.0 · May 2026 · source · release history
Vulnerability proof-of-concept display shipped Displays Proof-of-Concept information alongside vulnerability findings in the scan output. 1 release · first seen May 2026

release

  • Displays Proof-of-Concept information alongside vulnerability findings in scan output. v4.0.0 · May 2026 · source · release history
Username range enumeration shipped suggested Enumerates a specified range of usernames on the target site. 1 other source

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

example

  • Enumerate a range of usernames wpscan --url https://target.tld/ --enumerate u1-100

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for WPScan, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail WPScan puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

15 entries

  1. October 20261
  2. July 20261
  3. May 20261
  4. January 20211
  5. March 20201
  6. February 20201
  7. November 20191
  8. July 20191
  9. March 20191
  10. June 20181
  11. July 20171
  12. November 20161
  13. May 20161
  14. October 20151
  15. June 20151
    Show

    15 entries

    Project health

    Issue, contributor and maintainer activity in wpscanteam/wpscan, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 10 +6 vs prior 12 months
    2. Maintainers 2 +2 joined · −2 left, last 12 months
    3. Bus factor 2 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 711 days first maintainer reply 9.9 days
    6. Open backlog 0 of 1,476 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 1
    4. Commits / month 1
    5. Stars 9,777
    Issue themes, last 12 months
    • features 11%
    • other 89%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    1 article · updated Nov 4, 2026

    Where WPScan turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    Tutorials & guides 1

    • WPScan: WordPress Pentesting Framework Hacking Articles
      In this article, we’ll try to deface such WordPress websites, with one of the most powerful WordPress vulnerability Scanner i.e WPScan.
      2 more quotes
      Thus, to enumerate such web-applications, we’ll be using “WPScan” – which is a black box vulnerability scanner for WordPress, scripted in Ruby to focus on different vulnerabilities that are present in the WordPress…
      Well, WPScan comes preinstalled in Kali Linux, SamuraiWTF, Pentoo, BlackArch; which scans up its database in order to find out the outdated versions and the vulnerabilities in the target’s web application.

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →