Defender Security – Malware Scanner, Login Security & Firewall

WordPress security plugin with malware scanner, IP blocking, audit logs, antivirus scans, firewall, 2FA, brute force login security, and more.

v5.11.0WPMU DEV - Your All-in-One WordPress PlatformUpdated 2026-04-07Added Jun 7, 201780k+ installs96% rating100% support resolved
24
Score
306
Errors
518
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance97
Maintainability0

Top Issues by Category

maintainability538
1Non Prefixed Namespace FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFoundWARNING2272Non Prefixed Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFoundWARNING933Non Prefixed Variable FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFoundWARNING584missing direct file access protectionmissing_direct_file_access_protectionERROR385error log var exportWordPress.PHP.DevelopmentFunctions.error_log_var_exportWARNING236Direct QueryWordPress.DB.DirectDatabaseQuery.DirectQueryWARNING167No CachingWordPress.DB.DirectDatabaseQuery.NoCachingWARNING168Non Prefixed Constant FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFoundWARNING129Non Prefixed Function FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFoundWARNING1110badly named filesbadly_named_filesERROR911Schema ChangeWordPress.DB.DirectDatabaseQuery.SchemaChangeWARNING812Plugin Directory WritePluginCheck.CodeAnalysis.WriteFile.PluginDirectoryWriteERROR613Not AllowedPluginCheck.CodeAnalysis.Heredoc.NotAllowedERROR514ABSPATHDetectedPluginCheck.CodeAnalysis.WriteFile.ABSPATHDetectedWARNING415Dynamic Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFoundWARNING416file system operations chmodWordPress.WP.AlternativeFunctions.file_system_operations_chmodERROR317unlink unlinkWordPress.WP.AlternativeFunctions.unlink_unlinkERROR318file system operations freadWordPress.WP.AlternativeFunctions.file_system_operations_freadERROR2
security184
i18n82

Issues Details

824 issues found in latest scan

WARNING227
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound

Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "WP_Defender".

ERROR137
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Circular dependency detected while trying to resolve entry '$entryName': Dependencies: "'.

WARNING93
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'wd_2fa_init_provider_' . $slug".

ERROR82
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'defender-security' but got 'plugin-cross-sell-textdomain'.

WARNING58
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_tests_dir".

ERROR38
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING23
WordPress.PHP.DevelopmentFunctions.error_log_var_export

var_export() found. Debug code should not normally be used in production.

WARNING19
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $column at \t\t\t\tSET `$column` = '$option_key',\n

WARNING17
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $placeholders used in $wpdb->query()\n$placeholders used without escaping.

WARNING16
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING16
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNING12
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DONOTCACHEPAGE".

WARNING11
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "get_public_suffix".

ERROR9
badly_named_files

File and folder names must not contain spaces or special characters.

WARNING8
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR6
PluginCheck.CodeAnalysis.WriteFile.PluginDirectoryWrite

Plugin folders are deleted when upgraded. Do not save data to the plugin folder using file_put_contents(). Detected usage of constant WPINC. Use wp_upload_dir() to get the uploads directory path or save to the database instead.

ERROR6
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Could not find $_tests_dir/includes/functions.php, have you run bin/install-wp-tests.sh ?"'.

ERROR5
PluginCheck.CodeAnalysis.Heredoc.NotAllowed

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

WARNING4
PluginCheck.CodeAnalysis.WriteFile.ABSPATHDetected

Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files.

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$filter_name&quot;.

ERROR3
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $column used in $wpdb->query()\n$column assigned unsafely at line 154.

ERROR3
WordPress.WP.AlternativeFunctions.file_system_operations_chmod

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: chmod().

ERROR3
WordPress.WP.AlternativeFunctions.unlink_unlink

unlink() is discouraged. Use wp_delete_file() to delete a file.

WARNING2
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_ENV[$variableName]

ERROR2
WordPress.WP.AlternativeFunctions.file_system_operations_fread

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fread().

Latest Snapshot

Findings

824

Errors

306

Warnings

518

Score History

First score snapshot

First scan completed Jun 20, 2026

v5.11.0 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v5.11.0

24

Latest

Findings
824
Errors
306
Warnings
518
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins