We sometimes hear that some people are not satisfied with the numbers of false positives in their malware scan results.
Firstly, we want to say that we aren't ignorant of this and don't disregard this issue. We have put in an immense amout of effort to eliminate false positives as much as possible. But there is room for improvement. In this article we'll outline what and why, and where improvements can be made, with your help.
Why Do You Get False Positives?
False positives are where the scanner spots content in a file that matches a typical malware pattern. It may be malware, and it may not be malware.
If it's not malware, then this is a "false positive".
How does Shield handle false positives?
Shield will try to automatically remove irrelevent false positives from your results so you never have to be bothered by them.
The main method is to examine the original contents of files from WordPress.org plugins and themes to determine whether the code is the same as the original, or not. This is to say that if the file from the scan result is identical to the file originally released in that plugin/theme from WordPress.org, then we can safely disregard this false positive and never show it to you.
That's great for WordPress.org plugins and themes (because we can examine the original code). Shield is doing this automatically every time you do a scan.
If Shield can't verify the original file content, it can't hide the result.
This is particularly true of premium plugins and themes. Since we can't verify original files from premium plugins and themes, we can't hide those false positive results.
What other ways do we have of removing False Positives?
When an admin clicks to "Ignore" a false positive, this gets sent to us and we record it. Each time it happens, we build up a knowledgebase of false positives (and also results that aren't - ie when an admin clicks to repair or delete).
So we have a measure called "False positive confidence" - a confidence level where the "network" says this result is a false positive.
We provide this confidence level in the results table to help the admin make a decision and also to further filter results from your scan results table automatically.
To take advantage of this feature, you must ensure the option called "Ignore False Positives Threshold" is enabled and the higher you set this option, the fewer false positive results you'll see.
What can we do about premium plugins and themes?
If you've been following along, you'll see that we're adding premium plugins and themes to our database so we can help to eliminate false positives for them also. But this requires the support of premium plugin developers.
It's a very manual process, and one that requires effort from everyone involved, but we're making progress.
How can you help?
If you reach out to your premium plugin developers, and theme developers and tell them you want them to get involved with our WP Hashes project, this will help create demand for it. Some developers don't even repond to our requests - perhaps with our users asking them for it, they'll do it. Perhaps.
What if you're really sick of the false positive results?
Sadly, then, your only option is to switch off the feature.