LIVE · cybersecurity feed
Live wire
malware

Breaking the Seal: Static Deobfuscation of JSCeal’s Compiled V8 Bytecode

Research by: hasherezade Key Points Introduction JSCeal is a stealer delivered as compiled V8 bytecode (.jsc) and executed by a bundled Node.js runtime, targeting cryptocurrency applications (other vendors also tag it with the names WEEVILPROXY or MeadowLocust). Its campaign activity dates back to March 2024 [1]; Check Point Research has been tracking the malware since early […] The post Breaking

zeroday.news ·

Since early 2025, Check Point Research has been tracking JSCeal, a sophisticated cryptocurrency-focused stealer that also performs credential theft, surveillance, and traffic interception. The malware is delivered as compiled V8 bytecode in `.jsc` files, protected by the `javascript-obfuscator` tool, which employs techniques such as RC4-protected strings, control-flow flattening, proxy functions, and operation wrappers.

JSCeal campaigns have been active since March 2024, with Check Point Research focusing on its delivery chain and targeting in a July 2025 publication. The current research details the analysis of the final payload, which presents a challenge due to its heavily obfuscated JavaScript being compiled into V8's internal bytecode, a format that is version-specific and not well-supported by standard reverse-engineering tools. Other vendors have also identified this malware under the names WEEVILPROXY or MeadowLocust.

The attackers leverage Node.js and its package ecosystem for application building blocks and use public tools like `javascript-obfuscator` for source-level obfuscation before compilation, making the resulting artifact inexpensive to produce. The final `.jsc` payload is distributed in Brotli-compressed form and decompressed by a `preflight.js` script, then executed by a bundled Node.js runtime.

The infection chain typically begins with malvertising, followed by multiple PowerShell scripts. The final stage involves downloading two ZIP archives: `node.zip`, containing a packaged Node.js runtime, and `build.zip`, which includes the `app.jsc` malware payload, `preflight.js`, and supporting components like `winpty-agent.exe` and `winpty.dll` for hidden console interaction, as well as native `.node` modules. The command `.\node.exe -r .\preflight.js .\app.jsc` triggers the loading of the malware.

To overcome the challenges of analyzing the compiled V8 bytecode, Check Point Research developed a fully static deobfuscation pipeline. This pipeline transforms View8 pseudocode without executing the malware, allowing for detailed analysis, comparison between samples, and tracking of the malware's evolution. An optional LLM-assisted renaming stage can further enhance readability of large, recovered codebases.

The foundation of this pipeline is View8, an open-source decompiler for V8 bytecode published by Moshe Marelus in 2024. Check Point Research extended View8 to ensure reproducible output suitable for automated post-processing and implemented dedicated passes for value propagation, string reconstruction, control-flow unflattening, proxy and operation-wrapper resolution, and additional cleanup. The goal was to recover enough structure and semantics to understand the malware's logic, identify capabilities, and validate behavior against concrete strings, APIs, paths, and data flow.

The deobfuscation process begins with decompressing the Brotli-compressed `.jsc` payload to obtain the V8 code cache. This cache is then fed into a compatible disassembler, and the disassembled output is processed by the View8-based pipeline. This pipeline, developed on Linux, includes multiple deobfuscation passes, each usable as a self-contained script. To support modularity, View8 was extended with pickle serialization of its internal object graph, function-level visibility controls, and metadata annotations.

The toolkit, named `jsc_deobfuscator`, is publicly available on GitHub. Check Point Research applied this pipeline to 23 JSCeal payloads collected over several months, successfully producing analyzable output in all cases. The deobfuscated output revealed JSCeal's capabilities, including keylogging, browser and cryptocurrency credential theft, screenshot capture, and HTTPS traffic interception through a local Man-in-the-Middle (MITM) proxy.

Recent developments in JSCeal include the generation of V8 code caches for newer Node.js/V8 versions, an additional payload-encryption layer, and targeting of macOS systems. This research was presented at Black Hat USA 2026, with the article providing a more in-depth technical methodology and implementation details.

malware
ShareXLinkedInWhatsAppFacebook

More News

view all →
malware

Anthropic warns infostealer malware is hijacking Claude sessions to drain usage

Anthropic is warning some Claude users that infostealer malware on their PCs has stolen active Claude login sessions, allowing attackers to access accounts and consume their usage. [...]

malware

Chrome Web Store extensions caught stealing crypto, browser data

Multiple extensions for Google Chrome and Microsoft Edge delivered a malware framework that deployed modules to steal cryptocurrency, sensitive data, and browser history, as well as inject ClickFix lures. [...]

ai

[Virtual Event] What Every Enterprise Should Know About Securing Cloud Assets in the Age of AI

ai

[Virtual Event] Building a Secure AI Strategy for the Enterprise

ransomware

Berlin confirms data theft after Rhysida ransomware attack claims

Berlin's city administration has confirmed that cybercriminals are attempting to extort the city after the Rhysida ransomware gang listed it on their data leak site. [...]

breach

McKesson Confirms Data Breach as Attacker Deadline Looms

The ShinyHunters extortion group has claimed the theft of 284 million records from the company’s systems. The post McKesson Confirms Data Breach as Attacker Deadline Looms appeared first on SecurityWeek.