MuRu Guard — Scanner, Protection & AI Assistant

Free, open-source Joomla malware scanning -- find webshells, rogue Super Users, and SPPB or JCE compromise traces in minutes, right inside your own admin panel. Upgrade any time for the Smart AI Assistant that explains and repairs findings from chat, real-time Protection Mode, and scheduled scans that alert your team on Slack, Discord, or Telegram.

...total downloadsFree & open-source · no account required to scan

Updates arrive natively -- Joomla's own Extensions > Manage > Update screen picks up every new release, no separate download visit required.

Already have an account? Sign in

MuRu Guard Security Scanner interface

SPPB + JCE

RCE Coverage

Super User

Only, By Default

IP + GeoIP

Real-Time Blocking

Live

Protection Mode

AI Repair

From Chat, Audited

4 Channels

Scan Alerts

New: earn free months on your Pro license

Share MuRu Guard Pro in a Joomla community or leave a review, submit the link from My Products, and get 15 days added to your license once we verify it -- as many links as you want to share.

My Products →

Need custom Joomla work too?

Joomla Customizations Support -- ongoing module/template tweaks, bug fixes, and small feature builds, submitted right from your dashboard. Starter plan from USD 30.00, lifetime.

Learn more →

Built For SP Page Builder & Helix Sites

Most Joomla security scanners are generic -- the same signature list regardless of what your site is actually built with. MuRu Guard isn't: it exists because of one specific, real campaign against SP Page Builder's uploadCustomIcon RCE and the Helix Ultimate mega-menu XSS payloads that followed it, and every detection signature in this scanner was built and refined against real infections from that campaign -- not a generic malware wordlist.

If your site (or a client's) runs SP Page Builder or a Helix-framework template, that's not a coincidence you have to explain to a generic scanner -- it's exactly the case this tool was built to understand. Core entry-point tampering, rogue iconfont registrations in the SPPB asset table, Helix-specific mega-menu injection markers, template-styles defacement -- these are checks a generic scanner doesn't run at all, because it doesn't know these frameworks exist.

Built from a real campaign, not a wordlist

Every SPPB/Helix signature in this scanner traces back to an actual compromise, verified against real infected sites -- not copied from a generic malware-pattern list.

Pro extends that specialization further

File Integrity Monitoring baselines your SPPB/Helix template files specifically, so a payload hand-inserted into a file you already trust doesn't need to match a known pattern to get caught. The Smart AI Assistant reads and explains findings in the context of your actual SPPB/Helix codebase, not generic PHP.

Framework-aware, not just Joomla-aware

Checks the SP Page Builder asset table, Helix Ultimate's mega-menu params, and JCE's known secondary-infection paths specifically -- the places a compromise on these frameworks actually shows up.

Still free at its core

Every signature above -- SPPB, Helix, JCE -- runs in the free edition with no restrictions. Pro adds depth (integrity monitoring, an AI assistant that knows your stack, broader request-level protection), not the framework-specific detection itself.

What's New

Latest fixes and additions, released to both Free and Pro unless noted:

TimeMachine: Backup & Restore for every AI repair and cleanup action (Pro)

Every file the Smart AI Assistant creates, edits, renames, or deletes -- and every bulk delete, Clean Code, or Clean Menu XSS cleanup -- now snapshots the prior state automatically first. Restore any of them with one click, verified against a SHA-256 hash before the restore is trusted, from a new Protected Repairs list.

Autopilot Mode (Pro)

Scheduled scans can now auto-remove a small set of near-zero-false-positive threats without you having to log in first -- each candidate still gets an independent AI-verification pass before anything is touched, and removal goes through the same TimeMachine-snapshotted path as a manual repair. Off by default; opt in from Settings > Automations.

Fixed a scan crash on locked-down hosts

Some hosts disable set_time_limit() entirely. The scanner's best-effort attempt to raise the execution-time limit could trigger an uncaught fatal error on those hosts instead of just proceeding -- now guarded so a scan never crashes with a generic server error because of it.

Pre-scan server limits advisory

Before a scan starts, the scan screen now shows whether this host will let execution time and memory limits be raised, with a ready-to-paste .user.ini fix if not -- so a large site's limits are visible upfront instead of only after a scan fails partway through.

Fewer false positives from host/antivirus scanners

Several hosting-panel and antivirus heuristics (SiteGround Site Scanner, Huorong via VirusTotal) were flagging the scanner's own detection-signature code as if it were the malware it detects. Rewritten so the scanner's on-disk files no longer reproduce those trigger patterns, with detection accuracy unchanged.

Custom asset-only folders no longer flagged

A template's own fonts/css-only folder (containing no executable code) previously showed up as a Medium-confidence finding requiring manual dismissal. Now given the same no-structural-flag treatment as a known extension's own asset folder, while every file inside is still fully content-scanned.

Native Joomla update detection, fixed for real-world hosting

Extensions > Manage > Update now reliably shows an available MuRu Guard update, including on Joomla 6.x sites and sites behind a CDN/reverse proxy -- closes a caching bug and a version-compatibility bug that could each independently hide a real update.

Optional security-alert email signup (Free)

A dismissible banner on the Free dashboard screen to get notified by email about new releases and security advisories, opt-in and one click to dismiss permanently.

Overview

MuRu Guard installs like a standard Joomla extension and runs inside the administrator area. It uses Joomla's own authentication and permission system, so there is no separate scanner URL, access key, or public file to remove later.

The scanner focuses on real-world compromise patterns linked to SP Page Builder's uploadCustomIcon vulnerability, suspicious JCE paths, core entry-point tampering, rogue Super Users, and database payloads commonly seen after Joomla attacks.

Finding the problem is only half the job, so the component also ships the parts that come after it: a live request-blocking plugin, scheduled scans that push results to your team's chat, and a Smart AI Assistant that can open the flagged file, explain what it is looking at, and write the fix -- without ever being able to touch Joomla core or the scanner's own code.

Critical Security Notice

Before scanning a compromised Joomla site, close the original entry point first.

  1. 1Update SP Page Builder to 6.6.2 or later.
  2. 2Update or remove JCE if it is installed.
  3. 3Take a full backup and run the first scan on staging when possible.

Core Features

Protection Mode

  • Companion plugin checks every site request
  • Manual IP allow/block list with CIDR range support
  • Country blocking via a cached, fail-open GeoIP lookup
  • Blocks known scanner/bot user agents and brute-force logins

Active Web Application Firewall

Pro
  • Blocks generic SQL injection, XSS, local/remote file inclusion, and command-injection patterns in real time
  • Runs after Protection Mode's own webshell-specific checks find nothing, so a request is never scored twice
  • Includes a signature for Joomla's CVE-2023-23752 unauthenticated webservices probe
  • Broad, proximity-based matches log only rather than block, to keep false positives out of the blocking path

Filesystem Scan

  • Scans media, images, templates, tmp, cache, and webroot paths
  • Cross-references Joomla's own extension registry to catch fake templates, modules, plugins, and components that spoof the filesystem alone
  • Flags suspicious PHP, phtml, phar, and shtml files

Core Integrity

  • Checks Joomla entry points for prepended payloads
  • Verifies supported core files with SHA-256 hashes
  • Scans its own extension files too, not just the rest of the site

File Integrity Monitoring

Pro
  • Baseline-hash every file once, then flag any that silently change since
  • Catches a payload hand-inserted into a file you already trust -- independent of signature matching
  • Never updates the baseline automatically; drift alerts ride the same email/Slack/Discord/Telegram pipeline as scheduled scans
  • A brand-new file is left to the regular scanner's own checks, so this stays a narrow, high-signal check

Database Scan

  • Finds Helix Ultimate mega-menu XSS payloads
  • Checks SPPB asset rows for injected code
  • Reports template defacement strings

Smart AI Assistant

Pro
  • Chat with an assistant that can list, search, read, and edit your project files
  • Joomla core, configuration.php, and MuRu Guard's own files are off-limits
  • Destructive actions need explicit confirmation before they run
  • Every create, edit, rename, and delete is recorded in an audit log

TimeMachine (Backup & Restore)

Pro
  • Every AI repair and cleanup action saves a verified snapshot first, automatically -- never a step you have to remember
  • One click undoes a single file or an entire multi-file AI request as one unit
  • Restores files AND database rows -- not just filesystem changes
  • Refuses to silently overwrite a file that changed again after the repair
  • Snapshots are SHA-256 verified before a restore ever trusts them

Autopilot Mode

Pro
  • Scheduled scans can auto-remove near-zero-false-positive threats without waiting for you to log in
  • Every candidate gets an independent AI-verification pass before anything is touched -- only a confirmed-malicious verdict leads to removal
  • Runs through the same TimeMachine-snapshotted delete path as a manual repair, so every auto-fix is restorable
  • Off by default -- opt in from Settings > Automations
  • Everything else is still only ever reported, exactly as before

Automations & Alerts

Pro
  • Scheduled scans triggered by a secret cron token URL
  • Email alerts on findings, with the last run time on the dashboard
  • Slack, Discord, and Telegram channels for the whole team
  • Fleet Dashboard reporting to watch many sites in one place
  • Bulk re-scan or push a hardening config to every licensed site at once

Smart False-Positive Handling

  • Mark any finding as safe with one click
  • Dismissals are tied to the exact content reviewed, not just a filename
  • Automatically reappears if that same file is ever compromised later

.htaccess Hardening Advisor

  • Checks for PHP execution blocking in upload folders
  • Flags missing directory-listing and sensitive-file protection
  • Read-only: suggests copy-paste rules, never edits the file itself

Pricing

The scanner, cleanup tools, Protection Mode, and .htaccess advisor are free forever, with no account, license key, or feature timer. Upgrade to Pro on your own schedule when you want File Integrity Monitoring, the Web Application Firewall, the Smart AI Assistant, team alerts, and multi-site reporting.

Free

Everything you need to find and clean an infected site.

$0forever
Download on GitHub
  • Full filesystem & database scan
  • Core integrity & checksum checks
  • Guided cleanup & false-positive handling
  • Real-time Protection Mode plugin
  • .htaccess hardening advisor
  • File Integrity Monitoring
  • Active Web Application Firewall
  • Scheduled scans + email alerts
  • Smart AI Assistant
  • TimeMachine backup & restore
  • Autopilot Mode
  • Slack / Discord / Telegram alerts
  • Fleet Dashboard (multi-site)

Single Site

Full Pro features for one Joomla install.

$10/ year, 1 site
Get Single Site
  • Everything in Free
  • File Integrity Monitoring
  • Active Web Application Firewall
  • Smart AI Assistant (read, search, fix, audited)
  • TimeMachine backup & restore, verified & one-click
  • Autopilot Mode (auto-fix near-zero-FP threats)
  • Scheduled scans + email alerts
  • Slack / Discord / Telegram alert channels
  • Covers 1 site
  • Fleet Dashboard (multi-site)
Most Popular

Business

For agencies managing a handful of client sites.

$40/ year, 5 sites
Get Business
  • Everything in Single Site
  • Fleet Dashboard reporting across sites
  • Fleet bulk actions (re-scan / harden all sites)
  • Covers up to 5 sites

Agency

For agencies and hosts managing an unlimited number of sites.

$75/ year, unlimited
Get Agency
  • Everything in Business
  • Unlimited site activations
  • Priority support

Detection Details

Content signatures

Detects eval/base64 payloads, cookie-gated backdoors, c99/r57/WSO-style shells, stream-wrapper loading, chr-array decoding, and script injection.

Extension registry cross-check

Cross-references Joomla's own #__extensions table to catch fake templates, modules, plugins, and components -- a harder-to-fake signal than filesystem structure alone, since an attacker can spoof a folder and its manifest but not an enabled registry row.

Filename patterns

Matches known malware-drop naming, duplicate configuration files, random numeric drop folders, and suspicious top-level webroot items.

JCE coverage

Applies tuned heuristics to media/com_jce, administrator/components/com_jce, components/com_jce, and plugins/editors/jce.

Rogue users

Flags Super User accounts with attacker-pattern names or suspicious local email domains.

Confidence scoring

Labels findings as High or Medium so administrators can prioritize review.

Guided actions

Offers scoped delete, surgical menu params cleanup, rogue SPPB asset row deletion, and one-click false-positive dismissal for current scan findings.

Protection Mode

On-demand scanning finds problems after they happen. Protection Mode, powered by the optional MuRu Guard Shield plugin, checks requests as they reach Joomla and records matches in a sectioned Protection Log.

Protection Mode

Master switch that detects and logs every match.

Attack Blocking

Optional 403 block for high-confidence webshell, SPPB RCE, and known drop-filename matches.

Brute-Force Blocking

Optional IP blocking after repeated failed administrator login attempts.

Manual IP Access List

Always-allow or always-block specific IPs or CIDR ranges, checked before any pattern or threshold rule -- an allow entry bypasses everything else.

Country Blocking

Reject requests from chosen countries via a free IP-to-country lookup, cached per IP so it's a one-time check, not a per-request dependency. Fails open if the lookup service is ever unreachable.

Bad User-Agent Blocking

Actively reject known scanner/bot user agents, kept as its own switch since a User-Agent string alone is easier to spoof than a real attack payload.

All protection switches are off by default, and authenticated non-guest admin sessions are exempt from request-pattern and country blocking, so you can never lock yourself out by travelling or using a VPN.

Active Web Application Firewall

Pro

Protection Mode's own signatures are deliberately narrow -- webshell interaction, SP Page Builder's own RCE, known drop filenames -- matching this scanner's original webshell-cleanup focus. The Web Application Firewall adds a second, broader pass: generic injection-class patterns any Joomla site is exposed to, regardless of which extensions it runs.

SQL Injection

UNION SELECT, boolean-tautology (' OR '1'='1), and time-based blind injection (SLEEP/BENCHMARK/WAITFOR DELAY).

Cross-Site Scripting

Inline <script> tags and event-handler attributes (onerror=, onload=, ...) in request parameters.

Local & Remote File Inclusion

PHP stream wrappers (php://, data://, expect://, ...) and remote-URL include/require attempts.

Command Injection

Shell metacharacters (;, |, `, &&) chained with a recognized command -- deliberately excludes a plain & and generic words like "id" to avoid flagging ordinary Joomla query strings.

Known-CVE Coverage

Includes a signature for Joomla's CVE-2023-23752 unauthenticated webservices probe.

Runs Second, Not Twice

Only checked when Protection Mode's own signatures find nothing on that same request -- never double-scores a match.

Broad, proximity-based matches -- where a signature can't confirm two suspicious things are actually the same parameter -- log for review instead of blocking, so a false positive never reaches the blocking path.

File Integrity Monitoring

Pro

Signature-based scanning only catches content matching a known pattern. A payload hand-inserted into an already-trusted file can dodge every signature check while still being a real backdoor. File Integrity Monitoring catches that class of compromise instead: hash every file once as a known-good baseline, then flag any file whose content no longer matches -- independent of whether the new content looks malicious by pattern-matching at all.

Create Baseline

One click hashes every scanned file with SHA-256 and stores it as your site's known-good snapshot.

Check Integrity Now

Re-hashes and compares against the baseline on demand, or automatically as part of a scheduled check.

Narrow, High-Signal

Only files present in BOTH the baseline and the current scan, with a different hash, are reported -- a brand-new file is left to the regular scanner's own checks.

Never Auto-Updates

The baseline only moves forward when you explicitly rebuild it -- a legitimate update changes files too, so this never silently re-baselines on its own.

Rides Existing Alerts

Drift found during a scheduled check sends the exact same email/Slack/Discord/Telegram alert as a signature-based finding -- no separate notification habit to learn.

Medium Confidence By Design

Flagged at medium, not high -- a legitimate extension update also changes files, and this can't tell the difference from tampering on its own.

Smart AI Assistant

Pro

A scan tells you which file is suspicious. The Smart AI Assistant is the step after that: its own panel in the left sidebar (Components > MuRu Guard > Smart AI Assistant) where you can ask about a finding in plain language, have the assistant open the file, search the rest of the project for related code, and write the correction back to disk -- all from inside the Joomla administrator.

It works as a multi-turn loop. Each turn, the assistant decides which single tool it wants to run next, that tool executes locally on your own server, and the result feeds into the next turn. Your codebase is never uploaded, indexed, or mirrored anywhere -- only the tool name, its arguments, and its result cross the network, which means the model sees the contents of files it explicitly reads or writes during your conversation and nothing else.

What it can do

Browse the project

Shallow, one-level directory listings so it can walk the tree the way you would, without dumping the whole filesystem into a single request.

Read files

Reads up to 256 KB of a file and tells you plainly when a file was truncated, instead of silently reasoning about a partial view.

Search the project

Matches on both filenames and file contents across PHP, JS, TS, CSS, HTML, XML, INI, JSON, Markdown, and text files, returning the first matching line and its number.

Create and edit files

Writes new files or overwrites existing ones, up to a 256 KB limit per write.

Rename files

Moves or renames a file, and refuses if something already exists at the destination rather than overwriting it.

Delete files

Removes a single file at a time. No recursive directory deletion, so a wrong instruction can't cascade.

What it cannot do

Giving an assistant write access to a production site is only reasonable if the fences are real, so they are enforced in the extension's own PHP -- not requested politely in a prompt the model is free to ignore.

Joomla core is off-limits

libraries, includes, api, cli, the language folders, and administrator/manifests are all blocked. Core updates overwrite these anyway, so hand-editing them is risky with no upside.

Entry points are protected

configuration.php and the root, administrator, and api index.php files can't be touched. Corrupting one of those takes the whole site down, including the assistant you'd need to fix it.

No self-tampering

The assistant can't edit MuRu Guard's own component files or the Shield plugin that is actively protecting the site -- so it can't be talked into disabling the thing watching for the attack.

Blocked paths are hidden, not locked

Denied files and folders are left out of listings and search results entirely, so the assistant never learns they exist to try in the first place.

No escaping the webroot

Paths are normalised and resolved against the real webroot, which rejects both ../ traversal in the input and symlinks planted inside the site that point elsewhere on disk.

Nothing destructive without a yes

Writes, renames, and deletes need your explicit confirmation in the chat before they are executed.

Audit log

Every file the assistant creates, edits, renames, or deletes is recorded with the action, the path, the Joomla username who approved it, and a timestamp. The last 1,000 entries are kept and shown newest first in the panel's own audit tab. Approving a change in a chat window shouldn't mean losing the paper trail you would get from a normal form submission.

Custom Skill

Write your project's own conventions once -- coding standards, which template to touch, what never to change -- or upload them as a .md or .txt file, up to 64 KB. They are added to the assistant's instructions on every turn, so you don't repeat yourself each session. Because a Skill describes this specific install's codebase, it is stored on your own server rather than on your account.

TimeMachine (Backup & Restore)

Pro

An AI assistant with write access to your site is only worth using if a bad edit costs you nothing to reverse. TimeMachine is the safety net underneath every repair MuRu Guard makes -- not a separate tool you have to remember to run, but a step the extension takes for you automatically, before it lets anything touch disk.

It covers more than the Smart AI Assistant: bulk file deletion, Clean Code, Clean Menu XSS, and the rest of the scanner's own one-click cleanup actions all get the same protection. Whether the change came from a conversation with the AI or a button click on a scan result, there is always a way back.

What it actually does

Snapshots before every repair

The instant before a file is written, renamed, or deleted -- or a cleanup action touches the database -- its exact prior state is saved. This happens server-side, unconditionally, for every AI edit and every cleanup action. There is no setting to forget to turn on.

Verified, not just stored

Every snapshot is SHA-256 hashed at the moment it's taken and re-verified against that hash before a restore is ever allowed to trust it. A corrupted or tampered snapshot is refused, even if you force the restore.

One click, per file or per whole request

A single AI turn that edits three files is one transaction. Undo the whole thing in one click, or reach into it and restore just one of the three -- your call.

Won't silently clobber a later change

If a file was edited again -- by you, by hand, by anything -- after the repair it's restoring, the restore stops and asks first instead of quietly overwriting work you did afterward.

A real diff before you approve, not just after

The same confirmation step where you approve an AI edit now shows you a line-by-line diff of what's about to change, or a size/hash comparison for binary files -- computed locally, never sent anywhere.

Keep the ones that matter

Snapshots age out automatically on a retention window you control (days and a maximum count) -- but pin any specific repair to Keep, and it's exempt from cleanup for as long as you need it.

How you recover

Every restorable repair shows up in a Protected Repairs list -- a shortcut view right inside the Smart AI Assistant panel showing the most recent ones, and the full history under Settings > Backup & Restore. Each entry shows what changed, who approved it, and when. Restoring it is one button: Restore puts the file (or the whole transaction) back exactly as it was, verified against its saved hash first. If something changed again since, you'll see a conflict warning before anything is overwritten, not after.

Undo an AI edit

Approved a fix that turned out wrong? Open the Smart AI Assistant panel, find the entry in Protected Repairs, click Restore. The file goes back to exactly what it was before the AI touched it -- no need to ask the assistant to reverse itself, and no risk it reconstructs the original slightly differently than it actually was.

Undo a cleanup mistake

Bulk-deleted a file that turned out to be legitimate, or a Clean Menu XSS pass stripped more than it should have? Same list, same Restore button -- database rows are put back with the exact values they had before, never a best-effort reconstruction.

Retention is configurable from Settings > Backup & Restore: how many days a snapshot is kept, and a maximum count so storage never grows unbounded on a site the assistant works on heavily. Every snapshot, repair, and restore is also written to the same Protection Log the rest of MuRu Guard uses -- one audit trail, not a second one to check separately.

AI Integrations

Pro

Settings > AI Integrations is where the Smart AI Assistant gets its connection. The AI provider is configured once at the account level rather than per site, so a new install covered by the same license can use the assistant immediately, with no credentials to copy between sites and no API key sitting in each site's database.

Connect once, use everywhere

Account-level configuration means every install under an active license shares the same connection.

Per-turn, stateless requests

Each turn of the conversation is a separate request. Nothing about your project is retained between sessions on the service side.

Your files stay on your server

File tools execute locally. Only tool names, arguments, and results travel over the network -- never a bulk copy of your site.

Site-specific context stays local

Your custom Skill is written to the install itself, not to your account, because it describes this codebase and no one else's.

Unlocks the moment the license validates

Activate or correct a license and the AI Integrations and Pro Features tabs open on the same page load -- no second refresh needed.

Optional by design

Skip it entirely and the scanner, cleanup tools, Protection Mode, and .htaccess advisor all work exactly as they always have.

Automations & Alerts

Pro

A scanner only helps if someone runs it. Scheduled scanning runs the same checks on your own cron schedule and tells you where you already are -- inbox, team chat, or a dashboard covering every site you maintain. This entire section is a Pro feature.

Scheduled scans

Turn on scheduled scanning and MuRu Guard generates a secret token. Point a cron job or your host's scheduled task at the tokenized URL and the scan runs unattended. The dashboard shows when it last completed.

Email alerts

Send results to any address when a scheduled run finishes, so a new finding reaches you without anyone logging in to look.

Slack

Post findings into a channel through an incoming webhook, so the whole team sees a compromise at the same time.

Discord

Same webhook-based delivery for teams and communities that live in Discord instead.

Telegram

Deliver alerts through a bot to a person or a group chat, useful when the site owner isn't in your workspace at all.

Fleet Dashboard reporting

Opt an install in to report its scan status back to your dashboard account, so agencies can see every site's state on one screen instead of opening each administrator in turn.

Fleet bulk actions

Select any number of sites on the Fleet Dashboard and trigger a re-scan or push a recommended hardening config (Protection Mode, attack blocking, brute-force blocking, bad user-agent blocking) across all of them at once, instead of logging into each site's admin individually.

Scheduled scanning, email alerts, Slack, Discord, Telegram, Fleet Dashboard reporting, and Fleet bulk actions are all Pro features and unlock with an active license. A bulk action can't be pushed into a site instantly -- there's no way to reach into a site directly, so it's picked up and executed the next time that site checks in on its own schedule.

False-Positive Handling

Every finding row -- files, Super Users, menu items, database rows -- has a one-click "Mark as Safe" action. Most scanners that offer this just remember a filename or row ID forever, which quietly creates a blind spot: if that exact path is ever genuinely compromised later, a stale dismissal would hide the real problem.

MuRu Guard fingerprints the exact finding text being dismissed, not just its location. If the same file or database row later matches something different -- because its content actually changed -- the fingerprint no longer matches and it reappears as a fresh finding automatically. A dedicated management screen lists every current dismissal with a one-click restore, so nothing stays permanently hidden without a trail.

.htaccess Hardening Advisor

A read-only advisory panel that reads your site's actual root .htaccess and checks it against a focused set of recommendations: PHP execution blocked inside writable upload directories (the single most direct way to stop a dropped webshell from ever running), directory listing disabled, and sensitive files (.env, .git, backup/SQL files) blocked from direct access -- plus optional security headers.

Every missing check shows a copy-ready rule. MuRu Guard never writes to .htaccess itself -- a wrong edit to that one file can take an entire site down with no way to test a rewrite rule safely before it's live, so this stays report-and-suggest only.

Cleanup Workflow

  1. 1Review High-confidence findings before Medium-confidence findings.
  2. 2Treat core entry-point tampering as the top priority because it can execute on every page load.
  3. 3Delete confirmed malware files or folders only through current scan results.
  4. 4Ask the Smart AI Assistant to open anything you're unsure about -- it can read the file and explain what the flagged code actually does before you delete it.
  5. 5Clean injected menu params with the dedicated clean action instead of deleting whole menu items.
  6. 6Remove rogue Super Users from Joomla Admin, then rotate credentials from configuration.php.
  7. 7Force logout sessions, check scheduled jobs, and re-scan after cleanup.

Installation

  1. 1

    Install the component

    Upload and install com_muruguard from Joomla administrator under System > Install Extensions.

  2. 2

    Install the shield plugin

    Install plg_muruguardshield if you want live attack logging and optional blocking.

  3. 3

    Enable permissions

    By default Super Users can access the component. Grant Manage, Clean, Delete, or Change Settings permissions to trusted groups as needed.

  4. 4

    Run a scan

    Open Components > MuRu Guard > Scan, choose the checks to include, and review grouped results.

  5. 5

    Configure protection

    Enable the plugin from System > Plugins, then turn on Protection Mode from the scanner settings panel.

  6. 6

    Schedule scans and alerts

    In Settings > Scheduled Scanning, enable scheduling, copy the generated token URL into a cron job, and add the email address or chat channels that should receive results.

  7. 7

    Activate your license

    Paste your key into Settings > License to unlock the Smart AI Assistant, Fleet Dashboard reporting, and the Slack, Discord, and Telegram alert channels.

  8. 8

    Set up the AI assistant

    Open Settings > AI Integrations to connect your AI provider, then write a custom Skill describing this site's conventions so the assistant follows them on every turn.

  9. 9

    Stay updated -- no separate download step

    MuRu Guard registers itself with Joomla's own update system on both Free and Pro, so a new release shows up right in System > Manage > Update (or Components > MuRu Guard's own version badge) like any other extension. Click Check for Updates there, then Update -- no need to come back to this page to grab a new zip.

Recommended Order

Back up the full site.
Update SP Page Builder to 6.6.2 or later.
Update or remove JCE if installed.
Install the scanner and run a full review.
Clean menu payloads, delete confirmed malware, and remove rogue asset rows.
Rotate credentials, harden upload folders, and re-scan.
Schedule recurring scans and point alerts at a channel someone actually reads.

Security Model

Super Users only, by default

A fresh install denies access to the standard Manager and Administrator groups automatically -- only Super Users can see or use it out of the box. Access can always be granted to other groups afterwards through Joomla's own Access Levels.

Joomla ACL

Access is governed by Joomla authentication and component permissions.

CSRF protection

Delete, clean, settings, false-positive, and AI assistant actions all require Joomla CSRF validation.

Scoped deletion

The scanner can only remove items flagged by the current scan run.

Scans its own files too

No blanket self-exemption -- only the specific, verified false positives that come from containing its own signature definitions as text are excluded, so a real backdoor planted in the scanner itself would still be caught.

AI file access is fenced in code

The assistant's deny list for Joomla core, configuration.php, entry points, and MuRu Guard's own files is enforced in PHP before any file operation runs -- not left to the model's discretion.

Every AI file change is logged

Creates, edits, renames, and deletes are written to an audit log with the approving Joomla username and a timestamp, viewable in the assistant panel.

Pattern-only cleaning

Menu params cleanup strips matched injection patterns without touching unrelated layout settings.

Read-only scanning

File content is read as text for pattern matching and never executed or included.

Admin-only operation

No separate public scanner file, login screen, or access key is exposed.

Frequently Asked Questions

FAQs