Forschende von Confiant haben Details offengelegt zu einer Malvertising-Kampagne namens SourTrade, bei der der Browser des Opfers die finale ausführbare Windows-Datei eigenständig aus einer legitimen Bun-Runtime und in Teilen gelieferten bösartigen Komponenten zusammenbaut. Nach Angaben der Forschenden ist die Kampagne seit Ende 2024 aktiv und zielt auf Retail-Trader und Krypto-Investoren in 12 Ländern ab, indem sie die Marken TradingView, Solana und Luno imitiert. Die fertige bösartige Binärdatei wird nie vollständig über das Netzwerk übertragen – jedes Opfer erhält einen einzigartigen Build mit unterschiedlichem Hash, wodurch eine einfache Erkennung über Hash-Werte wirkungslos wird. Für die Absicherung bleibt die wichtigste Empfehlung unverändert: Handels- und Wallet-Software ausschließlich von den offiziellen Websites der Entwickler zu installieren und nicht über Werbelinks.
Mechanismus der Malware-Zusammenstellung im Browser
Die technische Lieferkette von SourTrade nutzt Standardfunktionen der Webplattform, ohne Browser-Schwachstellen auszunutzen. Die Landingpage beginnt mit den Vorbereitungen, noch bevor der Nutzer auf die Download-Schaltfläche klickt: Es wird ein ServiceWorker unter dem Pfad /sw.js registriert und anschließend ein SharedWorker aus in die Seite eingebettetem JavaScript-Code erzeugt. Dadurch taucht der Quellcode des Workers nicht als eigener Netzwerk-Request auf.
Der SharedWorker greift auf den Endpunkt /config zu, der eine Build-Vorlage, die URL einer sekundären Domain zum Herunterladen der Runtime sowie sitzungsbezogene Zufallswerte zurückliefert. Der Browser lädt und entpackt die saubere Bun-Runtime von einer separaten Domain – im veröffentlichten Beispiel ist dies purelogicbox[.]org. Bun ist eine legitime JavaScript-Runtime auf Basis der Apple-JavaScriptCore-Engine, die offiziell die Kompilierung von Anwendungen und Bytecode zu eigenständigen Windows-Executables unterstützt.
Die bösartigen Komponenten – PE-Header, Section-Tabelle und der Abschnitt .bun mit JavaScriptCore-Bytecode für app.js – werden in Form von Base64-Blobs in der Antwort von /config geliefert. Der Worker erzeugt einen pseudorandomisierten Bytestrom mittels AES-CTR und kombiniert nach einem vorgegebenen Rezept Fragmente der sauberen Bun-Runtime, den generierten Strom und das bösartige Material zu einer einzigen ausführbaren Datei.
Die Rotation des Anfangswerts (Seed) und der Größe in jeder /config-Antwort verändert den finalen Dateihash, während der funktionale Schadcode erhalten bleibt. Wie Michael Steele aus dem Confiant-Team anmerkt: „Die fertige Malware existiert nie im Netzwerk“ – wobei die Analyse zutreffend klarstellt, dass PE-Strukturen und Bytecode dennoch den Netzwerkkanal passieren, eingebettet in die Base64-Daten.
Verschleierung der Auslieferung über ServiceWorker
Die zusammengestellte Datei wird vom ServiceWorker als Readable Stream ausgeliefert. Ein verstecktes iframe ruft eine URL derselben Domain auf, und der Worker gibt die generierten Bytes mit dem Header Content-Disposition: attachment zurück. In der Folge zeigt der Eintrag der Mark of the Web (MotW) auf die Landingpage als Download-Quelle und nicht auf die separate Domain, von der die Bun-Runtime bezogen wurde. Die MotW selbst bleibt jedoch vorhanden – die Lieferkette entfernt diese Schutzmarkierung nicht.
Wichtiger Vorbehalt: Die Analyse von Confiant dokumentiert die Auslieferung der Datei, nicht jedoch deren Ausführung. Die Forschenden konnten nicht feststellen, ob der Download automatisch startet oder eine Nutzeraktion erfordert. Die Analyse endet zu dem Zeitpunkt, an dem die Datei auf den Datenträger geschrieben wird.
Die Landingpages setzen Fingerprinting der Besucher ein: Vermutete Forschende und Bots sehen eine leere Seite, während ausgewählte Ziele eine überzeugende Kopie des imitierten Dienstes erhalten.
Evolution und Zusammenhang mit früheren Kampagnen
Nach Angaben von Confiant hat sich die Methode aus früheren Aktivitäten weiterentwickelt, die bis zum 30. April 2026 zurückverfolgt wurden. In der vorherigen Version luden die Seiten die Bibliothek StreamSaver.js von den GitHub Pages des Autors, was im Download-Eintrag einen Pfad hinterließ, der auf GitHub verwies. Die aktuelle Version behält die Streaming-Architektur einschließlich der Nachrichtenpräfixe streamsaver: bei, greift jedoch nicht mehr auf das externe Repository zu.
Das Unternehmen Bitdefender dokumentierte im September 2025 einen verwandten Cluster von TradingView-Malvertising und identifizierte die finale Payload als Stealer, den Check Point unter dem Namen JSCEAL und WithSecure als WeevilProxy verfolgt. Confiant weist auf gemeinsame Merkmale der Kampagne und der Executables hin, beweist jedoch nicht, dass die drei veröffentlichten SourTrade-Samples dieselbe Payload enthalten. Die in früheren Kampagnen dokumentierten Fähigkeiten – Diebstahl von Zugangsdaten, Keylogging, Traffic-Abgriff, Diebstahl von Krypto-Wallets und Remote-Zugriff – lassen sich den aktuellen Dateien bislang nicht eindeutig zuordnen.
Bemerkenswert ist ein Widerspruch: Der Bitdefender-Post vom September 2025, auf den sich Confiant bezieht, verwendet die Erkennungsbezeichnung Variant.DenoSnoop.Marte.1 und erwähnt nach vorliegenden Informationen Bun nicht. Das stellt die Genauigkeit der Verknüpfung zwischen den Clustern in Frage und erfordert zusätzliche Bestätigung.
Bewertung der Auswirkungen
Nach Angaben der Forschenden umfasst die Kampagne 12 Länder und nutzt 25 Sprachen, was auf ein breit angelegtes Targeting von Retail-Tradern und Krypto-Investoren schließen lässt. Am stärksten gefährdet sind Nutzer, die Handelssoftware über Werbelinks in Suchmaschinen und sozialen Netzwerken installieren.
Die tatsächlichen Auswirkungen der Browser-basierten Zusammenstellungstechnik auf Schutzsysteme sollten nüchtern bewertet werden. Confiant formuliert die praktischen Konsequenzen zurückhaltend: Einzigartige, sitzungsbezogene Builds verringern die Wirksamkeit einer simplen Hash-basierten Erkennung. Dennoch werden bösartige PE-Strukturen und Bytecode weiterhin über das Netzwerk übertragen und können auf Ebene des Netzwerk-Traffics analysiert werden.
Empfehlungen zum Schutz
Einen Software-Patch für diese Kampagne gibt es nicht – sie nutzt keine Schwachstellen in Software aus. Die Abwehr erfolgt auf mehreren Ebenen:
- Für Nutzer: Handelsplattformen und Krypto-Wallets ausschließlich von den offiziellen Websites der Entwickler herunterladen und Werbelinks ignorieren
- Für SOC-Teams: die gesamte Kette analysieren – vom Werbeklick und der verschleierten Landingpage über den
/config-Request und das Laden der Runtime von der sekundären Domain bis zur Streaming-Auslieferung über den ServiceWorker – statt nach einem einzelnen Netzwerk- oder Datei-Artefakt zu suchen - Für Netzwerkschutz: Zugriffe auf
/config-Endpunkte überwachen, die Base64-Blobs mit PE-Strukturen zurückliefern, sowie das Herunterladen und Entpacken der Bun-Runtime von untypischen Domains - Für Host-Detection: sich nicht ausschließlich auf Hash-Signaturen verlassen; Verhaltensanalysen von ausführbaren Dateien auf Basis von Bun mit verdächtigem JavaScriptCore-Bytecode einsetzen
- IOC: die Domain purelogicbox[.]org ist im veröffentlichten Sample als Quelle der Runtime vermerkt. Confiant hat drei SHA-256-Hashes und eine Liste von 96 bösartigen Domains im vollständigen Bericht veröffentlicht
SourTrade demonstriert eine Verschiebung des Fokus der Angreifenden weg von der Auslieferung fertiger Binärdateien hin zur Nutzung standardisierter Browser-APIs, um die Malware clientseitig zusammenzusetzen. Die Technik erschwert die Hash-basierte Erkennung, macht die Kampagne jedoch nicht unsichtbar: Bösartige Komponenten passieren das Netzwerk, und die MotW bleibt auf der heruntergeladenen Datei erhalten. Vorrangige Maßnahme für Organisationen ist es, die IOCs aus dem Confiant-Bericht in Monitoring-Systeme zu integrieren und die Erkennung ungewöhnlicher Muster zu konfigurieren: Die Registrierung eines ServiceWorker mit anschließender Streaming-Auslieferung einer ausführbaren Datei über ein verstecktes iframe ist ein charakteristischer Marker dieser Kette.