As modern JavaScript applications grow in complexity, the need for performance has pushed execution engines like V8—used in Chrome, Node.js , and Edge—to rely heavily on compilation techniques. A critical component of this performance strategy is , V8's bytecode interpreter.

Using Node.js's built-in vm module or the third-party bytenode package, attackers compile their malicious JavaScript into serialized V8 bytecode ( .jsc files) that can be executed without the original source code.

Developers might audit their own serialized code to see what information is leaked.