Home/ Blog/ Security news/ Article
Blog · Security news

SourTrade malvertising builds an infostealer inside your browser, so no file crosses the wire to scan

SourTrade malvertising makes the victim's browser assemble a Windows infostealer in memory, with a unique hash per visitor, so no scannable file ever crosses

Fragments streaming from a browser window and fusing into a single dark executable block

Most malware detection still rests on one assumption: at some point the malicious file travels across the network, where a proxy, a sandbox, or an endpoint agent can catch it and match it against something known. A malvertising operation that the ad-security firm Confiant named SourTrade breaks that assumption on purpose. It ships no finished executable at all. The victim's own browser assembles the Windows binary in memory, from parts that look harmless on their own, and every visitor ends up with a slightly different file. There is nothing on the wire to scan.

Confiant published its analysis on July 23, 2026, and traced the operation back to late 2024. It runs through fake TradingView, Solana, and Luno pages served in 25 languages across 12 countries, aimed at retail traders and cryptocurrency holders. The Hacker News counted 96 malicious domains in the published indicators. This is the same family of trick behind ransomware that runs inside a browser tab: the browser is the execution surface precisely because that is where on-host and network tools have the least visibility.

How the browser builds the malware for the attacker

A malicious ad drops the target onto a cloaked landing page, tuned to screen out scanners, researchers, and automated crawlers so that only a genuine victim ever reaches the payload. Nothing waits for the user to click download. As the page loads it quietly installs a page-scoped worker (the script is served from /sw.js) and starts a second, shared background worker from code that already shipped inside the page. That shared worker asks the server for a /config reply, which is not the program at all but the blueprint for it: a template plus the raw material the browser needs to build the file on its own.

With the blueprint in hand, the browser fetches and unpacks a clean, legitimate copy of the Bun runtime hosted on a different domain (purelogicbox[.]org in Confiant's sample). Encoded data from the config fills in the rest of a Windows Portable Executable: the file header, the section table, and a .bun section carrying the hostile bytecode. The shared worker then spins up a long pseudorandom stream with AES in counter mode and treats the template as a cut-and-paste map, stitching byte ranges from the runtime, that random stream, and the attacker's code into one finished binary. To the user it looks like an ordinary download from the site they were on, mark-of-the-web tag and all.

Run it, and you have a stealer on the machine. Confiant flagged similarities to a family Check Point calls JSCEAL and WithSecure calls WeevilProxy, without committing to a firm link. That family grabs stored credentials, logs keystrokes, plants itself as a local proxy to sit in the middle of the machine's network traffic, empties cryptocurrency wallets, and opens a remote channel back to the operator. It sits in the same category as the session-stealing malware we covered in ACR Stealer, where the way in is a convincing lure rather than an exploit.

How the delivery moved into the browserLate 2024: Campaign begins. Apr 2026: StreamSaver build. Jul 2026: ServiceWorker build. Jul 23 2026: Confiant reports.How the delivery moved into the browserLate 2024Campaign beginsApr 2026StreamSaverbuildJul 2026ServiceWorkerbuildJul 23 2026Confiant reports
Source: Confiant, Bitdefender, and BleepingComputer reporting on the SourTrade campaign.

This did not arrive fully formed. Confiant and BleepingComputer both trace an April 2026 version that used the StreamSaver library to stitch the download together in the browser; the ServiceWorker method is the same idea, refined and made harder to inspect. Read the two versions side by side and the direction is obvious. The assembly step keeps moving further inside the browser, away from anything a network defender can put eyes on. That trajectory, not this one campaign, is the thing to plan detections around.

Why your hash blocklist is now documentation, not defense

Confiant published three SHA-256 hashes with its report. Collect them, but do not expect them to block the next victim. Because the values that seed each build shift from one session to the next, the hash of the assembled file comes out different for every visitor even though the working code underneath stays the same. A hash that only ever existed on one person's disk is not something you can push to a blocklist and catch anyone else with.

That inverts the usual value of an indicator dump. Here the durable indicators are the domains and the delivery chain; the file hashes are close to disposable. Feed the 96 domains into your DNS and web filtering, treat freshly registered look-alike domains for trading and wallet brands as suspect, and file the hashes as forensic record rather than a preventive control. The same lesson runs through shared ClickFix delivery infrastructure: the lure and the plumbing are the stable thing to detect, not the final artifact.

Where the detection signal actually lives now

If the file is polymorphic and the network sees only benign-looking parts, detection has to move to where the assembly finishes, which is the endpoint and the browser. Two signals survive this technique.

First, the artifact. The final binary is a Bun-compiled executable. Bun is a real developer runtime, but a Bun-compiled program landing on a finance clerk's workstation is an anomaly on most corporate Windows fleets, and process telemetry can flag it whatever its hash happens to be. Because most of the finished file is a genuine, well-known runtime with a small malicious bytecode section riding inside it, static "is this file known-bad" checks and simple reputation scoring are working against the grain by design.

Second, the act of building it. A browser tab that registers a ServiceWorker and then writes an executable to disk through a worker-driven blob is a behavior, and behavior does not rotate with the seed. Endpoint tooling that watches what a process does, rather than what a file is, is what catches this. That is exactly why Confiant tells defenders to judge the sequence as a whole, the ad that referred the user, the cloaked page, the /config call, the runtime pulled from a second host, and the worker-driven download, rather than betting the verdict on any one of those pieces. Managed detection that maps that sequence of endpoint behavior to attacker technique, rather than matching files, is built for this shape of threat.

What to do about it this week

Three moves, in order of payoff:

  • Block at the door. Push Confiant's 96 domains into DNS and web filtering now, and flag newly registered look-alike domains for trading and crypto brands. The domains are the stable indicator, so this is the highest-value control.

  • Watch the endpoint for the assembly, not the file. Alert on browsers spawning or writing Bun-compiled executables, on unexpected ServiceWorker-driven downloads, and on the stealer's post-run behavior: a local proxy appearing, plus access to credential stores and wallet files.

  • Cut off the lure. Most victims arrive through a search ad or sponsored result, not the vendor's real site. A policy of installing trading and crypto software only from official vendor domains, with a signature-and-publisher check before running any such installer, removes the entry point outright.

SourTrade is not a vulnerability you can patch, because it exploits nothing. It abuses features every modern browser ships on purpose, plus a legitimate compiler that any developer can install. That makes it a preview of where commodity malware delivery is going: less reliance on a bad file crossing the network, more on the victim's own machine doing the assembly. This is the same shift we flagged in fake proof-of-concept lures, where the delivery, not the exploit, is the whole attack. Defenders who still treat "we caught the file" as "we caught the attack" will keep missing it.

Topics

Frequently asked questions

What is the SourTrade malvertising campaign?

SourTrade is a malvertising operation that the ad-security firm Confiant reported on July 23, 2026. It uses fake TradingView, Solana, and Luno pages to push an infostealer that the victim's own browser assembles in memory, so no finished malware file ever crosses the network to be scanned.

How does SourTrade avoid antivirus and file scanning?

The malicious executable is never delivered whole. The browser fetches a clean Bun runtime plus separate data pieces, then builds the Windows binary locally using a ServiceWorker and a SharedWorker. Each visitor gets a different file hash, so signature and hash-based scanning has nothing consistent to match against.

Is there a patch for SourTrade?

No. SourTrade exploits no software vulnerability, so there is nothing to patch. It abuses legitimate browser features such as ServiceWorkers, SharedWorkers, and streams, along with the Bun runtime's ability to compile an executable. Defense relies on blocking the delivery domains, endpoint behavior detection, and installing software only from official vendors.

What can the SourTrade payload do once it runs?

The payload is a stealer with overlap to a family Check Point tracks as JSCEAL and WithSecure calls WeevilProxy. Its reported capabilities include credential theft, keylogging, network traffic interception through a local proxy, cryptocurrency wallet theft, and remote access to the infected Windows machine.

How should defenders detect SourTrade?

Focus on the endpoint and the delivery chain, not file hashes. Block the malicious domains Confiant published, alert on browsers writing or launching Bun-compiled executables, and watch for the stealer's behavior such as a local proxy and wallet access. The per-victim file hashes are near-useless for blocking.

Ready to meet the Guardians?

Deploys fast - agentless for monitoring and cloud, a lightweight agent for deep endpoint security. Just Suriq, standing watch.