magespecialist / m2-msp_antivirus

magespecialist/m2-msp_antivirus

ClamAV Magento2 integration for active requests scan - Member of MageSpecialist SecuritySuite

  • Riccardo Tempesta
magento2-module Compatibility: Not yet tested Code Quality: Fail Tests: N/A Security: Fail OSL 3.0

MSP AntiVirus

A Malware / Virus protection for for Magento 2.

This module is a ClamAV interface for malware / virus detection on POST/PUT Magento2 requests.



It adds a strong security layer if you receive attachment from your customers or you want to prevent malicious uploads.

Requires ClamAV daemon installed on webserver.

Member of MSP Security Suite

See: https://github.com/magespecialist/m2-MSP_Security_Suite

Installing on Magento2:

1. Install ClamAV (if not present)

You need ClamAV installed on your server.

On debian/ubuntu-like systems:

sudo apt-get install clamav-daemon clamav-freshclam

On CentOS systems:

sudo yum -y install clamav-server clamav-data clamav-update clamav-server-systemd

2. Install MSP AntiVirus using composer

From command line:

composer require msp/antivirus

php bin/magento setup:upgrade

3. Enable and configure from your Magento backend config

config.png

Adjust the ClamAV socket accordingly to your system. If you are running on Ubuntu Server the default value should work.

NOTE: Remember to flush your cache.

How to test it

MSP AntiVirus will check any PUT/POST Magento operations against known malwares.

If you wish to check the correct module installation, you can try typing the EICAR signature in any Magento POST form.

EICAR is a "fake malware" designed to test anti virus systems: http://www.eicar.org/

Test method:
Type the below eicar test signature in Magento customer login as password:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

If you correctly installed and configured MSP AntiVirus, an emergency stop screen will appear.

Threat detected (with stealth mode disabled)

detected.png

Threat detected (with stealth mode enabled)

detected_stealth.png

No changelog yet

The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.

Versions
Version Stability QA Status Compatibility Released
1.3.1 stable Fail Not yet tested Details 2017-10-29 00:15:54
1.3.0 stable Not tested Not yet tested Details 2017-10-28 22:35:25
1.2.1 stable Not tested Not yet tested Details 2017-09-07 16:11:49
1.2.0 stable Not tested Not yet tested Details 2017-07-31 16:06:33
1.1.0 stable Not tested Not yet tested Details 2017-07-14 15:21:32
1.0.2 stable Not tested Not yet tested Details 2017-07-11 08:59:52
1.0.1 stable Not tested Not yet tested Details 2017-06-25 14:03:34
1.0.0 stable Not tested Not yet tested Details 2017-05-31 16:00:32

Requires 3

Package Constraint
php ^7.0|^7.1
msp/security-suite-common ^2.0
clue/socket-raw ^1.2

Suggests 1

Package Reason
msp/security-suite Full MageSpecialist Security Suite

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 not tested not tested
2.4.8 not tested not tested
2.4.9 not tested not tested

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 7 1 error, 6 warnings (ruleset: Magento2)
PHPMD Warning 2 2 rule violations (MissingImport:1, IfStatementAssignment:1)
Cpd Pass 0
Composer validate Info 1 valid; 1 advisory note (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit Pass 0
Malware scan Fail 1 malware detected — 1 signature match (WEBSHELL_PHP_Dynamic_Big:1)
License
OSL 3.0
Authors

More from magespecialist

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.