Repository navigation
Releases
Qartvelo Guard 1.1.4
- Strict level: a new version of Qartvelo Guard installed from a ZIP is held as a normal update waiting for approval, no longer as "code that looks unsafe" because of the plugin's own malware signature file.
Install: download qartvelo-guard.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: 66d936a3a4333c6e017d377d60d887080992172709d9a4d6cefc27bcb8860a21
Documentation: https://qartvelo.com/qartvelo-guard/docs
Qartvelo Guard 1.1.3
- Sites that installed version 1.1.0 are moved into the random data folder automatically the next time an administrator opens the plugin (until now they kept wp-content/uploads/qartvelo-guard/ itself).
- The database scan also covers the network-wide snippets table of Code Snippets on multisite.
- Right-to-left languages: the admin pages are mirrored properly (logical CSS properties, mirrored arrows and accent bars, no page overflow).
- The wp-config.php permission advice looks at who owns the file: 600 when PHP is the owner, 640 when it reads the file through its group, and a chgrp step first when it is neither.
- Dashboard: the last scan line separates the scan result from the number of threats still open.
Install: download qartvelo-guard.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: e12ce3b4ae116bd757df77967b27dfb787d157b9d575fc1198713dcb02719259
Documentation: https://qartvelo.com/qartvelo-guard/docs
Qartvelo Guard 1.1.2
- Reinstalling an installed plugin or theme from a ZIP (including a new version of Qartvelo Guard itself) counts as an update, so it is no longer held as a new install.
- The scanner recognises callback web shells and request input read through $GLOBALS, and no longer skips code that follows a string containing /*.
- Files in a folder that was unreadable during one scan are no longer reported as new on the next scan.
- Scan alerts repeat only for new threats.
- Clearer Reports actions: Deny asks before deleting a held copy, trusting a new administrator asks first, critical files explain when no official copy exists.
- Accessibility: labelled radio groups, visible keyboard focus on protection cards, column labels in the narrow layout, reduced motion and high contrast support.
- Many smaller fixes to WP-CLI, the dashboard, the setup wizard and the server checks.
Install: download qartvelo-guard.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: 1ed4429909d0386077aa65e582eb164556bf5c469763135b60b7e3838e5c4ca3
Documentation: https://qartvelo.com/qartvelo-guard/docs
Qartvelo Guard 1.1.1
- The data folder inside uploads gets a random name (wp-content/uploads/qartvelo-guard//), so its files have no guessable address on nginx, which ignores .htaccess and web.config.
- No hard-coded uploads path: when WordPress cannot report the uploads folder, the plugin says so instead of guessing.
Install: download qartvelo-guard.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: fed506408b95280ee189ea3d4d4a396a1975a2dcbe12e7fdd73936cfc6b25b90
Documentation: https://qartvelo.com/qartvelo-guard/docs
Qartvelo Guard 1.1.0
- New name: Qartvelo Guard. Settings, held files and approvals are kept when you update from an earlier version.
- New installs keep their data in wp-content/uploads/qartvelo-guard. The folder of earlier versions (wp-content/wpcybersec) is moved there automatically the next time an administrator opens the plugin.
- The early upload guard sanitizes every server value it reads, escapes its JSON replies and no longer uses lcg_value() (deprecated in PHP 8.4).
- Imported settings files are sanitized value by value.
Install: download qartvelo-guard.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: 4689273d900f7793f2b347481a8cdc2405256772f0a91cde7fc79074dc665cb6
Documentation: https://qartvelo.com/qartvelo-guard/docs
CyberGate Security 1.0.3
- The Antivirus engines "On the server now" rows always use the newest ClamAV self-test: "Check again" now tests before any part of the page reads the state, so the clamd row no longer shows an old "Not running".
- A failed ClamAV self-test (for example while clamd restarts or the server is short of memory) is tested again within 15 minutes instead of being kept for 6 hours, and real cron (bin/cron.php) retests it when needed.
Install: download cybergate-security.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: 3d9746cc67a28bf7efe9e25a423382d1c4a4576b57a2b4e0c8c9232638da6623
Documentation: https://qartvelo.com/cybergate-security/docs
CyberGate Security 1.0.2
- "Code folders other users can write to" now also looks one level inside the WordPress folder and wp-content: a second WordPress install in a subfolder, translation files (PHP since WordPress 6.5), upgrade, uploads and backup folders. The one-click fix covers them too.
Install: download cybergate-security.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: d8c6c58d79109488f5e29a4bacac343d84999c5c8ee007312fbc99842981afbd
Documentation: https://qartvelo.com/cybergate-security/docs
CyberGate Security 1.0.1
- The maldet real-time monitor no longer shows "Not running" on servers that hide other users' processes from PHP (/proc mounted with hidepid). It is detected from maldet's own log, or shown as unknown with the reason and the command that checks it as root.
- A site inside a folder the maldet monitor already watches now counts as watched. When the site is not watched, the Antivirus card shows the command that adds it (cgav add-site).
- ClamAV and maldet are installed once per server: the Antivirus card, the cgav script block and Developer instructions now say so, and the one-paste block adds this site to the monitor instead of assuming it is the only site.
- New check "Code folders other users can write to": finds world-writable plugin, theme and core folders, with a one-click fix that removes only the write permission for other users from files PHP owns, and safe commands for the rest.
- WP-CLI commands shown by the plugin (real cron lines, core reinstall checks) now use this site's PHP when the server's default php is another version, as on CyberPanel and OpenLiteSpeed.
- OpenLiteSpeed and CyberPanel: after the early guard is written to .user.ini, the guard page says exactly how to restart lsphp and what to do if it still is not loaded, instead of "within 5 minutes".
- A prepend file of another site now comes with the command that finds where it is set (often the server-wide php.ini) and what removing it means for the other site.
- Real cron run with WP-CLI (wp wpcybersec scan or wp cron event run from a crontab) now counts as real cron, so the "Switch off visitor-triggered cron" button appears.
- The Allowlist filter "File fingerprints" now also lists files approved under executable names.
- GridPane and SpinupWP cron steps now list only the two scan jobs they ask for.
- The help text of the guard's "Not checked by the guard" list now describes exactly how lines are matched.
- The cgav server script now handles many sites per server: cgav sites lists every WordPress site and whether it is watched, cgav add-site, remove-site and add-all change the list, and the monitor is restarted so a new site is really watched (maldet's own reload does not pick up new folders).
- fapolicyd files, the inotify watcher and the HestiaCP template are now named per site, so several sites on one server do not overwrite each other's.
Install: download cybergate-security.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: b227e0eb5a0ea92f21f46d71ac0c9972bada4ce201eb7e3c56c5012c6b3809d0
Documentation: https://qartvelo.com/cybergate-security/docs
CyberGate Security 1.0.0
- First release.
- Full site malware scan with official checksums for WordPress core and WordPress.org plugins.
- Holds new uploads, installs and unknown PHP files until an administrator approves them; approvals are remembered by SHA-256.
- Image previews of held uploads and "Allow all clean images".
- Setup wizard with environment fixes, protection levels and an upload volume hint.
- Hosting panel detection with panel specific steps.
- "What changed" line by line diff, Recent changes and the downloadable security report.
- Database scan for injected scripts and administrator account watch.
- Clean WordPress core reinstall with checksum verification and automatic rollback.
- Optional early upload guard, ClamAV with a self-test, freeze lock, real cron and tamper check.
- Multisite network mode and WP-CLI commands.
- Optional, opt-in usage statistics for the developer, off by default.
Install: download cybergate-security.zip below, then in WordPress open Plugins > Add New Plugin > Upload Plugin.
SHA-256: 7653b7cb3ddf61dfcf7371c33964681365ac764bb6f0658d9ab1ca024ad25f0d
Documentation: https://qartvelo.com/cybergate-security/docs