wp2shell: more than a month later. Confirm 6.8.6, 6.9.5, 7.0.2. Patched is not clean.

Read the advisory

MainWP Dashboard

Security for every child site, from one Dashboard

See scores and vulnerabilities, run remote scans, and triage weak sites without logging into every child. Premium adds combined events, fleet email alerts, report history, remote settings, and IP control.

  • ✓ Sites column
  • ✓ Remote scans
  • ✓ Fleet alerts on Premium

How it works

Addon on the Dashboard. Security Ninja on each child.

Install Security Ninja and the MainWP addon only on the Dashboard site. Child sites run Security Ninja itself, free or Pro. Sync after you connect sites and after remote work.

  1. Install on the MainWP Dashboard

    Activate Security Ninja (free or Premium) and Security Ninja for MainWP on the Dashboard. Premium customers should use the zip from their account, not the WordPress.org build.

  2. Install Security Ninja on children

    Connect sites in MainWP and install Security Ninja on each child. Do not install the MainWP addon on child sites.

  3. Sync the fleet

    Use MainWP Sync so scores, vulnerabilities, and other data fill the overview and Sites column. Sync again after remote scans, settings, or IP changes.

What you can do

Fleet work without opening every wp-admin

Free covers visibility and remote scans. Premium adds events, settings, and IP control. Child-site entitlement still matters: malware files, events, settings, and IPs need Security Ninja Pro on the child.

Fleet visibility

After Sync, the Dashboard shows what each child already reports.

Sites column

Free + Pro

Test score and vulnerability count on the MainWP Sites table, so weak sites stand out in the list you already use.

Overview and Scan results

Free + Pro

Open a child from the extension to see Security Tests, Core Scanner summary, and vulnerability details without leaving MainWP.

Malware summary

Free + Pro

Last run and finding count appear when the child runs Security Ninja Pro. The full file list is Premium addon plus Pro on the child.

Remote actions

Kick off work on one site or a selection, then Sync so the Dashboard catches up.

Run scans

Free + Pro

Start Security Tests and Core Scanner remotely. Malware Scanner is included in run-all when the child has Security Ninja Pro.

Update vulnerabilities

Free + Pro

Bulk refresh the vulnerability database on children running Security Ninja 5.297+, without waiting for the recurring job.

Sync after remote work

Free + Pro

Bulk actions queue work on the children. Use MainWP Sync on the same selection so scores, events, and lists refresh.

Premium monitoring and control

These tools need the premium MainWP zip and Security Ninja Pro on the child sites you manage.

Combined events

Pro

Search and filter events across connected Pro children. Open an event for details. Summary cards and top incidents sit on the overview. AI Security Advisor summaries sync when the child has them.

Fleet email alerts

Pro

Send an optional daily digest when selected fleet conditions change: firewall off, vulnerabilities, malware, low scores, or stale sync.

Daily report metrics

Pro

Keep up to 90 days of score and vulnerability history during sync. The month.summary token turns that history into client-facing progress.

Settings editor and Copy settings

Pro

Edit allowlisted options on one child, or copy from a synced Pro source onto many sites with a per-site preview. Lockout-prone keys stay off unless you enable them.

Whitelist and blacklist IPs

Pro

Add, note, or remove IPs and CIDR ranges per site or in bulk, and lift bans, on children running Security Ninja 5.285+.

White Label and Pro Reports

Pro

Turn White Label on or off for Pro children from MainWP, and use MainWP Pro Reports tokens for Security Ninja data in client reports.

Search events across connected sites

The Events tab puts synchronized Security Ninja events from Pro child sites into one table. Filter by site or action, search descriptions, and open details without jumping between wp-admin screens.

  • ✓ Filter by site or action
  • ✓ Search event descriptions
  • ✓ Open details and child-site views
Events tab guide
Security Ninja Events tab in MainWP with site and action filters above the event table
Events are stored in MainWP during sync, then searched from one table.

See status in the Sites table

The Security Ninja column sits next to the rest of your MainWP site list. Score and vulnerability count update after Sync, so you can spot a problem without opening the extension first.

  • ✓ Test score and vulnerability count per child
  • ✓ Works with free or Pro Security Ninja on children
  • ✓ Data matches what each child version can provide
Open in MainWP
MainWP Sites table highlighting the Security Ninja column with scores and vulnerability counts
Look at score and vulnerability count in the same list you use to manage updates and backups.

Run scans on selected sites

Select children in the MainWP Sites table, then use Bulk Actions to start Security Ninja scans, refresh vulnerabilities, copy settings, manage IPs, or control white label without opening each wp-admin.

  • ✓ Run all security scans on a selection
  • ✓ Update vulnerabilities on 5.297+ children
  • ✓ Copy settings, manage IPs, and white label on Premium
Bulk actions guide
MainWP Sites table with Security Ninja bulk actions open for selected child sites
Bulk actions queue work on the children. Sync the same selection so the Dashboard catches up.

Get one daily fleet digest

Premium fleet alerts run on the MainWP Dashboard. Choose recipients and conditions, then receive a digest when relevant fleet state changes. Per-site webhooks remain separate on each child.

  • ✓ Dashboard-global, not per-site
  • ✓ Fingerprint avoids repeat emails for unchanged state
  • ✓ Uses wp_mail on the MainWP Dashboard
Fleet alerts guide
Security Ninja Settings tab with fleet email recipients and digest rules
Optional fleet email checks firewall, vulnerabilities, malware, scores, and stale sync.

Show security progress in client reports

Daily score and vulnerability snapshots build during sync. MainWP Pro Reports can use month.summary for a client-facing monthly overview alongside the other Security Ninja tokens.

  • ✓ Score and vulnerability history
  • ✓ Client-facing month.summary token
  • ✓ Copy-ready sample templates
Report templates
Security Ninja Settings tab with daily metrics history and MainWP Pro Reports guidance
History builds over time during sync and is kept for up to 90 days.

Copy settings without visiting each child

Pick a synced Security Ninja Pro child as the source, preview diffs per target, then apply allowlisted settings. Children below 5.285 are skipped with a message. Array settings such as blocked countries need 5.297+.

  • ✓ Source must be a synced Pro child
  • ✓ Lockout-prone options off by default
  • ✓ Sync afterward so the Dashboard matches the children
Copy settings docs
Copy settings modal showing a source site, selected targets, and a preview before applying Security Ninja options
Preview per site before apply. Blocked countries, renamed login URL, and 2FA stay off unless you turn those keys on.

Manage IPs across selected sites

Add an IP or CIDR to the whitelist or blacklist on many Pro children at once, with an optional note. Use the same bulk tool to clean up rules you no longer need.

  • ✓ Whitelist or blacklist, IP or CIDR
  • ✓ Optional note stored with the rule
  • ✓ Requires Premium addon and Pro children
Bulk Manage IPs modal for adding an IP or CIDR to whitelist or blacklist on selected MainWP child sites
Bulk add needs Security Ninja 5.285+ on each selected Pro child.

Per-site IP table, including lifting bans

Open a child to add or remove whitelist and blacklist entries, see synced notes, and lift a ban without logging into that site's wp-admin.

  • ✓ Whitelist, blacklist, and lift ban
  • ✓ Notes when the child version supports them
  • ✓ Skipped with an upgrade message on older children
Per-site IP management table in Security Ninja for MainWP with whitelist and blacklist entries
The per-site table shows synced rules. Add, remove, or lift a ban, then Sync.

Free vs Premium

The addon matches what each child can do

The free WordPress.org build covers everyday oversight. The premium zip adds events, remote configuration, and IP control. Malware file lists and those Premium tools still need Security Ninja Pro on the child.

WordPress.org

Free MainWP addon

Read Security Ninja data from child sites, run scans, and refresh vulnerabilities on 5.297+ children.

  • Sites column with score and vulnerability count
  • Per-site Overview and Scan results
  • Remote Security Tests and Core Scanner
  • Bulk Update vulnerabilities on 5.297+ children
  • Malware last-run summary when the child is Pro
  • Works with free or Pro Security Ninja on children
Free MainWP addon

Recommended

Premium MainWP addon

Everything in free, plus combined events, fleet alerts, report history, settings, IP management, White Label, and Pro Reports tokens on Pro children.

  • Everything in Free
  • Combined events with filters, search, and details
  • Overview cards, top incidents, and AI Advisor summaries
  • Optional daily fleet email alerts
  • Daily metrics history and month.summary reports
  • Per-site Settings editor and bulk Copy settings
  • Per-site and bulk IP whitelist, blacklist, and lift ban
  • Full malware file list when the child is Pro
  • White Label and MainWP Pro Reports tokens
  • Requires the premium zip from your account
Premium setup guide

Release notes for the Dashboard extension: Security Ninja for MainWP changelog.

Customer reviews

4.9 / 5 from 258 reviews

Leave a review

Works well as a base security plugin

“WP Security Ninja stands out with a balanced and clear mix of features. It works well as an all-in-one solution but remains simple enough to combine with tools like Patchstack with…”

bubdevbubdev

Amazingly user-friendly security plugin

“Thank you, Security Ninja! Your plugin is easy to use, provides clear reports of activity, and includes built-in tools that make security a lightweight task.”

joshuarbealjoshuarbeal

“I love the WP Security Ninja product. As a startup agency, it has made my entry into the market and my ability to stand out in my offerings much easier. Keep up the good work.”

Shawn McGinnisShawn McGinnis

“I've tried most of the security plugins out there. Some are good but Security Ninja beats them all!”

Thomas RosenstandThomas Rosenstand

See all 258 reviews

Frequently asked questions

Do I need MainWP to use Security Ninja?+

No. MainWP is optional for managing many sites from one Dashboard. Single sites use Security Ninja directly.

What is free vs Premium for the MainWP addon?+

The free addon shows scores, vulnerabilities, Scan results, and remote Security Tests plus Core Scanner. It can refresh vulnerabilities on children running 5.297+. The premium addon adds combined events, remote settings, IP management, White Label, Pro Reports tokens, and the full malware file list. Those extra tools need Security Ninja Pro on the child. Premium customers should use the zip from their account, not the WordPress.org build.

Where do I install the MainWP addon?+

Only on your MainWP Dashboard site. Also install Security Ninja (free or Premium) on that Dashboard. Child sites need Security Ninja itself, not the MainWP addon.

Can I use the free addon with Pro child sites?+

Yes. The free addon still shows what each child reports, including a malware last-run summary on Pro children. Combined events, settings, IP management, and the malware file list need the premium addon as well as Pro on the child.

Why is the Security Ninja dashboard empty, or Sync grey?+

That is normal when MainWP has no connected child sites yet, or Security Ninja is not active on those children. Add sites, install Security Ninja on each child, then Sync.

The license key did not pop up. How do I activate?+

The key does not always open a popup. On the Plugins page, use the license link under Security Ninja for MainWP, or open the extension Account area and enter the key from your account.

Which child versions do settings and IP actions need?+

Remote settings and IP management need Security Ninja 5.285+ on the child. Blocked countries and path lists need 5.297+. Bulk Update vulnerabilities also needs 5.297+. Older children are skipped with an upgrade message and still show the data they can sync.

Why did a bulk action finish but the Dashboard look unchanged?+

The action ran on the child sites. Use MainWP Sync on the same selection so scores, events, settings, and IP lists refresh in the Dashboard.

What is the difference between fleet email alerts and webhooks?+

Fleet email alerts are an optional premium digest configured on the MainWP Dashboard. They email selected recipients when fleet state changes. Webhooks are configured on individual Security Ninja Pro child sites and send site events to Slack, Discord, Zapier, or another HTTPS endpoint.

When does month.summary show security progress?+

The current summary works after the child has synced. Progress lines need daily score and vulnerability history, which builds over time whenever MainWP syncs the site.

Do agency packs include this addon?+

Agency packs can include MainWP addon value with bulk Pro licenses. This page is about the Dashboard integration. See the agencies page if you are comparing packs.

Connect Security Ninja to MainWP

Follow the setup guide to install the addon on your Dashboard, put Security Ninja on each child, and Sync.

Open the setup guide

Larger screenshot