Backup, restore, and migrate WordPress sites fast. Supports TAR, remote backups, multi schedules, and full multisite compatibility.
Category Scores
Top Issues by Category
security806
maintainability643
supply_chain138
Issues Details
1,704 issues found in latest scan
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" (Code: {$e->getCode()})"'.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().
unlink() is discouraged. Use wp_delete_file() to delete a file.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"- ATIME: {$sparse->getAtime()} -> {$sparse->getAtime(false)}"'.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen().
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite().
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().
Detected usage of a non-sanitized input variable: $_COOKIE[GoogleAuthenticator::MFA_COOKIE_KEY]
rename() is discouraged. Use WP_Filesystem::move() to rename a file.
$_COOKIE[GoogleAuthenticator::MFA_COOKIE_KEY] not unslashed before sanitization. Use wp_unslash() or similar
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fread().
Mismatched text domain. Expected 'backup' but got 'jetbackup'.
Processing form data without nonce verification.
Use placeholders and $wpdb->prepare(); found $preparedQuery
print_r() found. Debug code should not normally be used in production.
Processing form data without nonce verification.
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: touch().
parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.
Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DISABLE_WP_CRON".
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_active_plugins".
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" (Code: {$e->getCode()})"'. | 676 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 306 |
| hidden_files | ERROR | Hidden files are not permitted. | 138 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fclose | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose(). | 59 |
| WordPress.WP.AlternativeFunctions.unlink_unlink | ERROR | unlink() is discouraged. Use wp_delete_file() to delete a file. | 57 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"- ATIME: {$sparse->getAtime()} -> {$sparse->getAtime(false)}"'. | 54 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fopen | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen(). | 47 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fwrite | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fwrite(). | 35 |
| WordPress.WP.AlternativeFunctions.file_system_operations_mkdir | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir(). | 24 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_COOKIE[GoogleAuthenticator::MFA_COOKIE_KEY] | 23 |
| WordPress.WP.AlternativeFunctions.rename_rename | ERROR | rename() is discouraged. Use WP_Filesystem::move() to rename a file. | 21 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_COOKIE[GoogleAuthenticator::MFA_COOKIE_KEY] not unslashed before sanitization. Use wp_unslash() or similar | 20 |
| WordPress.WP.AlternativeFunctions.file_system_operations_fread | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fread(). | 17 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'backup' but got 'jetbackup'. | 16 |
| Squiz.PHP.DiscouragedFunctions.Discouraged | WARNING | The use of function ini_set() is discouraged | 13 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 13 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $preparedQuery | 11 |
| WordPress.PHP.DevelopmentFunctions.error_log_print_r | WARNING | print_r() found. Debug code should not normally be used in production. | 11 |
| Generic.PHP.ForbiddenFunctions.Found | ERROR | The use of function eval() is forbidden | 10 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 9 |
| WordPress.WP.AlternativeFunctions.file_system_operations_touch | ERROR | File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: touch(). | 9 |
| WordPress.WP.AlternativeFunctions.parse_url_parse_url | ERROR | parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead. | 9 |
| WordPress.WP.EnqueuedResourceParameters.MissingVersion | WARNING | Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching. | 9 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound | WARNING | Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DISABLE_WP_CRON". | 8 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_active_plugins". | 8 |
Latest Snapshot
Findings
1,704
Errors
1,559
Warnings
145
Score History
First score snapshot
First scan completed Jun 19, 2026
v3.1.21.3 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 19, 2026
v3.1.21.3
10
Latest
- Findings
- 1,704
- Errors
- 1,559
- Warnings
- 145
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 19, 2026Latest | 10 | 1,704 | 1,559 | 145 | v3.1.21.3 | 2.0.0 | 2026.06-mvp-static-v2 |