Files
argus-wp-defence/argus-wordpress-defence.php
T
ARGUSandClaude Sonnet 5 35efd3e485 ARGUS WordPress Defence 7.23.0
Real changes since 1.0.0, all live-verified before this release:

- Firewall: rule corpus expanded 19 -> 43 rules, real OWASP-CRS-equivalent
  coverage (XXE, SSRF, session fixation, Log4Shell/JNDI, scanner-tool
  detection, deeper SQL injection/XSS/PHP-injection).
- Fixed a real bug: a quarantined file's severity badge and its content
  analysis score could disagree with no explanation (e.g. a benign file
  showing CRITICAL next to Score 0); both are now derived consistently
  and shown together.
- ARGUS now always keeps itself updated, and can optionally do the same
  for every other installed plugin and theme (Settings, on by default) --
  uses WordPress's own native update system, nothing custom.
- Global Threat Intelligence is now opt-in, not automatic -- a single
  click on its own page, with an honest, specific description of exactly
  what's shared (an IP address, a reason code, a confidence score, a
  country). Previously connected automatically on activation.
- New first-run Welcome screen after activation: confirms what's already
  protecting the site, and surfaces the few real optional choices in one
  place.
- Dashboard: running version now visible in the header; new "IPs
  Tracked" and "ANIS Protections" metrics.
- Full WordPress.org Plugin Directory readiness audit performed against
  this codebase. Two real compliance issues found and fixed (see above:
  Global Threat Intelligence's default, and the self-update mechanism,
  which is excluded from this build entirely -- WordPress.org prohibits
  a plugin from using any update channel other than its own, even an
  inert one). This release is still self-distributed, not a WordPress.org
  submission -- that remains a future step.

Verified before publishing: this exact ZIP was installed, activated (14
admin pages loaded clean, zero PHP errors/warnings), and uninstalled
(zero leftover database tables or options) in a fresh, disposable
WordPress + MySQL environment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-09 19:08:02 +00:00

47 lines
2.0 KiB
PHP

<?php
/**
* Plugin Name: ARGUS WordPress Defence
* Plugin URI: https://git-cloud.weboria.eu/Weboria/argus-wp-defence
* Description: Standalone WordPress security: local WAF, malware & integrity scanning, vulnerability intelligence, and a deterministic ban/policy engine. Works fully offline; optionally connects to ARGUS Cloud for richer intelligence and cross-asset correlation.
* Version: 7.23.0
* Requires at least: 6.0
* Requires PHP: 7.4
* Author: ARGUS
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: argus-wordpress-defence
*
* Architecture reference: argus-appliance/docs/adr/0053-argus-wordpress-defence.md
*
* This is the REGULAR plugin entry point -- the admin UI, settings, and
* anything that doesn't need to run before WordPress core boots lives
* here. The enforcement core (WAF/ban/policy) is installed separately as
* a Must-Use plugin (see includes/class-argus-mu-installer.php and
* mu-loader/argus-mu-core.php) so it keeps running even if this regular
* plugin is deactivated from wp-admin -- ADR-0053 §13.1's self-protection
* design. This file still loads the same enforcement classes for the
* admin UI to read state from, and as the Tier-1 fallback hook
* (plugins_loaded) on any host where the MU-plugin install failed.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'ARGUS_WPD_VERSION', '7.23.0' );
define( 'ARGUS_WPD_FILE', __FILE__ );
define( 'ARGUS_WPD_DIR', plugin_dir_path( __FILE__ ) );
define( 'ARGUS_WPD_URL', plugin_dir_url( __FILE__ ) );
define( 'ARGUS_WPD_BASENAME', plugin_basename( __FILE__ ) );
require_once ARGUS_WPD_DIR . 'includes/class-argus-autoloader.php';
Argus_Autoloader::register();
register_activation_hook( __FILE__, array( 'Argus_Activator', 'activate' ) );
register_deactivation_hook( __FILE__, array( 'Argus_Deactivator', 'deactivate' ) );
function argus_wpd_init() {
Argus_Plugin::instance()->boot();
}
add_action( 'plugins_loaded', 'argus_wpd_init', 0 );