Comment le scan détecte les malwares, et ce qu'il ne voit pas

Le scan analyse votre site WordPress depuis l'extérieur, sans jamais exécuter son code. Les fichiers sont lus comme du texte, octet par octet, et comparés à des références : empreintes officielles, signatures de menaces connues. Voici exactement ce qu'il fait, comment il classe ce qu'il trouve, et ce que nous avons mesuré.

Ce que le scan examine

Notre extension de connexion, publiée sur WordPress.org, fonctionne en lecture seule : chaque requête est signée, et elle ne peut ni modifier ni supprimer un fichier. L'analyse a lieu sur nos serveurs, pas sur votre hébergement.

Le scan lit les fichiers sans les exécuter, les passe par quatre analyses (cœur WordPress, règles YARA, base de données, failles connues des versions), puis classe chaque élément en menace confirmée, à vérifier ou informatif.Votre sitelu, jamais exécutéCœur WordPressempreintes WordPress.orgAutres fichiers123 règles YARABase de donnéesoptions et comptesVersionsfailles connuesMenace confirméeÀ vérifierInformatif
Chaque élément signalé reçoit un seul des trois verdicts ; seul le premier compte comme une infection.
1

Le cœur de WordPress, comparé aux fichiers officiels

Chaque fichier du cœur est comparé à son empreinte publiée par WordPress.org pour votre version. Un fichier modifié, ou un fichier PHP qui n'appartient pas au cœur, est signalé.

2

Le reste des fichiers, passé au crible de 123 règles

Extensions, thèmes, téléversements et fichiers .htaccess sont analysés par des règles YARA versionnées : webshells, portes dérobées, injecteurs, code obfusqué et indices de campagnes identifiées. Le code PHP caché dans des fichiers .cache, .ico ou .tmp est aussi signalé.

3

Une partie de la base de données

Avec l'extension de connexion, le scan lit en lecture seule les options, les comptes administrateurs et éditeurs, les tâches planifiées et les contenus. Le tri se fait sur votre site : les valeurs sensibles (mots de passe, clés, adresses e-mail) n'en sortent jamais.

4

Les failles connues de vos versions

Les versions de WordPress, des extensions actives et du thème actif sont comparées à la base publique WPVulnerability. Une faille connue est signalée « à vérifier » avec la version qui la corrige : ce n'est pas une infection, c'est une porte qu'un attaquant peut utiliser. Seuls les noms et numéros de version quittent nos serveurs.

Trois niveaux de verdict

Un indice isolé n'est jamais présenté comme une infection. Chaque élément signalé reçoit l'un de ces trois niveaux :

Menace confirmée

Une preuve forte et peu ambiguë : une règle de webshell ou de porte dérobée à haute confiance, ou une signature antivirus. C'est le seul niveau compté comme une infection.

À vérifier

Un indice réel mais un contexte insuffisant pour conclure : fichier du cœur modifié, code obfusqué, entrée suspecte de la base. Un humain doit regarder avant d'agir.

Informatif

Une différence probablement légitime ou un fichier que WordPress n'exécute jamais, comme wp-config-sample.php. Signalé, jamais compté comme une infection.

Le score de risque suit ces verdicts : tant qu'aucune menace n'est confirmée, il ne dépasse pas 15 sur 100. Un site qui ne présente que des éléments à vérifier n'est pas un site infecté, et nous ne gonflons pas le score pour vendre un nettoyage.

Ce que nous avons mesuré

Aucun scanner ne détecte 100 % des menaces. Voici nos chiffres sur nos corpus de test, y compris celui qui nous dessert.

95,8 %

de rappel sur un corpus de 381 webshells PHP réels (365 détectés).

49 %

sur du malware PHP générique chiffré (AES/XOR) : 50 sur 102. Une analyse statique ne voit pas ce qui est chiffré — c'est notre angle mort.

0

faux positif observé sur 1 285 fichiers du core WordPress et 56 motifs pièges. Les extensions de type gestionnaire de fichiers n'ont pas été testées.

Nos angles morts

Nous préférons vous les dire avant que vous payiez. Quand une analyse n'a pas pu aller au bout (fichiers impossibles à télécharger, durée maximale atteinte), le rapport l'indique par un constat d'analyse partielle.

  • Le code chiffré (AES, XOR) échappe en grande partie à une analyse statique : 49 % de détection sur notre corpus.
  • Les extensions et thèmes payants n'ont pas d'empreintes publiques : leurs fichiers passent par les règles, sans comparaison avec l'original.
  • Les dossiers nommés cache (par exemple wp-content/cache/) ne sont pas listés par l'extension.
  • La vérification des failles connues ne porte que sur les extensions et le thème actifs, et s'appuie sur une base publique : une extension payante absente de WordPress.org y figure rarement.
  • Le scan de secours, déposé par FTP quand l'administration est inaccessible, n'analyse ni la base de données ni les failles connues des versions.
  • Le scan ne voit que le site WordPress : ni le reste du serveur, ni les tâches planifiées du système, ni les clés SSH.

Ce que deviennent vos données

  • Vos fichiers sont lus pendant l'analyse puis oubliés : seuls les résultats sont conservés.
  • Un extrait de code cité dans un rapport ne dépasse jamais 500 caractères.
  • Analyse et stockage sur Google Cloud, région Francfort. Journaux techniques : 30 jours. Rapports : jusqu'à 2 ans.
  • Le triage par IA des cas ambigus est une option que vous déclenchez vous-même ; il est confié à un prestataire hébergé hors UE (DeepSeek).

Le détail figure dans notre politique de confidentialité.

Voir à quoi ressemble un vrai rapport

Nous publions un rapport de scan réel, consultable sans créer de compte. Vous y verrez comment chaque élément est classé, et pourquoi un fichier signalé n'est pas forcément une infection.

Rapport de scan réel : 9 411 fichiers analysés, score 0 sur 100 « Propre », 0 menace confirmée, 0 élément à vérifier, 1 élément informatif (wp-config-sample.php modifié).
Extrait du rapport d'exemple : le seul écart trouvé est classé informatif, pas compté comme une menace.
Voir un rapport réel →