WordPress malware scanner
Scheduled scans check WordPress core, plugins and every PHP file for tampering, webshells and hidden payloads, and keep suspicious files on a review list until you deal with them.
Free WordPress security & SMTP plugin
Malware scanner, web application firewall, brute-force login protection, shared threat intelligence and dead-simple SMTP — one lightweight plugin that flies alongside your site and watches your six.
Version 1.36.42 · released 2026-10-01 · free · installs in 30 seconds
Wingman replaces a malware scanner, a firewall plugin, a login-limiter and an SMTP plugin with one install. Every protection is on by default; you can switch any of them off.
Scheduled scans check WordPress core, plugins and every PHP file for tampering, webshells and hidden payloads, and keep suspicious files on a review list until you deal with them.
Rate limiting, automatic lockouts that escalate to bans for repeat offenders, instant bans for bots, and datacenter and geo blocking before the login page even renders.
A lightweight firewall that runs before WordPress loads and blocks common exploits, known scanning tools and banned addresses. Built to fail open so it can never take your site down.
Sites running Wingman share confirmed attacker IPs and datacenter ranges. When one site blocks an attacker, every site knows. Only IP addresses are shared.
Host, port, username, password, done. Every WordPress email delivered through your SMTP server, with a mail log, one-click test emails and diagnostics.
Block PHP in uploads, disable XML-RPC, stop user enumeration, disable the file editor, watch for new administrators. Each one a single switch, all on by default.
Prefer the command line? wp plugin install https://wingman.codepilots.io/wingman.zip --activate
GET /pingmanYes. Wingman is free and open source (GPL-2.0-or-later). There is no account, no license key and no paid tier. Download the zip, upload it to WordPress, activate.
Wingman is a WordPress security plugin with a built-in SMTP mailer. It scans for malware, runs a web application firewall, protects the login page against brute-force attacks, shares attacker IPs between sites through the Wingman Network, applies hardening switches, watches for new administrator accounts, and delivers all WordPress email through your SMTP server with a mail log.
WordPress 6.0 or newer and PHP 7.4 or newer. Wingman works on any host; where a particular protection cannot be applied on your server, it tells you on the status page and everything else keeps working.
Download the zip from this page, then in wp-admin go to Plugins → Add New → Upload Plugin, choose the file and activate. With WP-CLI: wp plugin install https://wingman.codepilots.io/wingman.zip --activate. Protection is on and the first scan starts within a minute.
No measurable impact. The firewall is designed to be extremely fast, scans run in short chunks in the background, and Wingman adds no CSS or JavaScript to your public pages.
Automatic bans are by IP address only, never by username. Logged-in users are never geo- or datacenter-blocked, the firewall fails open, and every protection can be switched off under Settings → Security. WP-CLI keeps working throughout.
An anonymous daily install ping with the site URL, plugin version and last scan time. If the Wingman Network is enabled, confirmed attacker IPs are shared too. Nothing else: no content, users, settings, findings or visitor data.
Shared threat intelligence between sites running Wingman. When several independent sites confirm the same attacker, every site is protected from it. Only IP addresses are shared, and it can be switched off.
Wingman updates itself from wingman.codepilots.io, so updates appear in wp-admin like any other plugin. Self-update is on by default so security releases arrive on their own.
Go to Wingman → Settings → SMTP, enable it, enter host, port, encryption, username and password, and send a test email. The mail log shows every message sent or failed afterwards.
Yes. Every Wingman site answers GET /pingman with a small JSON status (OK, warning or critical) that works with any uptime monitor, including Pingman.
Codepilots, a web agency in Denmark, at codepilots.io. Wingman runs on the sites Codepilots builds and hosts, and is released for anyone to use.