Skip to main content
Version: Next

Modules

Docs for individual modules in JS Recon

📄️ taintwire command

The taintwire command builds a PookieGraph (a .pg file) from a directory of JavaScript files and runs pgq query files against it. A PookieGraph holds the taintwire graph of every file: the syntax tree, scopes, value flow, and, for webpack and Turbopack builds, the links between chunks through the bundler's module registry. A .pgq file is a TypeScript module of Cypher selectors and rules; the pgq reference describes the format. The taintwire-queries repository is the public query pack. Its queries are written with pga (PookieGraph aliases), short names such as ${pga.methodCall()} for the Cypher fragments queries repeat, and share their sinks through sink sets such as htmlSinks. The pga reference lists every alias, what it expands to, and each sink set.