@shriyanss/js-recon 1.3.1 → 1.4.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/CLAUDE.md +45 -0
  3. package/README.md +1 -0
  4. package/build/cs_mast/index.js +122 -0
  5. package/build/cs_mast/index.js.map +1 -0
  6. package/build/globalConfig.js +2 -2
  7. package/build/globalConfig.js.map +1 -1
  8. package/build/index.js +67 -7
  9. package/build/index.js.map +1 -1
  10. package/build/lazyLoad/downloadLoadedJsUtil.js +6 -1
  11. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
  12. package/build/lazyLoad/index.js +72 -38
  13. package/build/lazyLoad/index.js.map +1 -1
  14. package/build/lazyLoad/methodFilter.js +49 -0
  15. package/build/lazyLoad/methodFilter.js.map +1 -0
  16. package/build/lazyLoad/next_js/NextJsCrawler.js +69 -48
  17. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  18. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +6 -1
  19. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  20. package/build/lazyLoad/techDetect/checkNextJS.js +24 -15
  21. package/build/lazyLoad/techDetect/checkNextJS.js.map +1 -1
  22. package/build/lazyLoad/techDetect/checkSvelte.js +17 -0
  23. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -1
  24. package/build/lazyLoad/techDetect/index.js +11 -4
  25. package/build/lazyLoad/techDetect/index.js.map +1 -1
  26. package/build/lazyLoad/vue/vue_discoverJsFiles.js +47 -25
  27. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
  28. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +2 -2
  29. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  30. package/build/map/vue_js/vue_resolveHttpClient.js +2 -1
  31. package/build/map/vue_js/vue_resolveHttpClient.js.map +1 -1
  32. package/build/map/vue_js/vue_resolveXhr.js +2 -1
  33. package/build/map/vue_js/vue_resolveXhr.js.map +1 -1
  34. package/build/refactor/index.js +133 -22
  35. package/build/refactor/index.js.map +1 -1
  36. package/build/refactor/next/helpers.js +214 -0
  37. package/build/refactor/next/helpers.js.map +1 -0
  38. package/build/refactor/next/index.js +40 -73
  39. package/build/refactor/next/index.js.map +1 -1
  40. package/build/refactor/next/transform.js +177 -0
  41. package/build/refactor/next/transform.js.map +1 -0
  42. package/build/refactor/next/validator.js +118 -0
  43. package/build/refactor/next/validator.js.map +1 -0
  44. package/build/refactor/react/helpers.js +93 -0
  45. package/build/refactor/react/helpers.js.map +1 -0
  46. package/build/refactor/react/index.js +186 -589
  47. package/build/refactor/react/index.js.map +1 -1
  48. package/build/refactor/react/library-classify.js +166 -0
  49. package/build/refactor/react/library-classify.js.map +1 -0
  50. package/build/refactor/react/transform.js +839 -0
  51. package/build/refactor/react/transform.js.map +1 -0
  52. package/build/refactor/react/validator.js +122 -0
  53. package/build/refactor/react/validator.js.map +1 -0
  54. package/build/utility/getChromiumPath.js +40 -0
  55. package/build/utility/getChromiumPath.js.map +1 -0
  56. package/build/utility/makeReq.js +11 -2
  57. package/build/utility/makeReq.js.map +1 -1
  58. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.4.1-alpha.2 - 2026-06-20
4
+
5
+ ### Fixed
6
+
7
+ - `lazyload`: `--include-methods`, `--exclude-methods`, and `--list-methods` flags were listed as Added in v1.4.1-alpha.1 but the CLI wiring was absent from that release; they are now fully implemented and functional
8
+ - `lazyload`: `--list-methods` works without `-u`; the URL option is now validated manually so `--list-methods` can run standalone
9
+ - `refactor`: `-l`/`--list` no longer errors with "Mapped JSON file does not exist" when listing technologies — the list early-return now runs before the file-existence check
10
+
11
+ ## 1.4.1-alpha.1 - 2026-06-20
12
+
13
+ ### Added
14
+
15
+ - `lazyload`: `--include-methods <methods>` and `--exclude-methods <methods>` flags for selective method execution. Comma-separated method names are matched against the file-based method registry in `src/lazyLoad/methodFilter.ts`; invalid names exit with code 22. Methods are named after their source files (e.g. `next_bruteForceJsFiles`).
16
+ - `lazyload`: `--list-methods [framework]` flag prints all available method names grouped by framework (`next_js`, `vue`, `nuxt_js`, `svelte`, `angular`, `react`) and exits. Optionally pass a framework name to filter the output.
17
+ - `lazyload`: `--research` now tracks and writes technique efficiency output for all frameworks (Vue, Nuxt, Angular, React, Svelte), not just Next.js.
18
+
19
+ - `cs-mast`: new subcommand that computes CS-MAST-S (Context-Stratified Merkelized Abstract Syntax Tree) signatures for every downloaded `.js` file and finds structural hash collisions across targets (`cs-mast`)
20
+ - `--ct / --collision-table`: print a collision table sorted by frequency (files sharing the same CS-MAST-S root signature)
21
+ - `--min-collisions <n>`: minimum number of files that must share a signature to appear in the table (default: 2)
22
+ - `--co / --collision-output <file>`: write collision results to a file; independent of `--ct` (file is written without printing the table if `--ct` is omitted)
23
+ - `--cf / --collision-format json|csv`: output format (default: csv); if `--co` is a directory or has no extension, the file is written as `collisions.<fmt>` in the current working directory
24
+ - Uses `@shriyanss/cs-mast` with `scat: [lit, decl, loop, cond]`, SHA-256, `sourceType: unambiguous`; parse errors are skipped with a warning
25
+
26
+ - `refactor -t react-webpack`: new React webpack refactor mode that splits a webpack 5 bundle into individual ES module files (`refactor`)
27
+ - Numeric module map (`var e = { 540: fn, … }`) is extracted and each module written to `<id>.js` with full ES import/export conversion (require→import hoisting, exports→named/default export rewriting, outer wrapper stripped)
28
+ - Non-module IIFE content (bootstrap helpers, root component, `ReactDOM.render` call) is captured into `index.js`
29
+ - Webpack require helper is detected by its `return (moduleMap[id](…), mod.exports)` return shape and stripped from `index.js`
30
+ - Top-level `requireFn(N)` calls in `index.js` are hoisted to `import * as x from "./N.js"`; remaining inline calls are replaced recursively throughout the file
31
+ - `refactor --collisions` now accepts a per-feature results directory (a directory whose immediate subdirs each contain `<scat>/collisions.json`, e.g. a 18-feature corpus with `01-usestate-hook-webpack/lit-decl-loop-cond/collisions.json` etc.) — reads only the scat-relevant file per feature subdir, intersects the max-count signature sets across all features, and uses the intersection as the library baseline; works even when the full dataset is hundreds of GB (`refactor`)
32
+ - `refactor -t react-webpack`: Pass G now strips three additional Babel inline helpers emitted to the IIFE body — `_typeof` (lazy self-reassignment typeof polyfill, detected by single-return body reassigning its own binding), `_defineProperty`/`_toPropertyKey`/`_toPrimitive` (property-setter helpers, detected by `Object.defineProperty` call with `{value, enumerable, configurable, writable}` descriptor), and `_objectSpreadPropsHelper` (detected by `Object.keys` first-statement + `getOwnPropertySymbols` reference) — cleaning up noise left by JSX spread and object spread (`refactor`)
33
+
34
+ ### Fixed
35
+
36
+ - Puppeteer browser launch now resolves a usable Chrome/Chromium via a new `getChromiumPath` utility (`PUPPETEER_EXECUTABLE_PATH` env var → well-known system paths → `which`) and passes it as `executablePath`; also adds `--disable-dev-shm-usage` to the sandbox-disabled arg list — fixes crashes on systems where Puppeteer's bundled Chrome is absent or has missing shared libraries (`lazyload`, `makeReq`)
37
+ - `refactor --collisions`: `scanExportMap` now records a self-reference when a module export's RHS is a complex expression (e.g. a function declaration) so it participates in canonical library classification checks instead of being silently dropped (`refactor`)
38
+ - `refactor --collisions`: added `Profiler` to `REACT_CANONICAL` export set (`refactor`)
39
+
40
+ ### Changed
41
+
42
+ - `refactor -t react` renamed to `refactor -t react-webpack` to make the bundler explicit
43
+ - Improved tool description in `globalConfig.ts`
44
+
45
+ ## 1.3.1-beta.1 - 2026-06-08
46
+
47
+ ### Added
48
+
49
+ ### Changed
50
+
51
+ ### Fixed
52
+
53
+ - `--max-heap` on `map` and `run` is now opt-in: without the flag, no process re-exec occurs and the existing `--max-old-space-size` from the npm start script is preserved. Previously, the default `0` caused every invocation to re-exec with `os.totalmem()` as the heap ceiling, which could trigger OOM kills on memory-constrained hosts and changed the default runtime for all users who never specified the flag. (`map`, `run`)
54
+ - XHR and HTTP-client taint resolvers (`vue_resolveXhr`, `vue_resolveHttpClient`) now sort the JS file list alphabetically before applying the 50 MB caller-lookup cap. Previously the cap was applied in `readdirSync` order, which is filesystem-dependent and made the included file set non-deterministic across runs — on large bundles this could silently exclude different API call sites depending on inode ordering. (`map`)
55
+
3
56
  ## 1.3.1 - 2026-06-16
4
57
 
5
58
  ### Added
package/CLAUDE.md CHANGED
@@ -24,6 +24,7 @@ npm run start -- <subcommand> [options]
24
24
  | `run` | Run all of the above in sequence (primary interface) |
25
25
  | `api-gateway` | Manage AWS API Gateway for IP rotation |
26
26
  | `mcp` | AI-powered CLI / one-shot chat (`-c`) / Model Context Protocol server (`--server`) |
27
+ | `cs-mast` | Compute CS-MAST structural hashes for downloaded JS files; find hash collisions |
27
28
 
28
29
  ## Key source files
29
30
 
@@ -286,6 +287,50 @@ For each suggestion: apply a fix commit to `dev` for correctness bugs or convent
286
287
 
287
288
  Do NOT merge any PR. Once all CI checks pass and CodeRabbit suggestions are addressed, present a summary to the user: what changed in each repo, PR links, CI status, CodeRabbit disposition. Wait for explicit merge approval.
288
289
 
290
+ ## cs-mast
291
+
292
+ `cs-mast` computes CS-MAST-S (Context-Stratified Merkelized Abstract Syntax Tree) signatures for every `.js` file found recursively under an output directory, then optionally finds and reports structural collisions — files sharing the same root signature.
293
+
294
+ **Source:** `src/cs_mast/index.ts`
295
+
296
+ **Fixed hashing config:**
297
+
298
+ ```typescript
299
+ { hash: 'sha256', lang: 'js', prsr: '@babel/parser',
300
+ scat: ['lit', 'decl', 'loop', 'cond'], sinc: [],
301
+ sourceType: 'unambiguous' }
302
+ ```
303
+
304
+ `rootSignature` on the `File` root node is empty (the File type isn't in any scat category), so `buildSignatureFromConfig(CS_MAST_CONFIG, tree.rootHash)` is used to construct the full PHC string from the root hash.
305
+
306
+ **Options:**
307
+
308
+ - `-o / --output <dir>` — directory to scan (default: `output`)
309
+ - `--ct / --collision-table` — find and print collision table to stdout
310
+ - `--min-collisions <n>` — minimum occurrences to report (default: 2)
311
+ - `--co / --collision-output <file>` — write collision data to a file (independent of `--ct`)
312
+ - `--cf / --collision-format json|csv` — output format (default: csv)
313
+
314
+ **`--co` path resolution:** if the given path is a directory or has no extension, the file is written as `collisions.<fmt>` in the current working directory.
315
+
316
+ **Output fields:** `signature` (full CS-MAST-S PHC string), `count`, `files`.
317
+
318
+ **Testing:**
319
+
320
+ ```bash
321
+ npm run build
322
+ node build/index.js cs-mast -o output --ct --min-collisions 2
323
+ node build/index.js cs-mast -o output --co output --cf csv # writes ./collisions.csv
324
+ ```
325
+
326
+ ## refactor `--collisions <file>`
327
+
328
+ `refactor -t react-webpack` accepts a `--collisions <file>` argument that points at a `collisions.json` produced by `cs-mast --all-scat-permutations` over a cross-app baseline. Modules whose body signature is in the baseline set are classified as library code (React / React-DOM / jsx-runtime / scheduler / …) and dropped from the output, leaving only `index.js`.
329
+
330
+ Plumbing: `src/index.ts` (CLI) → `src/refactor/index.ts` (resolves the path via `resolveCollisionsPath()` — accepts either a file or a baseline-tree directory like `../js-recon-cs-mast-s/`; builds `Set<string>` of signatures with `count >= max count`) → `src/refactor/react/index.ts` (`moduleIsLibrary()` hashes each module body with `cs_mast_init({ scat: ["lit","decl","loop","cond"] })` and matches against the set). Detailed rationale + build history in `src/refactor/react/CLAUDE.md`.
331
+
332
+ The baseline files live in the sibling `js-recon-cs-mast-s/` repo (`baselines/<tech>/<scat>/collisions.json`). See its `README.md` for layout and provenance.
333
+
289
334
  ## Security / confidentiality
290
335
 
291
336
  When a change is informed by behavior observed on a real target (URLs, endpoint names, response shapes, finding details, etc.):
package/README.md CHANGED
@@ -64,6 +64,7 @@ js-recon run -u https://app.example.com
64
64
  | `fingerprint` | Detects the JavaScript framework used by a target URL (JSON/JSONL output). | [Read Docs](https://js-recon.io/docs/docs/modules/fingerprint) |
65
65
  | `refactor` | Refactors and deobfuscates webpack modules from a mapped JSON file. | [Read Docs](https://js-recon.io/docs/docs/modules/refactor) |
66
66
  | `load` | Populates the response cache from a Caido or Burp Suite export. | [Read Docs](https://js-recon.io/docs/docs/modules/load) |
67
+ | `cs-mast` | Computes CS-MAST structural hashes for JS files and finds hash collisions. | [Read Docs](https://js-recon.io/docs/docs/modules/cs-mast) |
67
68
 
68
69
  ## Key Features
69
70
 
@@ -0,0 +1,122 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { cs_mast_init, ParseError, buildSignatureFromConfig } from "@shriyanss/cs-mast";
11
+ import * as fs from "fs";
12
+ import * as path from "path";
13
+ import chalk from "chalk";
14
+ const CS_MAST_CONFIG = {
15
+ hash: "sha256",
16
+ lang: "js",
17
+ prsr: "@babel/parser",
18
+ scat: ["lit", "decl", "loop", "cond"],
19
+ sinc: [],
20
+ sourceType: "unambiguous",
21
+ };
22
+ function findJsFiles(dir) {
23
+ const results = [];
24
+ if (!fs.existsSync(dir))
25
+ return results;
26
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
27
+ for (const entry of entries) {
28
+ const full = path.join(dir, entry.name);
29
+ if (entry.isDirectory()) {
30
+ results.push(...findJsFiles(full));
31
+ }
32
+ else if (entry.isFile() && entry.name.endsWith(".js")) {
33
+ results.push(full);
34
+ }
35
+ }
36
+ return results;
37
+ }
38
+ export default (outputDir, collisionTable, minCollisions, collisionOutput, collisionFormat) => __awaiter(void 0, void 0, void 0, function* () {
39
+ if (collisionOutput && !["json", "csv"].includes(collisionFormat)) {
40
+ console.log(chalk.red(`[!] Invalid format: "${collisionFormat}". Use "json" or "csv".`));
41
+ process.exit(1);
42
+ }
43
+ // Resolve output path: if it's an existing directory or has no extension,
44
+ // write collisions.<fmt> in the current working directory.
45
+ if (collisionOutput) {
46
+ if ((fs.existsSync(collisionOutput) && fs.statSync(collisionOutput).isDirectory()) ||
47
+ !path.extname(collisionOutput)) {
48
+ collisionOutput = `collisions.${collisionFormat}`;
49
+ }
50
+ }
51
+ if (!fs.existsSync(outputDir)) {
52
+ console.log(chalk.red(`[!] Output directory not found: ${outputDir}`));
53
+ process.exit(1);
54
+ }
55
+ console.log(chalk.cyan(`[*] Scanning JS files in: ${outputDir}`));
56
+ const jsFiles = findJsFiles(outputDir);
57
+ console.log(chalk.cyan(`[*] Found ${jsFiles.length} JS file(s)`));
58
+ const sigMap = new Map();
59
+ let parsed = 0;
60
+ let skipped = 0;
61
+ for (const file of jsFiles) {
62
+ try {
63
+ const source = fs.readFileSync(file, "utf-8");
64
+ const tree = cs_mast_init(source, CS_MAST_CONFIG);
65
+ // rootSignature is empty when the File node isn't actively hashed;
66
+ // build the full PHC string from rootHash + config instead.
67
+ const sig = buildSignatureFromConfig(CS_MAST_CONFIG, tree.rootHash);
68
+ if (!sigMap.has(sig))
69
+ sigMap.set(sig, []);
70
+ sigMap.get(sig).push(file);
71
+ parsed++;
72
+ }
73
+ catch (e) {
74
+ if (e instanceof ParseError) {
75
+ console.log(chalk.yellow(`[!] Skipping (parse error): ${file}`));
76
+ }
77
+ skipped++;
78
+ }
79
+ }
80
+ console.log(chalk.green(`[+] Processed ${parsed} file(s), skipped ${skipped}, unique hashes: ${sigMap.size}`));
81
+ if (!collisionTable && !collisionOutput)
82
+ return;
83
+ const collisions = [...sigMap.entries()]
84
+ .filter(([, files]) => files.length >= minCollisions)
85
+ .sort(([, a], [, b]) => b.length - a.length)
86
+ .map(([signature, files]) => ({ signature, count: files.length, files }));
87
+ if (collisions.length === 0) {
88
+ console.log(chalk.yellow(`[!] No collisions found with --min-collisions ${minCollisions}`));
89
+ return;
90
+ }
91
+ if (collisionTable) {
92
+ console.log(chalk.green(`\n[+] ${collisions.length} collision group(s) found (min-collisions: ${minCollisions}):\n`));
93
+ const sigColWidth = 60;
94
+ const countColWidth = 7;
95
+ const header = "Signature".padEnd(sigColWidth) + "Count".padEnd(countColWidth) + "Files";
96
+ const separator = "─".repeat(sigColWidth) + "─".repeat(countColWidth) + "─".repeat(40);
97
+ console.log(chalk.bold(header));
98
+ console.log(separator);
99
+ for (const entry of collisions) {
100
+ // Truncate at the hash boundary: show params + first 12 hex chars
101
+ const truncated = entry.signature.length > sigColWidth - 1
102
+ ? entry.signature.slice(0, sigColWidth - 4) + "..."
103
+ : entry.signature;
104
+ const fileList = entry.files.join(", ");
105
+ console.log(truncated.padEnd(sigColWidth) + String(entry.count).padEnd(countColWidth) + fileList);
106
+ }
107
+ }
108
+ if (!collisionOutput)
109
+ return;
110
+ if (collisionFormat === "json") {
111
+ fs.writeFileSync(collisionOutput, JSON.stringify(collisions, null, 2));
112
+ }
113
+ else {
114
+ const rows = ["signature,count,files"];
115
+ for (const entry of collisions) {
116
+ rows.push(`"${entry.signature}",${entry.count},"${entry.files.join("|")}"`);
117
+ }
118
+ fs.writeFileSync(collisionOutput, rows.join("\n"));
119
+ }
120
+ console.log(chalk.green(`[+] Collision data written to: ${collisionOutput}`));
121
+ });
122
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cs_mast/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  const githubURL = "https://github.com/shriyanss/js-recon";
2
2
  const modulesDocs = "https://js-recon.io/docs/category/modules";
3
- const version = "1.3.1";
4
- const toolDesc = "JS Recon Tool";
3
+ const version = "1.4.1-alpha.2";
4
+ const toolDesc = "Static analysis tool that maps API endpoints and detects client-side security issues by analyzing webpack/turbopack bundles";
5
5
  const axiosNonHttpMethods = ["isAxiosError"]; // methods available in axios, which are not for making HTTP requests
6
6
  let CONFIG = {
7
7
  github: githubURL,
@@ -1 +1 @@
1
- {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../src/globalConfig.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAC1D,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,QAAQ,GAAG,eAAe,CAAC;AACjC,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,qEAAqE;AAEnH,IAAI,MAAM,GAAG;IACT,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,qFAAqF,SAAS,kCAAkC;IACjJ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,mBAAmB;IACxC,QAAQ,EAAE,GAAG,SAAS,oBAAoB;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../src/globalConfig.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAC1D,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,eAAe,CAAC;AAChC,MAAM,QAAQ,GACV,6HAA6H,CAAC;AAClI,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,qEAAqE;AAEnH,IAAI,MAAM,GAAG;IACT,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,qFAAqF,SAAS,kCAAkC;IACjJ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,mBAAmB;IACxC,QAAQ,EAAE,GAAG,SAAS,oBAAoB;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/build/index.js CHANGED
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  import { program } from "commander";
12
12
  import lazyLoad from "./lazyLoad/index.js";
13
+ import { FRAMEWORK_METHODS, VALID_METHODS } from "./lazyLoad/methodFilter.js";
13
14
  import endpoints from "./endpoints/index.js";
14
15
  import CONFIG from "./globalConfig.js";
15
16
  import strings from "./strings/index.js";
@@ -26,6 +27,7 @@ import mcp from "./mcp/index.js";
26
27
  import load from "./load/index.js";
27
28
  import fingerprint from "./fingerprint/index.js";
28
29
  import { applyHeapLimit } from "./utility/heap.js";
30
+ import csMast from "./cs_mast/index.js";
29
31
  /**
30
32
  * Main CLI application entry point for js-recon tool.
31
33
  * Sets up command-line interface with various modules for JavaScript reconnaissance.
@@ -58,7 +60,7 @@ function validateAndSetTimeout(timeoutValue) {
58
60
  program
59
61
  .command("lazyload")
60
62
  .description("Run lazy load module")
61
- .requiredOption("-u, --url <url/file>", "Target URL or a file containing a list of URLs (one per line)")
63
+ .option("-u, --url <url/file>", "Target URL or a file containing a list of URLs (one per line)")
62
64
  .option("-o, --output <directory>", "Output directory", "output")
63
65
  .option("--strict-scope", "Download JS files from only the input URL domain", false)
64
66
  .option("-s, --scope <scope>", "Download JS files from specific domains (comma-separated)", "*")
@@ -82,7 +84,51 @@ program
82
84
  .option("--max-js-size <mb>", "Maximum JS file size in MB to parse (Vue only)", "2")
83
85
  .option("--lazyload-timeout <minutes>", "Hard timeout for the lazyload module in minutes (0 = no timeout)", "30")
84
86
  .option("--max-pages <pages>", "Maximum HTML pages to visit during Next.js crawl (0 = unlimited)", "200")
87
+ .option("--include-methods <methods>", "Comma-separated method names to run (whitelist). Use --list-methods to see valid names.")
88
+ .option("--exclude-methods <methods>", "Comma-separated method names to skip (blacklist). Use --list-methods to see valid names.")
89
+ .option("--list-methods [framework]", "Print available method names grouped by framework and exit. Optionally filter by framework (next_js, vue, nuxt_js, svelte, angular, react).")
85
90
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
91
+ // handle --list-methods before any network work
92
+ if (cmd.listMethods !== undefined) {
93
+ const filter = typeof cmd.listMethods === "string" ? cmd.listMethods : null;
94
+ const frameworkKeys = Object.keys(FRAMEWORK_METHODS);
95
+ if (filter && !frameworkKeys.includes(filter)) {
96
+ console.error(chalk.red(`[!] Unknown framework: "${filter}". Valid frameworks: ${frameworkKeys.join(", ")}`));
97
+ process.exit(1);
98
+ }
99
+ const keys = filter ? [filter] : frameworkKeys;
100
+ for (const fw of keys) {
101
+ console.log(chalk.cyan(`\n[${fw}]`));
102
+ for (const method of FRAMEWORK_METHODS[fw]) {
103
+ console.log(chalk.green(` - ${method}`));
104
+ }
105
+ }
106
+ process.exit(0);
107
+ }
108
+ // parse and validate method filter lists
109
+ const includeMethods = cmd.includeMethods
110
+ ? cmd.includeMethods
111
+ .split(",")
112
+ .map((m) => m.trim())
113
+ .filter(Boolean)
114
+ : [];
115
+ const excludeMethods = cmd.excludeMethods
116
+ ? cmd.excludeMethods
117
+ .split(",")
118
+ .map((m) => m.trim())
119
+ .filter(Boolean)
120
+ : [];
121
+ const allMethods = [...includeMethods, ...excludeMethods];
122
+ const invalid = allMethods.filter((m) => !VALID_METHODS.includes(m));
123
+ if (invalid.length > 0) {
124
+ console.error(chalk.red(`[!] Invalid method name(s): ${invalid.join(", ")}`));
125
+ console.error(chalk.yellow(`[i] Valid methods: ${VALID_METHODS.join(", ")}`));
126
+ process.exit(22);
127
+ }
128
+ if (!cmd.url) {
129
+ console.error(chalk.red("[!] Missing required option: -u, --url <url/file>"));
130
+ process.exit(1);
131
+ }
86
132
  globalsUtil.setApiGatewayConfigFile(cmd.apiGatewayConfig);
87
133
  globalsUtil.setUseApiGateway(cmd.apiGateway);
88
134
  globalsUtil.setDisableCache(cmd.disableCache);
@@ -91,7 +137,7 @@ program
91
137
  globalsUtil.setYes(cmd.yes);
92
138
  validateAndSetTimeout(cmd.timeout);
93
139
  configureSandbox(cmd);
94
- yield lazyLoad(cmd.url, cmd.output, cmd.strictScope, cmd.scope.split(","), Number(cmd.threads), cmd.subsequentRequests, cmd.urlsFile, cmd.insecure, cmd.buildId, cmd.sourcemapDir, cmd.research, cmd.researchOutput, Number(cmd.maxIterations), Number(cmd.maxJsSize), Number(cmd.lazyloadTimeout) * 60 * 1000, Number(cmd.maxPages));
140
+ yield lazyLoad(cmd.url, cmd.output, cmd.strictScope, cmd.scope.split(","), Number(cmd.threads), cmd.subsequentRequests, cmd.urlsFile, cmd.insecure, cmd.buildId, cmd.sourcemapDir, cmd.research, cmd.researchOutput, Number(cmd.maxIterations), Number(cmd.maxJsSize), Number(cmd.lazyloadTimeout) * 60 * 1000, Number(cmd.maxPages), includeMethods, excludeMethods);
95
141
  }));
96
142
  program
97
143
  .command("endpoints")
@@ -159,10 +205,11 @@ program
159
205
  .option("--no-graphql", "Disable GraphQL operation extraction during OpenAPI generation")
160
206
  .option("--ngql", "Alias for --no-graphql")
161
207
  .option("--max-recursion-depth <n>", "Max recursion depth for HTTP-client URL fan-out and cross-file resolution (default 3)", "3")
162
- .option("--max-heap <mb>", "V8 heap size cap in MB (0 = all available RAM, default 0)", "0")
208
+ .option("--max-heap <mb>", "V8 heap size cap in MB (0 = all available RAM)")
163
209
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
164
210
  var _a, _b;
165
- applyHeapLimit(parseMaxHeapMb(cmd.maxHeap));
211
+ if (cmd.maxHeap !== undefined)
212
+ applyHeapLimit(parseMaxHeapMb(cmd.maxHeap));
166
213
  globalsUtil.setAi(((_a = cmd.ai) === null || _a === void 0 ? void 0 : _a.split(",")) || []);
167
214
  globalsUtil.setAiServiceProvider(cmd.aiProvider);
168
215
  globalsUtil.setOpenapiChunkTag(cmd.openapiChunkTag);
@@ -199,8 +246,9 @@ program
199
246
  .option("-o, --output <directory>", "Output directory", "output_refactored")
200
247
  .option("-t, --tech <tech>", "Technology used in the JS files (run with -l/--list to see available options)")
201
248
  .option("-l, --list", "List available technologies", false)
249
+ .option("--collisions <file>", "Path to a CS-MAST collisions.json (count=18 sigs from cross-app baseline). Modules whose body signature is in this set are treated as library code and skipped.")
202
250
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
203
- yield refactor(cmd.mappedJson, cmd.output, cmd.tech, cmd.list);
251
+ yield refactor(cmd.mappedJson, cmd.output, cmd.tech, cmd.list, cmd.collisions);
204
252
  }));
205
253
  program
206
254
  .command("analyze")
@@ -262,11 +310,12 @@ program
262
310
  .option("--max-iterations <iterations>", "Maximum number of recursive crawl iterations", "10")
263
311
  .option("--max-js-size <mb>", "Maximum JS file size in MB to parse (Vue only)", "2")
264
312
  .option("--lazyload-timeout <minutes>", "Hard timeout for each lazyload step in minutes (0 = no timeout)", "30")
265
- .option("--max-heap <mb>", "V8 heap size cap in MB (0 = all available RAM, default 0)", "0")
313
+ .option("--max-heap <mb>", "V8 heap size cap in MB (0 = all available RAM)")
266
314
  .option("--max-pages <pages>", "Maximum HTML pages to visit during Next.js crawl (0 = unlimited)", "200")
267
315
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
268
316
  var _a;
269
- applyHeapLimit(parseMaxHeapMb(cmd.maxHeap));
317
+ if (cmd.maxHeap !== undefined)
318
+ applyHeapLimit(parseMaxHeapMb(cmd.maxHeap));
270
319
  validateAndSetTimeout(cmd.timeout);
271
320
  globalsUtil.setAi(((_a = cmd.ai) === null || _a === void 0 ? void 0 : _a.split(",")) || []);
272
321
  globalsUtil.setOpenaiApiKey(cmd.openaiApiKey);
@@ -343,5 +392,16 @@ program
343
392
  claudeClientId: cmd.claudeClientId,
344
393
  });
345
394
  }));
395
+ program
396
+ .command("cs-mast")
397
+ .description("Compute CS-MAST hashes for downloaded JS files and find structural collisions")
398
+ .option("-o, --output <directory>", "Output directory to scan for JS files", "output")
399
+ .option("--ct, --collision-table", "Find and display hash collisions", false)
400
+ .option("--min-collisions <n>", "Minimum times a hash must appear to be reported", "2")
401
+ .option("--co, --collision-output <file>", "Write collision results to a file")
402
+ .option("--cf, --collision-format <format>", "Output format for collision file: json or csv", "csv")
403
+ .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
404
+ yield csMast(cmd.output, cmd.collisionTable, parseInt(cmd.minCollisions, 10), cmd.collisionOutput, cmd.collisionFormat);
405
+ }));
346
406
  program.parse(process.argv);
347
407
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import chalk from "chalk";
11
11
  import * as globalsUtil from "../utility/globals.js";
12
12
  import puppeteer from "../utility/puppeteerInstance.js";
13
+ import { getChromiumPath } from "../utility/getChromiumPath.js";
13
14
  /**
14
15
  * Downloads all the lazy loaded JS files from a given URL.
15
16
  * @param {string} url - The URL of the webpage to fetch and parse.
@@ -20,9 +21,13 @@ const downloadLoadedJs = (url) => __awaiter(void 0, void 0, void 0, function* ()
20
21
  console.error(chalk.red("[!] Invalid URL"));
21
22
  return; // Return undefined as per JSDoc
22
23
  }
24
+ const chromiumPath = getChromiumPath();
23
25
  const browser = yield puppeteer.launch({
24
26
  headless: true,
25
- args: globalsUtil.getDisableSandbox() ? ["--no-sandbox", "--disable-setuid-sandbox"] : [],
27
+ executablePath: chromiumPath,
28
+ args: globalsUtil.getDisableSandbox()
29
+ ? ["--no-sandbox", "--disable-setuid-sandbox", "--disable-dev-shm-usage"]
30
+ : [],
26
31
  });
27
32
  const page = yield browser.newPage();
28
33
  yield page.setRequestInterception(true);
@@ -1 +1 @@
1
- {"version":3,"file":"downloadLoadedJsUtil.js","sourceRoot":"","sources":["../../src/lazyLoad/downloadLoadedJsUtil.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,SAAS,MAAM,iCAAiC,CAAC;AAExD;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAO,GAAG,EAAE,EAAE;IACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,gCAAgC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5F,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAErC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC,2CAA2C;IACnE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAO,OAAO,EAAE,EAAE;QACjC,sBAAsB;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;QAE5E,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,EAAE,CAAC;YACzF,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,OAAO,aAAa,CAAC;AACzB,CAAC,CAAA,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"downloadLoadedJsUtil.js","sourceRoot":"","sources":["../../src/lazyLoad/downloadLoadedJsUtil.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAO,GAAG,EAAE,EAAE;IACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,gCAAgC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,YAAY;QAC5B,IAAI,EAAE,WAAW,CAAC,iBAAiB,EAAE;YACjC,CAAC,CAAC,CAAC,cAAc,EAAE,0BAA0B,EAAE,yBAAyB,CAAC;YACzE,CAAC,CAAC,EAAE;KACX,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAErC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC,2CAA2C;IACnE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAO,OAAO,EAAE,EAAE;QACjC,sBAAsB;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;QAE5E,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,EAAE,CAAC;YACzF,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,OAAO,aAAa,CAAC;AACzB,CAAC,CAAA,CAAC;AAEF,eAAe,gBAAgB,CAAC"}