La publicité malveillante envoie des logiciels malveillants par morceaux, puis force le navigateur à compiler le programme exécutable.

Une opération de malvertising baptisée SourTrade oblige les navigateurs des victimes à construire eux-mêmes l’exécutable Windows final, en utilisant un environnement d’exécution Bun légitime comme base au lieu de servir un fichier malveillant complet à partir d’une URL fixe.
Confiant, qui a détaillé la campagne le 23 juillet 2026, a déclaré qu’elle opérait depuis fin 2024 et usurpait l’identité de TradingView, Solana et Luno pour cibler les traders particuliers et les investisseurs en cryptomonnaies dans 12 pays et en 25 langues.
Ses pages d’accueil identifient les visiteurs, affichant une page vide aux chercheurs et robots présumés, tandis que les cibles sélectionnées reçoivent une copie convaincante du service usurpé. La défense est simple : installer les logiciels de trading et de portefeuille depuis le site officiel du fournisseur, et non depuis une publicité.
La chaîne documentée ne repose pas sur une vulnérabilité du navigateur ni sur la suppression de la Marque du Web (MotW). L’analyse de Confiant documente la livraison, et non l’exécution du fichier dans le navigateur, et ne précise pas si le téléchargement final démarre automatiquement ou nécessite une intervention.
La page d’accueil prépare le chemin de diffusion sans attendre un clic de téléchargement. Elle enregistre un ServiceWorker limité à la page /sw.js, puis construit un SharedWorker à partir du JavaScript déjà intégré à la page ; ainsi, le code source du worker n’apparaît jamais comme une requête séparée.
Le SharedWorker effectue une requête /configqui renvoie un modèle, une URL d’exécution secondaire et des valeurs aléatoires spécifiques à la session. Le navigateur récupère et décompresse un environnement d’exécution Bun propre depuis ce second domaine, purelogicbox[.]org, dans l’exemple de réponse publié.
Les blobs Base64 de la configuration fournissent l’en-tête de l’exécutable portable (PE), la table des sections et une .bunsection contenant du bytecode JavaScriptCore malveillant app.js. Bun s’exécute sur le moteur JavaScriptCore d’Apple et prend légitimement en charge la compilation d’applications et de bytecode en exécutables Windows autonomes.
Le processus génère ensuite un flux d’octets pseudo-aléatoires de grande taille à l’aide d’AES en mode compteur (AES-CTR). Il applique ensuite le modèle fourni comme recette de copie d’octets, en combinant des plages sélectionnées de l’environnement d’exécution Bun, du flux généré et du code exécutable contrôlé par l’attaquant.
Chaque victime peut recevoir un fichier assemblé différent : la rotation de la graine et de la taille dans chaque /configréponse modifie le hachage tout en conservant le code exécutable. « Aucun logiciel malveillant finalisé n’existe jamais sur le réseau », a écrit Michael Steele, de l’équipe de veille sur les menaces de Confiant. Aucun binaire complet n’existe, bien que les structures PE et le bytecode arrivent au format Base64 /config.
/>
Une fois la page assemblée, elle transmet l’exécutable au Service Worker sous forme de flux lisible. Une iframe masquée redirige vers une URL de même origine, et le Service Worker renvoie les octets générés avec un Content-Dispositionen-tête de pièce jointe. L’enregistrement MotW résultant identifie la page de destination comme source de téléchargement, et non le domaine distinct ayant fourni l’environnement d’exécution Bun. MotW lui-même reste présent.
Cette méthode est issue d’une activité suivie par Confiant jusqu’au 30 avril 2026, date à laquelle les pages chargeaient StreamSaver.js , une bibliothèque open source de téléchargement en continu, depuis l’adresse GitHub Pages de son auteur. Le chemin de téléchargement enregistré pointait alors vers l’URL GitHub de la bibliothèque. Les pages actuelles conservent l’architecture de streaming, y compris les streamsaver:noms des messages, mais ne la récupèrent plus depuis GitHub.
Bitdefender a documenté le cluster de malvertising TradingView associé en septembre 2025, identifiant sa charge utile finale comme étant le voleur que Check Point surveille sous le nom de JSCEAL et WithSecure sous le nom de WeevilProxy .
Confiant identifie des caractéristiques communes à la campagne et à l’exécutable, mais ne démontre pas que les trois échantillons publiés contiennent cette charge utile. Le rapport indique également que Bitdefender a trouvé un exécutable Bun modifié dans ce groupe.
Hacker News n’a trouvé aucune mention de Bun dans l’article de septembre 2025 auquel Confiant renvoie, qui nomme son outil de détection de chargeur Variant.DenoSnoop.Marte.1. Les capacités de vol d’identifiants, d’enregistrement de frappe, d’interception de trafic, de vol de portefeuille et d’accès à distance documentées dans la campagne précédente ne peuvent donc pas encore être attribuées aux fichiers actuels.
Hacker News a contacté Confiant pour obtenir des éclaircissements sur sa référence aux conclusions précédentes de Bitdefender et mettra à jour cet article dès réception de toute réponse.
Aucun correctif logiciel n’est à appliquer. La faille est plus limitée qu’il n’y paraît. La section « Implications pratiques » de Confiant est formulée avec plus de modestie : les versions uniques par session limitent l’efficacité des détections basées sur le hachage. Le matériel PE et le bytecode contrôlés par l’attaquant transitent toujours sur le réseau.
Les équipes de défense doivent examiner l’ensemble de la chaîne, depuis la référence publicitaire et la page de destination masquée jusqu’à la /configrequête, la récupération d’exécution sur le domaine secondaire et le téléchargement par ServiceWorker, plutôt que de considérer un seul élément de réseau ou fichier comme décisif.
Confiant a publié trois hachages SHA-256 et une liste de domaines malveillants, 96 selon The Hacker News. La société n’a identifié aucun acteur et a interrompu son analyse dès l’enregistrement du fichier sur le disque.