@js-recon/js-recon 1.4.1-alpha.9 → 1.4.1-beta.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 (78) hide show
  1. package/.claude-sync/capture-new.sh +61 -0
  2. package/.claude-sync/capture-scan.sh +55 -0
  3. package/.claude-sync/hooks/post-checkout +16 -0
  4. package/.claude-sync/hooks/pre-commit +3 -0
  5. package/.claude-sync/setup.sh +17 -0
  6. package/.claude-sync/sync.sh +64 -0
  7. package/.claude-sync/watch.sh +17 -0
  8. package/.github/workflows/build-and-prettify.yaml +42 -0
  9. package/.github/workflows/promote-js-recon.yml +299 -0
  10. package/.vscode/tasks.json +42 -0
  11. package/CHANGELOG.md +35 -0
  12. package/Dockerfile.w-rules +13 -0
  13. package/README.md +4 -2
  14. package/build/analyze/helpers/initRules.js +28 -6
  15. package/build/analyze/helpers/initRules.js.map +1 -1
  16. package/build/analyze/index.js +3 -2
  17. package/build/analyze/index.js.map +1 -1
  18. package/build/completion/index.js +17 -11
  19. package/build/completion/index.js.map +1 -1
  20. package/build/globalConfig.js +1 -1
  21. package/build/globalConfig.js.map +1 -1
  22. package/build/index.js +55 -23
  23. package/build/index.js.map +1 -1
  24. package/build/lazyLoad/generic/generic_jsMimeTypes.js +19 -0
  25. package/build/lazyLoad/generic/generic_jsMimeTypes.js.map +1 -0
  26. package/build/lazyLoad/index.js +1 -0
  27. package/build/lazyLoad/index.js.map +1 -1
  28. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +8 -2
  29. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  30. package/build/lazyLoad/techDetect/checkInterceptedEvidence.js +18 -0
  31. package/build/lazyLoad/techDetect/checkInterceptedEvidence.js.map +1 -0
  32. package/build/lazyLoad/techDetect/index.js +58 -13
  33. package/build/lazyLoad/techDetect/index.js.map +1 -1
  34. package/build/mcp/mcpServer.js +1 -2
  35. package/build/mcp/mcpServer.js.map +1 -1
  36. package/build/mcp/tools.js +1 -2
  37. package/build/mcp/tools.js.map +1 -1
  38. package/build/proxy/awsConfig.js +45 -0
  39. package/build/proxy/awsConfig.js.map +1 -0
  40. package/build/proxy/checkFeasibility.js.map +1 -0
  41. package/build/proxy/checkFireWallBlocking.js.map +1 -0
  42. package/build/proxy/configFile.js +31 -0
  43. package/build/proxy/configFile.js.map +1 -0
  44. package/build/{api_gateway → proxy}/genReq.js +4 -5
  45. package/build/proxy/genReq.js.map +1 -0
  46. package/build/proxy/genericProxy.js +21 -0
  47. package/build/proxy/genericProxy.js.map +1 -0
  48. package/build/proxy/index.js +421 -0
  49. package/build/proxy/index.js.map +1 -0
  50. package/build/proxy/oxylabsProxy.js +34 -0
  51. package/build/proxy/oxylabsProxy.js.map +1 -0
  52. package/build/proxy/resolveProxyConfig.js +38 -0
  53. package/build/proxy/resolveProxyConfig.js.map +1 -0
  54. package/build/report/utility/initGlobalReportDb.js +111 -0
  55. package/build/report/utility/initGlobalReportDb.js.map +1 -0
  56. package/build/report/utility/mergeDomainIntoGlobalDb.js +39 -0
  57. package/build/report/utility/mergeDomainIntoGlobalDb.js.map +1 -0
  58. package/build/run/index.js +110 -74
  59. package/build/run/index.js.map +1 -1
  60. package/build/run/interruptHandler.js +17 -1
  61. package/build/run/interruptHandler.js.map +1 -1
  62. package/build/utility/configureProxy.js +60 -0
  63. package/build/utility/configureProxy.js.map +1 -0
  64. package/build/utility/globals.js +108 -13
  65. package/build/utility/globals.js.map +1 -1
  66. package/build/utility/makeReq.js +103 -10
  67. package/build/utility/makeReq.js.map +1 -1
  68. package/package.json +5 -1
  69. package/.claude/settings.local.json +0 -10
  70. package/CLAUDE.md +0 -629
  71. package/build/api_gateway/checkFeasibility.js.map +0 -1
  72. package/build/api_gateway/checkFireWallBlocking.js.map +0 -1
  73. package/build/api_gateway/genReq.js.map +0 -1
  74. package/build/api_gateway/index.js +0 -291
  75. package/build/api_gateway/index.js.map +0 -1
  76. package/urls.txt +0 -5
  77. /package/build/{api_gateway → proxy}/checkFeasibility.js +0 -0
  78. /package/build/{api_gateway → proxy}/checkFireWallBlocking.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.4.1-beta.2 - 2026-07-22
4
+
5
+ ### Added
6
+
7
+ - The `api-gateway` module has been renamed to **`proxy`** and now supports three outbound-proxy methods: AWS API Gateway IP rotation (as before), generic SOCKS5/HTTP proxies, and Oxylabs. Proxy setup is driven by an interactive configuration wizard, and `lazyload`/`run` now consume proxy settings exclusively from the generated config file (`proxy_config.json`). Proxy request logic is centralized in `makeReq.ts`. (`proxy`, `lazyload`, `run`)
8
+ - `analyze`: added a `--disable-rules-version-check` flag (and a corresponding `JS_RECON_DISABLE_RULES_VERSION_CHECK` environment variable) so the rules version-compatibility check can be skipped. A new rules-bundled Docker image variant (`ghcr.io/js-recon/js-recon:<version>-w-rules`) ships with `js-recon-rules` baked in, allowing `analyze` to run without a rules mount or `-r` flag. (`analyze`, `docker`)
9
+ - `run`: added `--disable-refactor` flag to skip the automatic bundler-detection and refactor step that otherwise runs after `report`. (`run`)
10
+ - `run` (batch mode, `-u <file>`): each domain still gets its own `<output>/<host>/js-recon.db`, but a combined `<output>/js-recon.db` is now also maintained across the whole batch, so findings/endpoints/mapped chunks can be queried across every target without opening each per-domain database individually. Every table in the combined database gains a `domain` column (the sanitized host, doubling as a foreign key back to the corresponding output directory), and primary keys that were only unique within a single domain (`mapped`'s chunk `id`, `mapped_openapi`'s `(path, method)`, `endpoints`' `url`) are widened or replaced with an autoincrement `globalId` so rows from different domains never collide. (`run`, `report`)
11
+
12
+ ### Fixed
13
+
14
+ - Tech detection's intercepted-URL fallback (`techDetect/index.ts`) accepted a framework-shaped URL path (e.g. `/_nuxt/`, `/_next/`) as detection evidence without checking its actual response. A framework-shaped path resolving to a non-JS response (e.g. an error/maintenance page) could mis-fingerprint the whole target and send it down the wrong per-framework pipeline. The fallback now also confirms the captured response is a genuine 2xx JS response (status + `Content-Type` + body shape) before accepting the match. (`lazyload`)
15
+ - `proxy`: corrected the Oxylabs method to use the datacenter proxy scheme (verified against a live account); the module now fails cleanly on a malformed proxy config or URL, warns on a malformed config parse, and exits with an error when AWS credentials are missing for `-l`/`-d`. (`proxy`)
16
+ - `run`: replaced a fragile `@ts-ignore` on the final `analyze()` call with an explicit cast, and the Ctrl-C interrupt menu now waits for user input instead of exiting immediately. (`run`)
17
+ - Suppressed the misleading suggestion to pass `-k` when SSL verification is already disabled. (`run`, `lazyload`)
18
+ - Resolved npm-audit advisories: a path-traversal advisory in `@hono/node-server`, plus `fast-uri`/`hono` and `body-parser`/`brace-expansion` advisories. (`deps`)
19
+
20
+ ## 1.4.1-beta.1 - 2026-07-16
21
+
22
+ ### Fixed
23
+
24
+ - Homebrew: documented the fix for `Formulae found in multiple taps` / `Refusing to load formula ... from untrusted tap ...` errors hit by users who still have the old `shriyanss/tap` tapped from before the `js-recon` org migration. `js-recon/homebrew-tap` was created by renaming `shriyanss/homebrew-tap`, so GitHub still transparently resolves the old tap name to the same repo content — leaving two tap names serving an identically-named `js-recon` formula. Run `brew untap shriyanss/tap` before installing from `js-recon/tap` (see README.md and the Homebrew installation docs). (`docs`, `homebrew`)
25
+
26
+ ## 1.4.1-alpha.10 - 2026-07-15
27
+
28
+ ### Changed
29
+
30
+ - The project has moved to the `js-recon` GitHub organization. The npm package is now published as **`@js-recon/js-recon`** (previously `@shriyanss/js-recon`) — update your install commands accordingly. Container images are now published only to `ghcr.io/js-recon/js-recon` (Docker Hub publishing has been discontinued). The Homebrew tap is now `js-recon/tap` (`brew tap js-recon/tap`), and the Terraform modules are published under the `js-recon/js-recon/<cloud>` registry namespace. (`all`, `ci`, `docker`, `homebrew`)
31
+
3
32
  ## 1.4.1-alpha.9 - 2026-07-15
4
33
 
5
34
  ### Fixed
@@ -162,6 +191,12 @@
162
191
  - `refactor -t react` renamed to `refactor -t react-webpack` to make the bundler explicit
163
192
  - Improved tool description in `globalConfig.ts`
164
193
 
194
+ ## 1.3.2 - 2026-07-15
195
+
196
+ ### Fixed
197
+
198
+ - Rules auto-download now works under the `js-recon` GitHub organization. Backported stable hotfix (functionally identical to 1.3.1), released so `@js-recon/js-recon` has a working stable `latest` after the org migration: `initRules` fetches from `js-recon/js-recon-rules` and matches the `js-recon-js-recon-rules-` release-archive prefix (previously `shriyanss`), which otherwise broke `js-recon run`'s rule download. Shipped from the `hotfix/1.3.2` branch and is intentionally not part of the `1.4.1-alpha` line on `dev`/`main`. (`analyze`)
199
+
165
200
  ## 1.3.1-beta.1 - 2026-06-08
166
201
 
167
202
  ### Added
@@ -0,0 +1,13 @@
1
+ ARG BASE_IMAGE=js-recon/js-recon
2
+ FROM ${BASE_IMAGE}
3
+
4
+ USER root
5
+ COPY js-recon-rules/ /home/pptruser/.js-recon/rules/
6
+ RUN rm -rf /home/pptruser/.js-recon/rules/.github && \
7
+ if [ -d /home/pptruser/.js-recon/rules/skills ]; then \
8
+ mv /home/pptruser/.js-recon/rules/skills /home/pptruser/.js-recon/skills; \
9
+ fi && \
10
+ chown -R pptruser:pptruser /home/pptruser/.js-recon
11
+ USER pptruser
12
+
13
+ ENV JS_RECON_DISABLE_RULES_VERSION_CHECK=true
package/README.md CHANGED
@@ -34,6 +34,8 @@ To update:
34
34
  brew update && brew upgrade js-recon
35
35
  ```
36
36
 
37
+ > **Note:** If you installed JS Recon before the move to the `js-recon` GitHub organization, you may still have the old `shriyanss/tap` tapped locally. Since that repo was renamed (not deleted), Homebrew still resolves it, leaving two taps that both serve a formula named `js-recon` — causing errors like `Formulae found in multiple taps` or `Refusing to load formula ... from untrusted tap ...`. Fix with `brew untap shriyanss/tap` before installing from `js-recon/tap`.
38
+ >
37
39
  > **Note:** After installing via Homebrew, the `lazyload` subcommand requires a Chromium browser. Run `brew info js-recon` for setup instructions.
38
40
 
39
41
  ### npm (all platforms)
@@ -82,7 +84,7 @@ js-recon run -u https://app.example.com
82
84
  | `endpoints` | Extracts API endpoints and client-side paths from JS files. | [Read Docs](https://js-recon.io/docs/docs/modules/endpoints) |
83
85
  | `strings` | Extracts strings, URLs, and potential secrets from JS files. | [Read Docs](https://js-recon.io/docs/docs/modules/strings) |
84
86
  | `map` | Maps function calls and analyzes code, with optional AI-powered descriptions. | [Read Docs](https://js-recon.io/docs/docs/modules/map) |
85
- | `api-gateway` | Manages AWS API Gateway for IP rotation to bypass rate limits. | [Read Docs](https://js-recon.io/docs/docs/modules/api-gateway) |
87
+ | `proxy` | Routes requests through AWS API Gateway, SOCKS5/HTTP, or Oxylabs proxies. | [Read Docs](https://js-recon.io/docs/docs/modules/proxy) |
86
88
  | `run` | Runs all analysis modules automatically on a target. | [Read Docs](https://js-recon.io/docs/docs/modules/run) |
87
89
  | `analyze` | Analyzes the code. | [Read Docs](https://js-recon.io/docs/docs/modules/analyze) |
88
90
  | `report` | Generates a report from the analysis modules. | [Read Docs](https://js-recon.io/docs/docs/modules/report) |
@@ -119,7 +121,7 @@ For detailed guides, command options, and advanced usage examples, please check
119
121
  <img src="https://github.com/js-recon/js-recon-labs/blob/main/static/labs-banner.png?raw=true" alt="JS Recon Labs" width="300"/>
120
122
  </p>
121
123
 
122
- Labs to test JS Recon tool are available [here](https://github.com/js-recon/js-recon-labs). Walkthroughs are available [here](https://js-recon.io/labs).
124
+ Labs to test JS Recon tool are available in the [JS Recon Labs repository](https://github.com/js-recon/js-recon-labs). [Labs walkthroughs](https://js-recon.io/labs) are also available.
123
125
 
124
126
  ## Contributing
125
127
 
@@ -11,6 +11,7 @@ import chalk from "chalk";
11
11
  import fs from "fs";
12
12
  import path from "path";
13
13
  import extract from "extract-zip";
14
+ import { withProxyDispatcher } from "../../utility/makeReq.js";
14
15
  /**
15
16
  * Downloads and extracts the latest analysis rules from the GitHub repository.
16
17
  *
@@ -22,11 +23,12 @@ import extract from "extract-zip";
22
23
  */
23
24
  const downloadRules = (homeDir) => __awaiter(void 0, void 0, void 0, function* () {
24
25
  console.log(chalk.cyan("[i] Rules not found. Downloading from GitHub..."));
25
- const response = yield fetch("https://api.github.com/repos/js-recon/js-recon-rules/releases/latest");
26
+ const fetchOpts = withProxyDispatcher();
27
+ const response = yield fetch("https://api.github.com/repos/js-recon/js-recon-rules/releases/latest", fetchOpts);
26
28
  const release = yield response.json();
27
29
  const zipballUrl = release.zipball_url;
28
30
  const zipPath = path.join(homeDir, "/.js-recon/rules.zip");
29
- const downloadResponse = yield fetch(zipballUrl);
31
+ const downloadResponse = yield fetch(zipballUrl, fetchOpts);
30
32
  if (!downloadResponse.ok) {
31
33
  throw new Error(`Failed to download rules: ${downloadResponse.statusText}`);
32
34
  }
@@ -38,7 +40,7 @@ const downloadRules = (homeDir) => __awaiter(void 0, void 0, void 0, function* (
38
40
  yield extract(zipPath, { dir: extractPath });
39
41
  // Find the extracted directory
40
42
  const files = fs.readdirSync(extractPath);
41
- const extractedDir = files.find((file) => fs.statSync(path.join(extractPath, file)).isDirectory() && file.startsWith("shriyanss-js-recon-rules-"));
43
+ const extractedDir = files.find((file) => fs.statSync(path.join(extractPath, file)).isDirectory() && file.startsWith("js-recon-js-recon-rules-"));
42
44
  if (extractedDir) {
43
45
  fs.renameSync(path.join(extractPath, extractedDir), path.join(extractPath, "rules"));
44
46
  }
@@ -59,6 +61,20 @@ const downloadRules = (homeDir) => __awaiter(void 0, void 0, void 0, function* (
59
61
  }
60
62
  console.log(chalk.green("[✓] Rules initialized successfully."));
61
63
  });
64
+ /**
65
+ * Determines whether the GitHub rules version check should be skipped.
66
+ *
67
+ * The check is only skipped when explicitly disabled (via the `--disable-rules-version-check`
68
+ * flag or the `JS_RECON_DISABLE_RULES_VERSION_CHECK` env var) AND rules are already cached
69
+ * locally — if the rules directory doesn't exist yet, the tool still needs to fetch them
70
+ * from GitHub at least once.
71
+ *
72
+ * @param disableFlag - Value of the `--disable-rules-version-check` CLI flag
73
+ * @param envValue - Value of the `JS_RECON_DISABLE_RULES_VERSION_CHECK` env var
74
+ * @param rulesDirExists - Whether `~/.js-recon/rules` already exists
75
+ * @returns Whether the version check should be skipped
76
+ */
77
+ export const shouldSkipRulesVersionCheck = (disableFlag, envValue, rulesDirExists) => (disableFlag || envValue === "true") && rulesDirExists;
62
78
  /**
63
79
  * Initializes the analysis rules system by ensuring rules are available and up-to-date.
64
80
  *
@@ -66,11 +82,12 @@ const downloadRules = (homeDir) => __awaiter(void 0, void 0, void 0, function* (
66
82
  * 1. Creates the .js-recon directory if it doesn't exist
67
83
  * 2. Downloads rules if they're missing
68
84
  * 3. Validates rule integrity
69
- * 4. Checks for and downloads rule updates from GitHub
85
+ * 4. Checks for and downloads rule updates from GitHub (unless skipped, see `shouldSkipRulesVersionCheck`)
70
86
  *
87
+ * @param disableVersionCheck - Skip the GitHub version check and use cached rules as-is
71
88
  * @returns Promise that resolves when rules initialization is complete
72
89
  */
73
- const initRules = () => __awaiter(void 0, void 0, void 0, function* () {
90
+ const initRules = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (disableVersionCheck = false) {
74
91
  console.log(chalk.cyan("[i] Initializing rules..."));
75
92
  // get the user's home dir
76
93
  const homeDir = process.env.HOME;
@@ -78,6 +95,11 @@ const initRules = () => __awaiter(void 0, void 0, void 0, function* () {
78
95
  if (!fs.existsSync(path.join(homeDir, "/.js-recon"))) {
79
96
  fs.mkdirSync(path.join(homeDir, "/.js-recon"));
80
97
  }
98
+ const rulesDir = path.join(homeDir, "/.js-recon/rules");
99
+ if (shouldSkipRulesVersionCheck(disableVersionCheck, process.env.JS_RECON_DISABLE_RULES_VERSION_CHECK, fs.existsSync(rulesDir))) {
100
+ console.log(chalk.cyan("[i] Rules version check disabled — using cached rules as-is."));
101
+ return;
102
+ }
81
103
  // now, check if the rules directory exists
82
104
  if (!fs.existsSync(path.join(homeDir, "/.js-recon/rules"))) {
83
105
  yield downloadRules(homeDir);
@@ -93,7 +115,7 @@ const initRules = () => __awaiter(void 0, void 0, void 0, function* () {
93
115
  // also, if the version.txt exist, check if the version.txt is latest as per the latest release on github
94
116
  const version = fs.readFileSync(versionPath, "utf8").trim();
95
117
  try {
96
- const response = yield fetch("https://api.github.com/repos/js-recon/js-recon-rules/releases/latest");
118
+ const response = yield fetch("https://api.github.com/repos/js-recon/js-recon-rules/releases/latest", withProxyDispatcher());
97
119
  const release = yield response.json();
98
120
  const release_tag_name = release.tag_name;
99
121
  if (`v${version}` !== release_tag_name) {
@@ -1 +1 @@
1
- {"version":3,"file":"initRules.js","sourceRoot":"","sources":["../../../src/analyze/helpers/initRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initRules.js","sourceRoot":"","sources":["../../../src/analyze/helpers/initRules.ts"],"names":[],"mappings":"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"}
@@ -61,11 +61,12 @@ const getRuleFilesRecursive = (dir) => {
61
61
  * @param openapi - Path to OpenAPI specification file for API analysis
62
62
  * @param validate - Whether to only validate rules without running analysis
63
63
  * @param outputFile - Output file name for analysis results
64
+ * @param disableRulesVersionCheck - Skip the GitHub rules version check and use cached rules as-is
64
65
  * @returns Promise that resolves when analysis is complete
65
66
  */
66
- const analyze = (rulesPath, mappedJson, tech, list, openapi, validate, outputFile) => __awaiter(void 0, void 0, void 0, function* () {
67
+ const analyze = (rulesPath_1, mappedJson_1, tech_1, list_1, openapi_1, validate_1, outputFile_1, ...args_1) => __awaiter(void 0, [rulesPath_1, mappedJson_1, tech_1, list_1, openapi_1, validate_1, outputFile_1, ...args_1], void 0, function* (rulesPath, mappedJson, tech, list, openapi, validate, outputFile, disableRulesVersionCheck = false) {
67
68
  console.log(chalk.cyan(`[i] Loading analyze module...`));
68
- yield initRules();
69
+ yield initRules(disableRulesVersionCheck);
69
70
  // check if `-r` flag is there. If not, default to `~/.js-recon/rules`
70
71
  if (!rulesPath || rulesPath === "") {
71
72
  rulesPath = path.join(process.env.HOME, "/.js-recon/rules");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analyze/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ const COMMANDS = [
3
3
  "lazyload",
4
4
  "endpoints",
5
5
  "strings",
6
- "api-gateway",
6
+ "proxy",
7
7
  "map",
8
8
  "refactor",
9
9
  "analyze",
@@ -29,8 +29,8 @@ const FLAGS = {
29
29
  "--threads",
30
30
  "--subsequent-requests",
31
31
  "--urls-file",
32
- "--api-gateway",
33
- "--api-gateway-config",
32
+ "--proxy-config",
33
+ "--ignore-proxy-env",
34
34
  "--cache-file",
35
35
  "--disable-cache",
36
36
  "--cache-only",
@@ -81,7 +81,7 @@ const FLAGS = {
81
81
  "--scan-secrets",
82
82
  "--trufflehog",
83
83
  ],
84
- "api-gateway": [
84
+ proxy: [
85
85
  "-i",
86
86
  "--init",
87
87
  "-d",
@@ -89,16 +89,21 @@ const FLAGS = {
89
89
  "--destroy-all",
90
90
  "-r",
91
91
  "--region",
92
- "-a",
93
- "--access-key",
94
- "-s",
95
- "--secret-key",
92
+ "--aws-access-key",
93
+ "--aws-secret-key",
96
94
  "-c",
97
95
  "--config",
98
96
  "-l",
99
97
  "--list",
100
98
  "--feasibility",
101
99
  "--feasibility-url",
100
+ "--proxy-method",
101
+ "--proxy",
102
+ "--oxylabs-username",
103
+ "--oxylabs-password",
104
+ "--oxylabs-country",
105
+ "--oxylabs-city",
106
+ "--oxylabs-session-id",
102
107
  ],
103
108
  map: [
104
109
  "-d",
@@ -193,8 +198,8 @@ const FLAGS = {
193
198
  "--scope",
194
199
  "-t",
195
200
  "--threads",
196
- "--api-gateway",
197
- "--api-gateway-config",
201
+ "--proxy-config",
202
+ "--ignore-proxy-env",
198
203
  "--cache-file",
199
204
  "--disable-cache",
200
205
  "--cache-only",
@@ -227,6 +232,7 @@ const FLAGS = {
227
232
  "--exclude-methods",
228
233
  "--list-methods",
229
234
  "--cs-mast-tech-detect-threshold",
235
+ "--disable-refactor",
230
236
  ],
231
237
  load: ["-c", "--caido", "-u", "--url", "--cache-file"],
232
238
  fingerprint: [
@@ -311,7 +317,7 @@ function generateZshCompletion() {
311
317
  "'lazyload:Run lazy load module'",
312
318
  "'endpoints:Extract client-side endpoints'",
313
319
  "'strings:Extract strings from JS files'",
314
- "'api-gateway:Configure AWS API Gateway to rotate IP addresses'",
320
+ "'proxy:Manage proxy configuration (AWS API Gateway IP rotation, SOCKS/HTTP, Oxylabs)'",
315
321
  "'map:Map all the functions'",
316
322
  "'refactor:Refactor the code'",
317
323
  "'analyze:Analyze the code'",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/completion/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/completion/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  const githubURL = "https://github.com/js-recon/js-recon";
2
2
  const modulesDocs = "https://js-recon.io/docs/category/modules";
3
- const version = "1.4.1-alpha.9";
3
+ const version = "1.4.1-beta.2";
4
4
  const toolDesc = "JavaScript Enumeration and SAST";
5
5
  const axiosNonHttpMethods = ["isAxiosError"]; // methods available in axios, which are not for making HTTP requests
6
6
  let CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../src/globalConfig.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,eAAe,CAAC;AAChC,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AACnD,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,sCAAsC,CAAC;AACzD,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,cAAc,CAAC;AAC/B,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AACnD,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
@@ -14,7 +14,8 @@ import { FRAMEWORK_METHODS, VALID_METHODS } from "./lazyLoad/methodFilter.js";
14
14
  import endpoints from "./endpoints/index.js";
15
15
  import CONFIG from "./globalConfig.js";
16
16
  import strings from "./strings/index.js";
17
- import apiGateway from "./api_gateway/index.js";
17
+ import proxy from "./proxy/index.js";
18
+ import configureProxy from "./utility/configureProxy.js";
18
19
  import map from "./map/index.js";
19
20
  import * as globalsUtil from "./utility/globals.js";
20
21
  import refactor from "./refactor/index.js";
@@ -99,8 +100,8 @@ program
99
100
  .option("-t, --threads <threads>", "Number of threads to use", "1")
100
101
  .option("--subsequent-requests", "Download JS files from subsequent requests (Next.JS only)", false)
101
102
  .option("--urls-file <file>", "Input JSON file containing URLs", "extracted_urls.json")
102
- .option("--api-gateway", "Generate requests using API Gateway", false)
103
- .option("--api-gateway-config <file>", "API Gateway config file", ".api_gateway_config.json")
103
+ .option("--proxy-config <file>", "Proxy config file (generated via the `proxy` module)", ".proxy_config.json")
104
+ .option("--ignore-proxy-env", "Skip JS_RECON_* proxy environment variables during resolution", false)
104
105
  .option("--cache-file <file>", "File to store response cache", ".resp_cache.json")
105
106
  .option("--disable-cache", "Disable response caching", false)
106
107
  .option("--cache-only", "Only use the response cache; never make network requests", false)
@@ -161,8 +162,7 @@ program
161
162
  console.error(chalk.red("[!] Missing required option: -u, --url <url/file>"));
162
163
  process.exit(1);
163
164
  }
164
- globalsUtil.setApiGatewayConfigFile(cmd.apiGatewayConfig);
165
- globalsUtil.setUseApiGateway(cmd.apiGateway);
165
+ configureProxy(cmd);
166
166
  globalsUtil.setDisableCache(cmd.disableCache);
167
167
  globalsUtil.setRespCacheFile(cmd.cacheFile);
168
168
  globalsUtil.setCacheOnly(cmd.cacheOnly);
@@ -199,22 +199,51 @@ program
199
199
  yield strings(cmd.directory, cmd.output, cmd.extractUrls, cmd.extractedUrlPath, cmd.scanSecrets, cmd.permutate, cmd.openapi, cmd.trufflehog);
200
200
  }));
201
201
  program
202
- .command("api-gateway")
203
- .description("Configure AWS API Gateway to rotate IP addresses")
204
- .option("-i, --init", "Initialize the config file (create API)", false)
205
- .option("-d, --destroy <id>", "Destroy API with the given ID")
206
- .option("--destroy-all", "Destroy all the API created by this tool in all regions", false)
207
- .option("-r, --region <region>", "AWS region (default: random region)")
208
- .option("-a, --access-key <access-key>", "AWS access key (if not provided, AWS_ACCESS_KEY_ID environment variable will be used)")
209
- .option("-s, --secret-key <secret-key>", "AWS secret key (if not provided, AWS_SECRET_ACCESS_KEY environment variable will be used)")
210
- .option("-c, --config <config>", "Name of the config file", ".api_gateway_config.json")
211
- .option("-l, --list", "List all the API created by this tool", false)
212
- .option("--feasibility", "Check feasibility of API Gateway", false)
213
- .option("--feasibility-url <url>", "URL to check feasibility of")
202
+ .command("proxy")
203
+ .description("Manage proxy configuration (AWS API Gateway IP rotation, SOCKS/HTTP, Oxylabs)")
204
+ .option("-i, --init", "Initialize the config file (create API) [aws method]", false)
205
+ .option("-d, --destroy <id>", "Destroy API with the given ID [aws method]")
206
+ .option("--destroy-all", "Destroy all the API created by this tool in all regions [aws method]", false)
207
+ .option("-r, --region <region>", "AWS region (default: random region) [aws method]")
208
+ .option("--aws-access-key <key>", "AWS access key (if not provided, AWS_ACCESS_KEY_ID environment variable will be used) [aws method]")
209
+ .option("--aws-secret-key <key>", "AWS secret key (if not provided, AWS_SECRET_ACCESS_KEY environment variable will be used) [aws method]")
210
+ .option("-c, --config <config>", "Name of the config file", ".proxy_config.json")
211
+ .option("-l, --list", "List all the API created by this tool [aws method]", false)
212
+ .option("--feasibility", "Check feasibility of API Gateway [aws method]", false)
213
+ .option("--feasibility-url <url>", "URL to check feasibility of [aws method]")
214
+ .option("--proxy-method <method>", "Proxy method to configure with -i/--init: aws, socks, http, or oxylabs (omit for an interactive prompt)")
215
+ .option("--proxy <url>", "SOCKS5/HTTP proxy URL for -i/--init (socks5://[user:pass@]host:port or http://[user:pass@]host:port)")
216
+ .option("--oxylabs-username <username>", "Oxylabs datacenter proxy username for -i/--init")
217
+ .option("--oxylabs-password <password>", "Oxylabs datacenter proxy password for -i/--init")
218
+ .option("--oxylabs-country <country>", "Oxylabs datacenter proxy country code for -i/--init")
219
+ .option("--oxylabs-city <city>", "Oxylabs datacenter proxy city for -i/--init (currently unsupported — no documented username-level city targeting)")
220
+ .option("--oxylabs-session-id <id>", "Oxylabs datacenter proxy sticky session id for -i/--init (currently unsupported via username — sessions are selected by port)")
214
221
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
215
- globalsUtil.setApiGatewayConfigFile(cmd.config);
216
- globalsUtil.setUseApiGateway(true);
217
- yield apiGateway(cmd.init, cmd.destroy, cmd.destroyAll, cmd.list, cmd.region, cmd.accessKey, cmd.secretKey, cmd.config, cmd.feasibility, cmd.feasibilityUrl);
222
+ try {
223
+ yield proxy({
224
+ init: cmd.init,
225
+ destroy: cmd.destroy,
226
+ destroyAll: cmd.destroyAll,
227
+ list: cmd.list,
228
+ region: cmd.region,
229
+ awsAccessKey: cmd.awsAccessKey,
230
+ awsSecretKey: cmd.awsSecretKey,
231
+ config: cmd.config,
232
+ feasibility: cmd.feasibility,
233
+ feasibilityUrl: cmd.feasibilityUrl,
234
+ proxyMethod: cmd.proxyMethod,
235
+ proxyUrl: cmd.proxy,
236
+ oxylabsUsername: cmd.oxylabsUsername,
237
+ oxylabsPassword: cmd.oxylabsPassword,
238
+ oxylabsCountry: cmd.oxylabsCountry,
239
+ oxylabsCity: cmd.oxylabsCity,
240
+ oxylabsSessionId: cmd.oxylabsSessionId,
241
+ });
242
+ }
243
+ catch (err) {
244
+ console.error(chalk.red(`[!] ${err.message}`));
245
+ process.exit(1);
246
+ }
218
247
  }));
219
248
  program
220
249
  .command("map")
@@ -326,8 +355,9 @@ program
326
355
  .option("-l, --list", "List available technologies", false)
327
356
  .option("--validate", "Validate the rules", false)
328
357
  .option("-o, --output <file>", "Output JSON file name", "analyze.json")
358
+ .option("--disable-rules-version-check", "Skip the GitHub rules version check and use cached rules as-is", false)
329
359
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
330
- yield analyze(cmd.rules, cmd.mappedJson, cmd.tech, cmd.list, cmd.openapi, cmd.validate, cmd.output);
360
+ yield analyze(cmd.rules, cmd.mappedJson, cmd.tech, cmd.list, cmd.openapi, cmd.validate, cmd.output, !!cmd.disableRulesVersionCheck);
331
361
  }));
332
362
  program
333
363
  .command("report")
@@ -346,13 +376,14 @@ program
346
376
  .description("Run all modules")
347
377
  .option("-u, --url <url/file>", "Target URL or a file containing a list of URLs (one per line)")
348
378
  .option("-r, --rules <file/dir>", "Rules file or directory (passed to analyze module)")
379
+ .option("--disable-rules-version-check", "Skip the GitHub rules version check and use cached rules as-is (passed to analyze module)", false)
349
380
  .option("-c, --command <command>", "Run an interactive-mode command on the mapped chunks non-interactively (forwarded to the map step). Can be passed multiple times, or chain several with `&&` inside a single value (e.g. -c 'list fetch && go to 1234').", (val, prev) => [...prev, ...val.split(/\s*&&\s*/).filter((c) => c.length > 0)], [])
350
381
  .option("-o, --output <directory>", "Output directory", "output")
351
382
  .option("--strict-scope", "Download JS files from only the input URL domain", false)
352
383
  .option("-s, --scope <scope>", "Download JS files from specific domains (comma-separated)", "*")
353
384
  .option("-t, --threads <threads>", "Number of threads to use", "1")
354
- .option("--api-gateway", "Generate requests using API Gateway", false)
355
- .option("--api-gateway-config <file>", "API Gateway config file", ".api_gateway_config.json")
385
+ .option("--proxy-config <file>", "Proxy config file (generated via the `proxy` module)", ".proxy_config.json")
386
+ .option("--ignore-proxy-env", "Skip JS_RECON_* proxy environment variables during resolution", false)
356
387
  .option("--cache-file <file>", "File to store response cache", ".resp_cache.json")
357
388
  .option("--disable-cache", "Disable response caching", false)
358
389
  .option("--cache-only", "Only use the response cache; never make network requests", false)
@@ -383,6 +414,7 @@ program
383
414
  .option("--exclude-methods <methods>", "Comma-separated lazyload method names to skip (blacklist). Use --list-methods to see valid names.")
384
415
  .option("--list-methods [framework]", "Print available lazyload method names grouped by framework and exit. Optionally filter by framework (next_js, vue, nuxt_js, svelte, angular, react).")
385
416
  .option("--cs-mast-tech-detect-threshold <n>", "Minimum CS-MAST-S signature matches required to detect bundler for the refactor step (0 = skip refactor)", "50")
417
+ .option("--disable-refactor", "Skip the automatic refactor step after report", false)
386
418
  .action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
387
419
  var _a;
388
420
  // handle --list-methods before any network work