Pendant environ une semaine, il suffisait de visiter un site ordinaire pour qu'un paiement en cryptomonnaie parte chez un inconnu. L'attaque sur la chaîne d'approvisionnement d'Adform a placé du code malveillant à l'intérieur d'un script de suivi diffusé par l'un des plus grands acteurs européens de la technologie publicitaire, et chaque site qui intègre ce script a transmis le code directement à ses visiteurs. Le chercheur en sécurité Kevin Beaumont l'a découvert le 27 juillet 2026. Aucun antivirus ne l'avait signalé.
Comment l'attaque Adform a fonctionné
Le fichier compromis était trackpoint-async.js, le traceur JavaScript d'Adform servi depuis s2.adform.net et intégré sur les sites de ses clients. Quelqu'un a ajouté du code obfusqué à la fin de la bibliothèque légitime, si bien que le fichier continuait son travail normal tout en transportant une charge utile. Rien n'était installé sur la machine du visiteur. Le script s'exécutait simplement dans la page, comme tout autre script que le site avait choisi de charger.
Son action était étroite et efficace. Selon l'analyse de Beaumont, le code interrogeait le presse-papiers toutes les trois secondes et comparait le contenu aux formats d'adresses Bitcoin, Ethereum et TRON, et en cas de correspondance remplaçait l'adresse par un portefeuille contrôlé par l'attaquant. Les adresses de substitution variaient. Recopier la bonne adresse ne servait à rien : l'interrogation suivante la remplaçait de nouveau. L'analyse a montré ensuite que le code pouvait aussi réécrire les adresses affichées sur la page et saisies dans les champs de formulaire, le presse-papiers n'était donc pas la seule voie.
La partie qui ne concernait pas la crypto
La même infrastructure collectait discrètement du renseignement. Outre l'échange de portefeuilles, des scripts diffusés via Adform contactaient le serveur 84.32.102.230 sur le port 7744 en envoyant l'adresse IP du visiteur, le site consulté et le chemin de la page affichée. C'est un système de pistage fonctionnel bâti sur un système de pistage, au profit du propriétaire du code malveillant. Quiconque estimait que les scripts publicitaires ne sont qu'une nuisance pour la vie privée dispose désormais d'un contre-exemple : le même tuyau qui rapporte votre navigation à un annonceur peut la rapporter à un attaquant.
Une semaine de silence et des verdicts antivirus impeccables
Le plus ancien échantillon récupéré provient d'une capture Archive.org datée du 26 juillet 2026, et Beaumont a observé une activité malveillante via Adform durant la semaine précédente. Pendant tout ce temps, le fichier, les URL, le domaine et l'IP de l'attaquant étaient jugés sains par tous les éditeurs sur VirusTotal. C'est la partie inconfortable. La charge utile ne se cachait pas dans un recoin obscur d'internet : elle était diffusée par une entreprise dont Beaumont évalue la portée à environ 14 000 sociétés clientes et près de 30 pour cent du marché des plateformes d'achat publicitaire, et l'industrie de la sécurité est passée à côté. Le code malveillant a commencé à disparaître pendant qu'il rédigeait ses conclusions.
Ce qu'a fait Adform et ce que doivent faire les visiteurs
Adform a confirmé l'incident, retiré le code malveillant, prévenu les clients concernés et signalé l'affaire aux autorités. L'entreprise indique que le code n'était pas conçu pour installer un logiciel ni pour se maintenir sur l'appareil, et qu'il ne fonctionnait que tant qu'une page affectée restait ouverte. Elle demande aussi aux utilisateurs de vider le cache et les cookies du navigateur, car une copie mise en cache du fichier modifié peut continuer à s'exécuter après le correctif. La liste pratique pour quiconque manipule des cryptomonnaies est courte : vider le cache, vérifier l'adresse de destination sur l'appareil qui reçoit plutôt que sur la page d'où elle a été copiée, et envoyer une petite transaction de test avant une grosse.
Un script, des milliers de portes d'entrée
Voilà la forme que prennent les attaques modernes sur la chaîne d'approvisionnement. Personne n'a piraté 14 000 entreprises. Un fournisseur a été compromis, et 14 000 entreprises ont livré le résultat à leurs visiteurs, parce qu'un script tiers s'exécute avec les mêmes privilèges que le site qui le charge. Nous avions traité la version vie privée de ce problème quand ChatGPT envoyait discrètement des résumés de requêtes à Meta via le pixel Facebook, et la version automatisée quand un agent d'IA s'est échappé de son bac à sable et a empoisonné un dépôt public de paquets. La défense n'a pas changé : bloquer par défaut les scripts tiers et les traceurs, car chacun que vous autorisez est une entreprise à qui vous accordez l'exécution de code sur votre machine. La forme pratique de cette règle est un bloqueur de contenu comme uBlock Origin, et adform.net figure sur les listes de traceurs standard qu'utilisent ces outils, si bien que beaucoup d'utilisateurs équipés n'ont jamais reçu le fichier. Un VPN masque le réseau depuis lequel vous vous connectez, et c'est précisément ce que ce mouchard enregistrait, mais aucun VPN n'arrête un script que le site a lui-même invité.