Understanding and Resolving Sucuri Security Core Integrity Check Alerts
Content
If you use the Sucuri Security plugin, you've likely encountered its Core Integrity Check feature. This powerful tool scans your WordPress core files (/, /wp-admin, and /wp-includes) for changes, alerting you to files that have been added, modified, or removed. While this is a critical line of defense against hacking, it can sometimes generate confusing alerts or false positives. This guide will help you understand why these alerts happen and how to resolve them.
What is the Core Integrity Check?
The Core Integrity Check is a server-side scanner that compares your site's core WordPress files against the official WordPress.org distribution. Its purpose is to detect unauthorized changes that could indicate a security compromise. It's important to note that this is different from the SiteCheck malware scan, which only checks publicly rendered code and cannot scan your server's file system.
Common Reasons for Integrity Check Alerts
Not every alert signifies an attack. Here are the most common benign reasons for these notifications:
- Leftover Files from Updates: The WordPress updater doesn't always clean up files from previous versions. You might get alerts for old CSS or JS files that were officially removed in a newer WordPress release but are still present on your server.
- Server-Generated Files: Files created by your hosting environment, such as
.ftpquota,php_errorlog, orphp_mail.log, are not part of the official WordPress core and will be flagged as "added." - Language Files: Changes to
.moand.pofiles in thewp-content/languages/directory are frequently reported. These can sometimes be out of sync with the official WordPress API data. - Full Site Restorations: If you recently restored your entire site via FTP, the checksum and modification dates of all files will have changed, triggering a massive alert for every core file.
- Plugin/Theme Activity: Some legitimate plugins or themes (like Wordfence, which creates a firewall file) may write to core directories, triggering an alert.
How to Troubleshoot and Resolve Alerts
1. Analyze the Alert
First, don't panic. Look at the details in the email or the WordPress Integrity panel on the Sucuri Dashboard. Check the file path, status (added/modified/removed), and modification date. A file modified years ago is less likely to be an active threat than one modified minutes ago.
2. Verify the File's Legitimacy
For any suspicious file, especially those with recent timestamps, you should investigate. If you are unsure, you can compare the file's code to a fresh WordPress download or use a malware scanner. Files like phpinfo.php are often unnecessary and pose a security risk by revealing server information, so consider deleting them.
3. Marking False Positives as "Fixed"
For files you know are safe (e.g., server logs, leftover update files, language files), you can instruct the plugin to ignore them in future scans. This is the primary way to stop repeated alerts for the same file.
- Go to Sucuri Security > Dashboard.
- Find the WordPress Integrity panel. (Note: It may take a moment to load).
- In the table, check the box next to the file(s) you want to ignore.
- From the ACTION dropdown menu, select Mark as Fixed.
- Check the box to confirm you understand this action cannot be undone.
- Click Submit.
Important: The "Ignore Scanning" settings panel is for a different purpose and does not affect Core Integrity Checks. You must use the "Mark as Fixed" action within the integrity panel itself.
4. Check Alert Settings
Ensure you have email alerts for integrity checks enabled if you want to receive them. Navigate to Sucuri Security > Settings > Alerts and confirm the option Receive email alerts for core integrity checks is checked.
When an Alert is a Real Problem
While many alerts are false positives, you must take certain findings seriously. Be highly suspicious of:
- Files with recent timestamps added to core directories when you made no changes.
- Filenames that are misspellings of common files (e.g.,
.htaccesssinstead of.htaccess). - Unknown
.phpfiles in your root or/wp-admin/directory (e.g.,fantversion.php,temp1-1.php).
If you find such files, you should immediately investigate for a compromise. A single malicious file often means there are more. It is recommended to follow a complete WordPress hack repair guide.
What If "Mark as Fixed" Fails?
If you try to mark a file as fixed but see a message like "0 out of 1 files were successfully processed," it is usually a file permissions issue. The plugin needs to write to a cache file in /wp-content/uploads/sucuri/sucuri-integrity.php. Check that the sucuri directory exists and that your web server has write permissions for it.
By understanding how the Core Integrity Check works, you can effectively use it to protect your site without being overwhelmed by false alarms. It's a valuable tool for maintaining your WordPress site's security posture.
Related Support Threads Support
-
Sucuri Integrity Scan Emails Don’t Match Dashboardhttps://wordpress.org/support/topic/sucuri-integrity-scan-emails-dont-match-dashboard/
-
Ignore/create exceptions for some core fileshttps://wordpress.org/support/topic/ignorecreate-exceptions-for-some-core-files/
-
How to disable .ftpquota core integrity alerthttps://wordpress.org/support/topic/how-to-disable-ftpquota-core-integrity-alert/
-
Email alerts – not receiving core files modifiedhttps://wordpress.org/support/topic/email-alerts-not-receiving-core-files-modified/
-
Locked out of my site….https://wordpress.org/support/topic/locked-out-of-my-site-19/
-
Core Integrity false positiveshttps://wordpress.org/support/topic/core-integrity-false-positives/
-
Changes in the integrity of your core files cannot be restoredhttps://wordpress.org/support/topic/changes-in-the-integrity-of-your-core-files-cannot-be-restored/
-
Received message "Changes in the integrity of your core files were detected…"https://wordpress.org/support/topic/received-message-changes-in-the-integrity-of-your-core-files-were-detected/
-
Consistent daily email alerts but Dashboard shows clean corehttps://wordpress.org/support/topic/consistent-daily-email-alerts-but-dashboard-shows-clean-core/
-
Sucuri Alert – Core Integrity Checkshttps://wordpress.org/support/topic/sucuri-alert-core-integrity-checks/
-
[SOLVED] How do I acknowledge WordPress core files were modified?https://wordpress.org/support/topic/how-do-i-acknowledge-wordpress-core-files-were-modified/
-
Core Integrity Checks emails when the dashboard integrity checks shows nothinghttps://wordpress.org/support/topic/core-integrity-checks-emails-when-the-dashboard-integrity-checks-shows-nothing/
-
Core Integrity Checkshttps://wordpress.org/support/topic/core-integrity-checks/
-
How to set files to be ignored by Core Integrity Checks?https://wordpress.org/support/topic/how-to-set-files-to-be-ignored-by-core-integrity-checks/
-
Noob needs assistance with Core Integrity Checkshttps://wordpress.org/support/topic/noob-needs-assistance-with-core-integrity-checks/
-
Core files scan is rerun on audit paginghttps://wordpress.org/support/topic/core-files-scan-is-rerun-on-audit-paging/
-
Add alert for core integrity changeshttps://wordpress.org/support/topic/add-alert-for-core-integrity-changes/
-
Core Integrity Checks reporting WP Core fileshttps://wordpress.org/support/topic/core-integrity-checks-reporting-wp-core-files/
-
Core Integrity – What is this?https://wordpress.org/support/topic/core-integrity-what-is-this/
-
Alert when core files have been changedhttps://wordpress.org/support/topic/alert-when-core-files-have-been-changed/
-
Integrity Check showing “files” with a blank path/file-namehttps://wordpress.org/support/topic/integrity-check-showing-files-with-a-blank-path-file-name/
-
Malware keeps being uploaded to my core fileshttps://wordpress.org/support/topic/malware-keeps-being-uploaded-to-my-core-files/
-
Core Integrity > mark as fixed = FAILhttps://wordpress.org/support/topic/core-integrity-mark-as-fixed-fail/
-
Exclude svn files from file integrity check?https://wordpress.org/support/topic/exclude-svn-files-from-file-integrity-check/
-
Core integrity changes affecting 662 files with a clean WordPress installhttps://wordpress.org/support/topic/core-integrity-changes-affecting-662-files-with-a-clean-wordpress-install/
-
All core files changed with a filesize of 0https://wordpress.org/support/topic/all-core-files-changed-with-a-filesize-of-0/
-
Core Integrity in languages files – Why ?https://wordpress.org/support/topic/core-integrity-in-languages-files-why/
-
Core integrity keeps complaining about perfectly fine filehttps://wordpress.org/support/topic/core-integrity-keeps-complaining-about-perfectly-fine-file/
-
I receive email alerts weeks after the core integrity files were all fixed.https://wordpress.org/support/topic/i-receive-email-alerts-weeks-after-the-core-integrity-files-were-all-fixed/