VisibleV8

Overview

strace for the web

VisibleV8 (VV8) is a custom variant of the V8 JavaScript engine at the heart of the Chromium browser, the Node.js application runtime, and probably other titans of the modern software world. Maintained and distributed as a minimally-invasive and maintainable patchset, VV8 captures and logs the following activities in plaintext logs:

Log records directly or indirectly include the following context:

Papers

  1. Hiding in Plain Site: Detecting JavaScript Obfuscation through Concealed Browser API Usage
    Shaown Sarker, Jordan Jueckstock, Alexandros Kapravelos
    Proceedings of the ACM Internet Measurement Conference (IMC), 2020
    [PDF] [Bibtex]
  2. VisibleV8: In-browser Monitoring of JavaScript in the Wild
    Jordan Jueckstock, Alexandros Kapravelos
    Proceedings of the ACM Internet Measurement Conference (IMC), 2019
    [PDF] [Bibtex] [website] [slides] [talk] [code]

Availability

The VV8 patches, tests, build scripts, and documentation are all available on GitHub.