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.
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

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.
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.
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.
- 1Update SP Page Builder to 6.6.2 or later.
- 2Update or remove JCE if it is installed.
- 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.
- 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.
- 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)
Business
For agencies managing a handful of client sites.
- 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.
- 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
ProProtection 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
ProSignature-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
ProA 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)
ProAn 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
ProSettings > 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
ProA 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
- 1Review High-confidence findings before Medium-confidence findings.
- 2Treat core entry-point tampering as the top priority because it can execute on every page load.
- 3Delete confirmed malware files or folders only through current scan results.
- 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.
- 5Clean injected menu params with the dedicated clean action instead of deleting whole menu items.
- 6Remove rogue Super Users from Joomla Admin, then rotate credentials from configuration.php.
- 7Force logout sessions, check scheduled jobs, and re-scan after cleanup.
Installation
- 1
Install the component
Upload and install com_muruguard from Joomla administrator under System > Install Extensions.
- 2
Install the shield plugin
Install plg_muruguardshield if you want live attack logging and optional blocking.
- 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
Run a scan
Open Components > MuRu Guard > Scan, choose the checks to include, and review grouped results.
- 5
Configure protection
Enable the plugin from System > Plugins, then turn on Protection Mode from the scanner settings panel.
- 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
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
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
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
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.