Free cookie consent management tool by TermsFeedAktualizacja preferencji plików cookie

Module Magento 2 – Scanner de sécurité et détection de code malveillant

30,75 € 25,00 €
Instalacja COMPOSER
M2-SECURITY-SCAN
Cela nécessite des modifications dans le modèle
Non
Petites modifications
Changements importants
Nécessite des connaissances en programmation
Non
Notions de base
Avancé
Difficulté de configuration
Impact sur les performances
Conformité aux normes Magento
  • Polonais Polonais
  • Anglais Anglais
  • 2.4.9
  • 2.4.8
  • 2.4.7
  • 2.4.6
  • 2.4.5
  • 2.4.4
  • 2.4.3
  • 2.4.2
  • 2.4.1
  • 2.4.0
  • 2.3.7
  • 2.3.6
  • 2.3.5
  • 2.3.4

Kowal Security Scan est un module de sécurité avancé pour Magento 2, qui aide à détecter plus rapidement les modifications suspectes dans les fichiers, le code malveillant, les URL dangereuses ainsi que les injections dans les contenus de la base de données. Il a été conçu pour fonctionner de manière légère, sans agents supplémentaires et sans déploiement complexe.

Fonctionnalités principales du module

  • Scan des changements dans les fichiers - détecte les fichiers nouveaux, modifiés et supprimés dans lapplication Magento.
  • Scan heuristique de malware - analyse les fichiers php, phtml, js, html, svg, htaccess et autres supports de payloads.
  • Analyse des tokens PHP - détecte les chaînes decode -> execute, les callbacks dynamiques, les variable function calls ainsi que les include/require suspects.
  • Scan de la base de données - vérifie certaines tables Magento pour détecter du HTML malveillant, du JavaScript, du SVG, des URI data: et des liens dangereux.
  • Intégration avec Google Safe Browsing - évalue la réputation des URL présentes dans les contenus de la boutique.
  • Analyse OpenAI optionnelle - enrichit le rapport avec une évaluation des risques et des recommandations dactions.
  • Allowlists avancées - permettent de limiter les false positives au niveau des domaines, des fichiers, des contenus et de règles spécifiques.
  • Rapports avec configuration prête à lemploi - le module suggère des candidats pour lallowlist et génère un export JSON normalisé prêt à être utilisé.

Quest-ce qui distingue ce module ?

  • Identifiants de règles stables - les règles pour les fichiers et la base de données disposent de leur propre rule_id, ce qui évite que la configuration de lallowlist dépende de la description textuelle complète.
  • Rapports utiles pour la gestion des incidents - le rapport présente non seulement les détections, mais aussi le niveau de risque, les recommandations et des entrées prêtes à intégrer dans la configuration.
  • Contrôle des false positives sans désactiver le scanner - vous pouvez neutraliser une règle précise pour un chemin ou une table donnée au lieu de désactiver tout le module.
  • Automatisation complète - le module fonctionne via cron, mais chaque scan peut aussi être lancé manuellement via CLI.

Quels types de menaces aide-t-il à détecter ?

  • du code PHP obfusqué basé sur e-val, base-64_decode, gzin-flate et des techniques similaires,
  • des insertions JavaScript malveillantes dans les contenus CMS,
  • des iframe externes et des redirections suspectes,
  • des payloads SVG et des contenus cachés dans des URI data:,
  • des liens dangereux menant à des malwares, du phishing ou des logiciels indésirables,
  • des modifications non autorisées dans les fichiers de lapplication.

Où le module recherche-t-il les menaces ?

Le module analyse les zones clés de la boutique, là où les incidents apparaissent le plus souvent :

  • les fichiers de lapplication Magento et des modules,
  • les blocs CMS,
  • les pages CMS,
  • core_config_data,
  • les modèles de-mails Magento et de newsletter,
  • les contenus produits et les avis clients.

Rapports et réaction opérationnelle

  • Les résultats sont enregistrés dans une table de rapports dédiée du module.
  • Le rapport peut être envoyé par e-mail à lopérateur.
  • Chaque détection peut inclure un niveau de risque, des indications opérationnelles et un rule_id associé.
  • Le rapport peut préparer des suggestions prêtes à lemploi pour lallowlist ainsi quune configuration JSON normalisée.

Exemples dutilisation

  • détection de code malveillant ajouté après un piratage de la boutique,
  • surveillance des modifications non autorisées dans les fichiers du déploiement,
  • détection de blocs CMS infectés ou de contenus infectés dans la base de données,
  • évaluation pour savoir si une URL suspecte doit être autorisée dans lallowlist ou supprimée du système.

Pourquoi choisir ce module ?

  • Déploiement rapide - fonctionne comme module Magento 2 sans infrastructure supplémentaire.
  • Reporting pratique - le module ne sarrête pas à la détection, il aide aussi à passer à une décision opérationnelle.
  • Meilleur contrôle de la qualité des alertes - les allowlists et rule_id facilitent le maintien dune haute efficacité sans être submergé de fausses alertes.
  • Bonne adaptation aux environnements de production - les scans automatiques, le reporting par e-mail et les commandes CLI manuelles facilitent le travail quotidien de léquipe technique.

Compatibilité

  • Magento Open Source 2.3.x - 2.4.x
  • Adobe Commerce / Magento Commerce

Que contient le pack ?

  • un module Magento 2 avec tâches cron et commandes CLI,
  • la configuration dadministration du module,
  • un mécanisme de reporting vers la base de données et par e-mail,
  • des règles de détection avancées ainsi quun système dallowlist.

Documentation et support

Le module est fourni avec une documentation de déploiement et de configuration, et son architecture facilite les ajustements ultérieurs des règles et des processus de sécurité dans la boutique Magento 2.

Assurez une détection plus précoce des incidents dans Magento 2 avec Kowal Security Scan.

Guide du module Kowal_SecurityScan

Vue densemble

Le module étend Magento 2 avec une couche de surveillance de sécurité pour les fichiers de lapplication, certaines tables de base de données, les URL suspectes ainsi quune analyse optionnelle des incidents par OpenAI.

Les rapports sont enregistrés dans la table kowal_securityscan_report et peuvent être envoyés par e-mail.

Fonctionnalités principales

  • scan des changements dans les fichiers Magento avec comparaison à un snapshot,
  • scan heuristique des fichiers php, phtml, php5, inc, phar, js, html, htm, svg, htaccess,
  • analyse des tokens PHP via token_get_all(),
  • scan de certaines tables de base de données à la recherche de HTML malveillant, JavaScript, SVG, URI data: et URL suspectes,
  • intégration avec Google Safe Browsing API,
  • analyse OpenAI optionnelle pour les détections,
  • allowlists configurables pour les domaines, fichiers, motifs de contenu et règles,
  • rapports avec suggestions prêtes à lemploi pour lallowlist et export de configuration JSON normalisée.

Prérequis

  • Magento 2,
  • module kowal/base disponible,
  • cron Magento opérationnel,
  • envoi de-mails correctement configuré,
  • optionnel : clé OpenAI API et clé Google Safe Browsing API.

Installation

1. Ajout du dépôt du package

Si le package nest pas disponible dans le dépôt Composer par défaut, ajoutez la source :

composer config repositories.securityscan vcs https://github.com/kowalco/module-securityscan

Si le dépôt nécessite une autorisation :

composer config --global --auth github-oauth.github.com 

2. Installation du package

composer require kowal/module-securityscan

3. Activation du module

php bin/magento module:enable Kowal_SecurityScanphp bin/magento setup:upgradephp bin/magento cache:flush

En environnement de production, exécutez les étapes standard de déploiement Magento, conformément à votre processus de déploiement.

Cron et planification des scans

Le module enregistre son propre groupe cron securityscan.

  • kowal_securityscan_filecheck - tous les jours à 00:00,
  • kowal_securityscan_malwarecheck - tous les jours à 01:00,
  • kowal_securityscan_dbcheck - tous les jours à 02:00,
  • kowal_securityscan_cleanup_reports - tous les jours à 02:30.

Sans cron Magento opérationnel, les scans automatiques ne seront pas exécutés.

Lancement manuel des scans

Pour lancer les scans manuellement, utilisez :

php bin/magento kowal_securityscan:filecheckphp bin/magento kowal_securityscan:malwarecheckphp bin/magento kowal_securityscan:dbcheck

Cest la méthode recommandée pour les tests après installation et après toute modification de configuration.

Configuration

Chemin de configuration :

Stores -> Configuration -> kowal -> kowal_security

Paramètres généraux

  • Activer le module
  • Adresse e-mail des rapports
  • Adresse e-mail de lexpéditeur
  • Rétention des rapports en jours
  • Google Safe Browsing API Key
  • Allowlist des domaines
  • Allowlist des fichiers
  • Allowlist des motifs de base
  • Allowlist des règles de fichiers
  • Allowlist des règles de base

Configuration minimale

  1. activez le module,
  2. définissez ladresse du destinataire des rapports,
  3. définissez ladresse de lexpéditeur des rapports,
  4. assurez-vous que lenvoi de-mails Magento fonctionne,
  5. assurez-vous que cron Magento fonctionne.

Analyse OpenAI

La section Analyse OpenAI permet denrichir les rapports avec une évaluation des risques et des recommandations dactions.

Champs disponibles :

  • Activer lanalyse AI,
  • OpenAI API Key,
  • Modèle OpenAI,
  • Contexte maximal pour AI.

Comment lactiver

  1. activez Activer lanalyse AI,
  2. renseignez OpenAI API Key,
  3. enregistrez la configuration,
  4. rafraîchissez le formulaire de configuration,
  5. sélectionnez le modèle.

Comportement par défaut

  • modèle par défaut : gpt-4.1-mini,
  • limite de contexte par défaut : 12000,
  • les valeurs inférieures à 2000 sont relevées à 12000,
  • la limite maximale de contexte est de 50000.

Si OpenAI est désactivé ou si la clé est absente, le module continue de fonctionner et applique des heuristiques locales.

Google Safe Browsing

Si vous renseignez Google Safe Browsing API Key, le module va :

  • vérifier les URL détectées dans les fichiers et la base,
  • vérifier ladresse de base de la boutique.

Labsence de clé ne bloque pas les scans de base, elle désactive seulement cette étape.

Scan des changements dans les fichiers

filecheck fonctionne à partir dun snapshot enregistré dans :

var/security_scan_hashes.json

Au premier lancement :

  • un snapshot est créé,
  • il ny a pas encore de comparaison des changements,
  • le rapport informe de la création de la base de référence.

Les lancements suivants signalent les changements de type ADDED, MODIFIED et REMOVED.

Sont ignorés notamment :

  • var/,
  • generated/,
  • vendor/,
  • pub/static/,
  • node_modules/.

Scan de malware dans les fichiers

malwarecheck scanne les fichiers de lapplication sur la base de :

  • règles regex avec rule_id,
  • heuristiques de tokens PHP,
  • vérifications dURL via Safe Browsing.

Exemples de types de détection :

  • file.obfuscated_eval_chain,
  • file.command_execution_from_request,
  • file.encoded_payload_blob,
  • file.token.decode_execute_chain,
  • file.token.include_from_request,
  • file.inline_svg_or_event_handler.

Dans les rapports, les motifs sont présentés au format :

[file.encoded_payload_blob] Encoded payload blob detected

Scan de la base de données

dbcheck analyse certaines tables Magento :

  • cms_block,
  • cms_page,
  • core_config_data,
  • email_template,
  • newsletter_template,
  • review_detail,
  • catalog_product_entity_text.

Exemples de règles :

  • db.inline_script_tag,
  • db.html_event_handler,
  • db.external_iframe,
  • db.javascript_uri,
  • db.data_uri_executable,
  • db.embedded_svg_payload,
  • db.javascript_dom_redirect.

Le contenu est préalablement normalisé via :

  • html_entity_decode,
  • rawurldecode,
  • normalisation des espaces,
  • analyse de plusieurs variantes dun même contenu.

Configuration avancée : allowlists

Les allowlists servent à limiter les false positives sans désactiver lensemble du module.

1. Allowlist des domaines

Champ : kowal_security/general/allowlisted_domains

Format :

  • un domaine par ligne, ou
  • une liste séparée par des virgules.
cdn.example.comstatic.example.org

Effet :

  • les URL de ces domaines ne seront pas traitées comme suspectes,
  • Safe Browsing ne les vérifiera pas.

2. Allowlist des fichiers

Champ : kowal_security/general/allowlisted_file_patterns

Format :

  • chemins relatifs,
  • prise en charge des glob patterns.
app/code/Vendor/Module/Test/*pub/media/custom.js

Effet : les fichiers correspondant au motif sont totalement ignorés par le scan malware. Ce paramètre a une portée large.

3. Allowlist des motifs de base

Champ : kowal_security/general/allowlisted_db_patterns

Format :

  • phrases,
  • fragments HTML ou JS,
  • entrées séparées par un saut de ligne ou des virgules.
trusted-inline-widgetdata:image/svg+xml,

Effet : un enregistrement de base contenant un tel fragment est ignoré par le scan DB. Ce paramètre a lui aussi une portée large.

4. Allowlist des règles de fichiers

Champ : kowal_security/general/allowlisted_file_rules

Format recommandé :

chemin_ou_glob | rule_id

Exemple :

app/code/Vendor/Module/* | file.encoded_payload_blobpub/media/custom.js | file.javascript_redirect_or_rewrite

Compatibilité ascendante :

  • les anciennes entrées basées sur le libellé complet de la règle fonctionnent toujours,
  • les nouvelles entrées doivent utiliser rule_id.

Effet : seule la règle indiquée est neutralisée pour le chemin indiqué, tandis que le reste du scan pour ce fichier continue de fonctionner.

5. Allowlist des règles de base

Champ : kowal_security/general/allowlisted_db_rules

Format recommandé :

table_ou_* | rule_id

Exemple :

cms_block | db.inline_script_tag* | db.fetch_or_xhr_loader

Effet : seule la règle indiquée est neutralisée, tandis que les autres continuent de fonctionner pour cet enregistrement ou cette table.

Rapports

Les rapports peuvent contenir :

  • une liste de détections,
  • une évaluation du risque,
  • des indicateurs et recommandations,
  • des candidats pour lallowlist après vérification manuelle,
  • une configuration allowlist JSON normalisée.

Suggestions dallowlist dans les rapports

La section du rapport peut contenir des entrées du type :

- cms_block | db.inline_script_tag | pewnosc=MEDIUM | zasieg=LOW- app/code/Vendor/Module/* | file.encoded_payload_blob | pewnosc=MEDIUM | zasieg=LOW- data:image/svg+xml,

Interprétation :

  • zasieg=LOW - candidat plus sûr,
  • zasieg=HIGH - neutralisation large, uniquement après vérification stricte,
  • pewnosc=MEDIUM/HIGH - candidat de configuration plus prévisible,
  • pewnosc=LOW - exige de la prudence.

Export JSON

Le rapport contient également une section Configuration allowlist normalisée (JSON). Il sagit dun ensemble de valeurs prêt à lemploi, dédupliqué, à recopier dans la configuration.

Mode dutilisation recommandé

  1. lancez manuellement les trois scans après linstallation,
  2. traitez le premier filecheck comme la création du snapshot,
  3. analysez les rapports et confirmez quelles détections sont réelles,
  4. pour les false positives, utilisez dabord allowlisted_file_rules et allowlisted_db_rules,
  5. utilisez seulement si nécessaire allowlisted_domains, allowlisted_file_patterns et allowlisted_db_patterns,
  6. après modification de la configuration, relancez le scan CLI approprié et vérifiez le résultat.

Remarques opérationnelles

  • filecheck ne signale pas encore les changements comme incident lors du premier lancement,
  • le module fonctionne sans OpenAI ni Safe Browsing, mais avec une profondeur danalyse réduite,
  • allowlisted_file_patterns et allowlisted_db_patterns ont un impact large et doivent être utilisés avec parcimonie,
  • le format recommandé pour les allowlists de règles est rule_id, et non le libellé textuel complet.

Version : 1.0.27

31.03.2026

Nous avons enrichi le module Kowal_SecurityScan avec de nouvelles fonctionnalités liées à lanalyse des menaces et à ladministration des rapports.

Nouveautés

  • Ajout de lintégration avec OpenAI pour lanalyse des fichiers modifiés et des enregistrements suspects dans la base de données.
  • Les rapports et les e-mails contiennent désormais une évaluation du risque ainsi que des actions recommandées dans les domaines suivants :
    • Magento
    • serveur
    • firewall
  • Ajout de la configuration OpenAI dans le panneau Magento, notamment :
    • activation/désactivation de lanalyse AI
    • clé API
    • choix du modèle
    • limite de contexte transmise à lanalyse

Améliorations

  • La liste des modèles OpenAI est désormais récupérée dynamiquement depuis lAPI et affichée dans la configuration sous forme de liste déroulante.
  • Le contenu des e-mails a été enrichi avec lidentification de la boutique Magento :
    • domaine de la boutique
    • URL de la boutique
  • Le domaine de la boutique est également ajouté à lobjet du message, ce qui facilite la gestion de plusieurs instances.

Automatisation et maintenance

  • Ajout dun nouveau cron pour nettoyer les anciennes entrées de la table de rapports.
  • La durée de rétention des rapports est configurable dans system.xml en nombre de jours.

Corrections techniques

  • La logique danalyse des fichiers et enregistrements suspects a été réorganisée.
  • La gestion du contexte des données transmises à lanalyse AI a été améliorée.
  • Le problème de compilation DI lié à une implémentation précédente du client OpenAI a été supprimé.

Questions et réponses

Question
Le module permet-il d’analyser une boutique Magento 2 à la recherche de code malveillant et de menaces de sécurité ?
Réponse
Oui — le module est décrit comme un « Scanner de sécurité et de détection de code malveillant », ce qui suggère qu’il analyse automatiquement les fichiers de la boutique afin de détecter des modifications non autorisées ou du code nuisible.
Question
Après la détection d’un problème, le module informe-t-il l’administrateur ou permet-il d’entreprendre une action corrective ?
Réponse
Bien que la description ne fournisse pas tous les détails, l’objectif du scanner est de détecter les menaces — ce qui inclut généralement des notifications ou l’accès à un rapport — il est recommandé de confirmer si des notifications par e-mail ou un panneau d’alertes sont disponibles.
Question
L’installation du module nécessite-t-elle d’écraser les fichiers du noyau Magento ou du thème ?
Réponse
Non — les modules proposés par Kowal sont généralement des extensions conformes à l’architecture Magento 2 et ne nécessitent pas de modifier les fichiers core. (Aucune information sur la nécessité d’une modification)
Question
Le module prend-il en charge les boutiques Magento 2 dans des installations multi-boutiques (multi-store) et multi-vues ?
Réponse
Oui — comme le module fonctionne au niveau de l’analyse des fichiers système et de la sécurité de la boutique, il est logique qu’il fonctionne également dans un environnement multi-store. En cas de doute, il est recommandé de consulter la documentation.
Question
Le module aide-t-il à respecter les recommandations de sécurité de la plateforme Magento ou de l’outil Magento Security Scan Tool ?
Réponse
Oui — un scanner externe (comme Adobe/Magento Security Scan) offre une surveillance et des analyses de sécurité.
Question
Le module affecte-t-il de manière significative les performances de la boutique, par exemple lors de l’analyse de grands catalogues de fichiers ?
Réponse
Il est possible qu’une charge survienne pendant l’analyse ; toutefois, les scanners de sécurité fonctionnent généralement en arrière-plan ou pendant les heures de moindre trafic. Il est recommandé de tester son fonctionnement dans un environnement de test.
Question
Le module permet-il de planifier les analyses (analyses automatiques) ou est-il uniquement manuel ?
Réponse
La description du module ne précise pas clairement si une planification est disponible — si l’automatisation est importante pour vous, il est conseillé de demander s’il est possible de configurer un CRON ou un calendrier d’analyses.
Question
Le module permet-il de générer des rapports sur les résultats des analyses, par exemple quels fichiers ont été modifiés ou si des modifications non autorisées ont été détectées ?
Réponse
Bien que la description ne fournisse pas de détails, la fonctionnalité de « détection de code malveillant » inclut généralement des rapports ou des journaux ; il est recommandé de vérifier le niveau de détail des rapports auprès du fabricant.
Question
Le module prend-il en charge les dernières versions de Magento 2 (par ex. 2.4.x) ?
Réponse
Sur la page de la boutique, le module est répertorié dans la section des modules pour Magento 2, ce qui suggère une compatibilité avec les versions actuelles ; toutefois, il faut toujours confirmer la liste des versions prises en charge.
Question
Après l’achat du module, vais-je bénéficier d’une assistance technique et de mises à jour ?
Réponse
Oui — le fabricant déclare proposer des mises à jour gratuites et une assistance technique pour ses extensions.
Write Your Own Review
You're reviewing:Module Magento 2 – Scanner de sécurité et détection de code malveillant
Your Rating