Un plugin d’extension largement utilisé pour un constructeur de sites WordPress populaire a installé un script anti-piratage qui dépublie essentiellement tous les articles. Les développeurs de WordPress sont furieux, certains qualifiant le script de logiciel malveillant, de porte dérobée et de violation des lois.
BricksUltimate Add-On For Bricks Builder (en anglais)
Bricks site builder est une plateforme de création de sites pour WordPress très populaire auprès des développeurs web qui citent l’interface utilisateur intuitive, le CSS basé sur des classes et le code HTML propre et performant qu’il génère comme étant des caractéristiques supérieures à celles de beaucoup d’autres constructeurs de sites. Ce qui distingue ce constructeur de sites, c’est qu’il a été créé pour les développeurs qui ont des compétences avancées, ce qui leur permet de créer pratiquement tout ce qu’ils veulent sans avoir à lutter contre le code intégré qui est créé par les constructeurs de sites typiques de type « glisser-déposer » qui sont destinés aux non-développeurs.
L’un des avantages du constructeur de sites Bricks est qu’il existe une communauté de développeurs de plugins tiers qui étendent la puissance de Bricks afin d’accélérer l’ajout de nouvelles fonctionnalités au site web.
BricksUltimate Addon for Bricks Builder est un plugin tiers qui facilite l’ajout de fonctionnalités telles que les fils d’Ariane, les menus animés, les menus en accordéon, les évaluations par étoiles et d’autres éléments interactifs sur la page.
C’est ce plugin qui a suscité la controverse dans la communauté des développeurs WordPress en ajoutant des éléments anti-piratage que de nombreux membres de la communauté WordPress considèrent comme une « très mauvaise pratique » et que d’autres qualifient de « logiciel malveillant ».
BricksUltimate Anti-Piracy Measures (en anglais)
Ce qui cause la controverse semble être un script qui vérifie la validité de la licence. On ne sait pas exactement ce qui est installé, mais selon un développeur qui a examiné le code du plugin, il semble y avoir un script installé qui est conçu pour cacher tous les messages sur l’ensemble du site Web s’il détecte une copie piratée du plugin (plus d’informations à ce sujet ci-dessous).
Le développeur du plugin, Chinmoy Kumar Paul, a minimisé la controverse, écrivant que les gens « réagissent de manière excessive ».
Un projet en cours dans le groupe Facebook Dynamic WordPress sur la mesure anti-piratage BricksUltimate compte plus de 60 messages, la grande majorité d’entre eux s’opposant au script anti-piratage.
Réactions typiques dans cette discussion :
« …cacher une porte dérobée qui lit la base de données du client constitue en soi un abus de confiance et témoigne d’une intention malveillante de la part du développeur. »
« Je refuse tout simplement de soutenir ou de recommander un développeur qui pense avoir le droit d’ajouter secrètement une charge utile malveillante à un logiciel. Et qui, une fois confronté, le défend et ne voit aucun mal. C’est absolument inacceptable et je suis heureux que la communauté se soit regroupée pour déclarer qu’une telle approche ne devrait pas être tolérée… »
« …le fait que le code soit là est terrible. Je ne laisserais aucun plugin avec ce genre de porte dérobée sur aucun site, et encore moins quelqu’un qui le ferait pour le site d’un client. Cela gâche complètement le plugin pour moi ! »
« Ce type et sa société pourraient être facilement dénoncés et exposés à l’Autorité de régulation générale de la protection des données (GDPR) dans n’importe quel pays de l’UE pour avoir injecté un code « moniteur » non déclaré qui a un accès non autorisé aux bases de données et se comporte en fait comme un malware !!!!!!, c’est tout simplement incroyable ! «
L’un des développeurs de la communauté Facebook de Dynamic WordPress a fait part de ses découvertes sur ce que fait le script anti-piratage.
Ils ont expliqué leurs conclusions :
« Mon collègue et moi avons étudié la question. Il est vrai que nous ne sommes pas des experts en backend. Nos conclusions sont que le plugin a un code codé qui n’est pas lisible par l’homme sans décodage.
Ce code est une vérification supplémentaire de la licence à distance. S’il échoue, il semble remplacer des valeurs dans la base de données wp->posts, rendant ainsi tous les articles de tous les types illisibles pour WordPress.
Il ne semble pas les supprimer purement et simplement comme on l’avait d’abord soupçonné, mais ils apparaissent comme supprimés sur le frontend pour tout utilisateur non expert.Cela semble être implémenté dans les versions 1.5.3+ BU et comme il n’y a pas de messages ici à ce sujet de la part d’utilisateurs légitimes, j’ai tendance à croire Chinmoy qu’il est très peu probable que cela affecte les utilisateurs légitimes.
Ma collègue avait effectivement une version piratée du plugin, mais malheureusement, elle n’en était pas consciente parce qu’elle l’avait achetée en tant que version légitime auprès d’un vendeur tiers ».
Réponse du développeur de BricksUltimate :
Le développeur du plugin, Chinmoy Kumar Paul, a posté une réponse dans le groupe Facebook BricksUltimate.
Ils ont écrit :
« Re : Certains codeurs contournent l’API de licence avec du code personnalisé. Cette fois-ci, le plugin est activé et fonctionne sans problème. Mon script ne fait que suivre ces sites et vérifier la clé de licence. S’il ne correspond pas, il supprime les données. Mais ce n’est pas la meilleure solution. Je ne faisais que tester.
La prochaine fois, je l’améliorerai avec d’autres logiques et tests.
Les gens réagissent de manière excessive.
Je continue à chercher la meilleure solution et à mettre à jour les codes conformément à mon rapport.
…Un grand nombre d’utilisateurs indésirables soumettent le problème par courrier électronique et je perds mon temps pour eux. J’essaie donc de trouver la meilleure solution pour éviter ce genre de problème. »
Plusieurs utilisateurs de BricksUltimate ont défendu la tentative du développeur du plugin de se défendre contre les utilisateurs de copies pirates du plugin. Mais pour chaque message défendant le développeur, d’autres exprimaient une forte désapprobation.
Le développeur revient sur sa mesure anti-piratage
Le développeur a peut-être lu la salle et constaté que cette mesure était très impopulaire. Il a déclaré qu’il avait fait marche arrière.
Ils ont insisté :
« …J’ai déclaré que j’allais remplacer l’approche actuelle par une meilleure option. Les gens ne comprennent pas le concept et répandent des rumeurs ici et là ».
Les portes dérobées peuvent entraîner des amendes et des peines de prison
Wordfence a récemment publié un article sur les portes dérobées laissées par des développeurs qui interfèrent intentionnellement avec un site web ou l’endommagent pour des éditeurs qui leur doivent de l’argent.
Dans l’article intitulé : PSA : Laisser intentionnellement des portes dérobées dans votre code peut entraîner des amendes et des peines de prison ont-ils écrit :
« L’une des principales raisons pour lesquelles un développeur web peut être tenté d’inclure une porte dérobée codée en dur est de s’assurer que son travail n’est pas utilisé sans paiement.
…Ce qui devrait être évident, c’est que le fait d’endommager intentionnellement un site web constitue une violation de la législation dans de nombreux pays et peut entraîner des amendes, voire des peines de prison. Aux États-Unis, le Computer Fraud and Abuse Act de 1986 (CFAA) définit clairement l’utilisation illégale des systèmes informatiques. Selon l’article 1030 (e)(8) du 18 U.S.C., le simple fait d’accéder à des systèmes informatiques en utilisant des privilèges ou des niveaux d’accès plus élevés que ceux autorisés constitue une violation de la loi. En outre, le fait d’endommager intentionnellement le système ou les données constitue également un délit. La violation de la loi CFAA peut être sanctionnée par des peines d’emprisonnement de 10 ans ou plus, en plus d’importantes sanctions financières.
La lutte contre le piratage est une question légitime. Mais c’est un peu plus difficile dans la communauté WordPress parce que la licence WordPress spécifie que tout ce qui est créé avec WordPress doit être publié avec une licence open source.
Image présentée par Shutterstock/Dikushin Dmitry