Hanu Malware Guard is a self-contained WordPress security plugin covering eight areas: Malware Scanner — recursively scans themes, plugins, mu-plugins and uploads for a curated set of regex heuristics matching common backdoor/webshell patterns (obfuscated eval(), webshell string signatures, command
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.2 and PHP 7.4.
SourceWordPress plugins · Nov 8, 2026
01 / Source details
Aboutthistool.
Hanu Malware Guard is a self-contained WordPress security plugin covering eight areas:
01Malware Scanner — recursively scans themes, plugins, mu-plugins and uploads for a curated set of regex heuristics matching common backdoor/webshell patterns (obfuscated eval(), webshell string signatures, command execution of user input, arbitrary file writes, etc). Any executable PHP-family file found inside wp-content/uploads is flagged outright, since WordPress never legitimately places runnable code there.
02File Integrity Monitor — hashes every scanned file and records a baseline. Later scans report files that are new, modified, or deleted since the previous pass, so you can see exactly what changed and when.
03Cron Guard — catches cron-based persistence. WordPress fires whatever hook name is stored in its cron option regardless of whether any currently-loaded code registers a handler for it. Malware commonly schedules a job under an unfamiliar hook name and re-adds its own callback dynamically, so the job keeps firing even after the plugin/theme file that “owns” it is deleted. Hanu Malware Guard snapshots every scheduled cron event on each page load, flags any hook with no currently registered callback (“orphan”) or a randomly-generated-looking name, and lets you: Block a hook: unschedules every pending event for it immediately and blacklists the hook name so WordPress refuses to re-schedule it in the future (via the pre_schedule_event filter).
04Trust a hook: marks it as known-good so it stops appearing as a flag.
05Cross-references file changes against flagged cron activity so you can see file changes that happened right around when a suspicious cron job ran.
06Login Brute-Force Lockout — locks out an IP/username combination after too many failed logins within a configurable window. Runs as an early authenticate filter, so it covers both wp-login.php and XML-RPC logins (both authenticate through the same core wp_authenticate() call). Manage active lockouts and view recent failed attempts on the Login Security page.
07Firewall — blocks the handful of request patterns that account for most automated WordPress attacks: XML-RPC pingback amplification abuse (optional full XML-RPC disable), ?author=N and REST /wp/v2/users username enumeration, and requests whose URL contains obvious SQL-injection / path-traversal / PHP-injection strings. Logged-in administrators are always exempt from the query-string check so normal site use is never at risk of self-lockout. Blocked requests are logged on the Firewall page.
08Security Headers — sends X-Content-Type-Options , X-Frame-Options , Referrer-Policy , and a Content-Security-Policy: frame-ancestors 'self' (clickjacking protection only — no script-src policy, since that reliably breaks themes/page builders unless hand-tuned per site).
09Core File Integrity Check — compares wp-admin / wp-includes against the official checksums WordPress.org publishes for your exact version, and additionally flags any PHP file physically present in those folders that isn’t part of the official manifest at all (a classic place to hide a backdoor, since admins assume “core” never changes). Findings appear in Scan Results alongside everything else.
10Activity Log — records logins (success/failure/lockout), new admin users and role escalations, plugin/theme activation and switching, core/plugin/theme updates, and use of the built-in file editor, so you have a timeline of what changed and by whom.
Additional hardening options (Settings page): block PHP execution inside wp-content/uploads (.htaccess/web.config, with an Nginx snippet shown for reference), and disable the built-in wp-admin file editor.
External services
This plugin makes one outbound HTTP request, only when you run “Check Core File Integrity” (manually or via the daily scheduled scan): it calls the official WordPress.org checksums API at https://api.wordpress.org/core/checksums/1.0/?version={your WP version}&locale={your locale} to fetch the known-good hash list for your exact WordPress version. No site data, file contents, or personal information is sent — only your WordPress version number and locale, which is required for the API to return the right checksum set. See the WordPress.org API documentation and privacy policy: https://wordpress.org/about/privacy/. No other external service is contacted by this plugin.
See it in action
Screenshots & previews.
Dashboard — scan summary, quick actions, and core integrity status.Scan Results — findings with severity, snippet, and quarantine/ignore/delete actions.Cron Monitor — flagged cron hooks with block/trust actions.Login Security — active lockouts and recent failed attempts.
02 / Source details
Gettingstarted.
01Upload the hanu-malware-guard folder to /wp-content/plugins/ , or install directly from the WordPress Plugin Directory.
02Activate the plugin through the ‘Plugins’ menu in WordPress.
03Go to Malware Guard → Dashboard and run your first scan.
04Review Malware Guard → Cron Monitor for any orphaned/suspicious jobs.
05Review Malware Guard → Settings to tune login lockout thresholds, firewall toggles and security headers for your site.
03 / Source details
Frequently asked questions.
Will this definitely find every piece of malware on my site?
No security scanner can guarantee that, and you should be skeptical of any that claims to. The signature scanner and core-integrity checker produce heuristic matches for you to review — they are a strong starting point, not a certified clean bill of health. Always keep offline backups regardless.
I got a “critical” finding but I’m sure the file is legitimate — what now?
Inspect the snippet shown in Scan Results. Several signatures (obfuscated eval() , create_function() , long base64 blobs) can legitimately appear in caching layers, minified vendor code, or some page builders. If you’re confident it’s a false positive, click “Ignore” rather than deleting the file. Auto-quarantine of critical findings is off by default for exactly this reason.
Can it stop a malicious cron job from ever writing a file?
Not in real time — no WordPress plugin can intercept a file write at the PHP-engine level; that requires a hosting-level security layer. What it does is control cron scheduling (block a hook so WordPress refuses to re-run it) and detect file changes that happened around the same time as a suspicious cron run, so you can act quickly.
Does the login lockout affect XML-RPC too?
Yes. XML-RPC authentication goes through the same core wp_authenticate() function as the normal login form, so the same failed-attempt counter and lockout apply to both.
Will the firewall lock me out of my own site?
The query-string pattern check always exempts logged-in administrators, specifically so normal plugin/editor use can never trigger a self-lockout. Only unauthenticated requests are checked against the SQLi/path-traversal/PHP-injection patterns.
Does this send any of my data to a third party?
No. The only outbound request the plugin makes is to WordPress.org’s own official checksums API, and only your WordPress version + locale are sent (see “External services” above). Everything else — scanning, hashing, cron auditing, login tracking — runs entirely on your own server.
What happens to quarantined files if I uninstall the plugin?
Nothing is left on disk. Quarantining a file reads its content into the database (base64-encoded, in the plugin’s own scan_results table) and deletes the original — the file is gone from the filesystem the moment it’s quarantined, not just hidden behind a protected folder. Uninstalling the plugin removes that table along with everything else, so if you want to keep a quarantined file’s content for forensics, restore or export it before uninstalling.
Where can I get support?
Use the plugin’s support forum on WordPress.org, or email herry@hanuitsolutions.com.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati