« C’est la même extension, juste gratuite. » C’est souvent ainsi qu’un client justifie l’installation d’une copie piratée, dénichée sur un forum ou un site de téléchargement douteux, plutôt que d’acheter la licence officielle à quarante ou cent euros par an. Le raisonnement se comprend sur le plan budgétaire. Il ignore un détail essentiel : personne ne sait qui a modifié le code avant de le remettre en circulation.
Cet article revient sur trois cas rencontrés chez des clients qui nous ont contactés après avoir constaté un comportement anormal sur leur site. Dans chacun d’eux, l’origine du problème était une extension ou un thème dit « nulled », c’est-à-dire une version commerciale dont la vérification de licence a été retirée. Nous avons ouvert le code pour comprendre ce qu’il contenait réellement.
Cas n°1 : une porte dérobée dans une fonction de traduction
Le premier site tournait avec une copie piratée d’un thème premium de type vitrine. Le code se comportait normalement en apparence, jusqu’à ce qu’un scan de fichiers révèle une fonction nommée load_theme_textdomain_custom(), absente de la documentation officielle du thème. Elle décodait une chaîne encodée en base64 puis l’exécutait avec eval(), uniquement lorsqu’un en-tête HTTP précis était présent dans la requête.
Concrètement, quiconque connaissait ce détail pouvait envoyer une requête spécialement construite et faire exécuter n’importe quel code PHP sur le serveur, à l’insu complet du propriétaire du site. Le thème fonctionnait très bien au quotidien : rien dans l’expérience visiteur ne trahissait la présence de cette porte.
Cas n°2 : des liens de spam invisibles dans le pied de page
Le deuxième site utilisait une extension de constructeur de pages piratée. Le souci ne venait pas d’une fonction évidente, mais d’un fichier de template modifié : un bloc de liens vers des sites de vente de médicaments et de paris en ligne, inséré en pied de page avec un style display: none. Invisible pour un visiteur humain, parfaitement lisible par les robots des moteurs de recherche, qui avaient fini par pénaliser le référencement du site sans que personne ne comprenne pourquoi pendant plusieurs semaines.

Cas n°3 : un compte administrateur créé en silence
Le troisième cas est le plus direct. L’extension piratée, un plugin de formulaires, contenait dans son fichier principal un appel à wp_insert_user() déclenché au premier chargement d’une page d’administration, créant un compte avec le rôle administrator et un identifiant proche de wp-support. Le mot de passe était codé en dur dans le fichier. N’importe qui connaissant ce plugin piraté pouvait s’y connecter sur tous les sites l’utilisant.
Ce compte est resté invisible plusieurs mois : listé parmi les utilisateurs, mais avec un nom suffisamment discret pour ne pas attirer l’attention lors d’un coup d’œil rapide à l’écran Utilisateurs.
Ce que ces trois cas ont en commun
- Le code modifié reste fonctionnel : le thème ou l’extension continue de remplir sa mission apparente, ce qui retarde la détection.
- Les modifications ciblent des fichiers peu consultés (templates secondaires, fichiers d’initialisation) plutôt que le fichier principal.
- Aucune de ces copies ne recevait de mise à jour légitime : les correctifs de sécurité ultérieurs de la version officielle ne s’appliquaient jamais.
- Dans les trois cas, l’extension avait été téléchargée sur un site tiers, jamais sur WordPress.org ni sur la boutique de l’éditeur.
Pourquoi le risque dépasse la simple absence de mises à jour
L’argument habituel contre les copies piratées est qu’elles ne reçoivent pas les correctifs de sécurité. C’est vrai, mais c’est loin d’être le principal danger : une copie qui ne reçoit jamais de mise à jour est prévisible. Le vrai risque, illustré par nos trois cas, est que le code a été délibérément modifié avant sa mise en circulation, avec une intention malveillante précise et difficile à repérer sans relire chaque fichier.
Un thème piraté qui fonctionne parfaitement n’est pas une preuve d’innocuité, c’est souvent le signe que la porte dérobée a été bien conçue.
En résumé
Les trois audits présentés ici ne sont pas des cas isolés : chaque semaine, des sites WordPress sont compromis via une extension ou un thème obtenu hors des canaux officiels. Le coût d’une licence légitime reste dérisoire face au temps passé à diagnostiquer une infection, sans même compter l’impact sur la réputation et le référencement. Vérifier l’origine d’un composant avant de l’installer devrait faire partie du réflexe de tout administrateur de site, au même titre que la sauvegarde.