@shriyanss/js-recon 1.2.1 → 1.2.2-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.
- package/.github/workflows/build-and-prettify.yaml +3 -0
- package/CHANGELOG.md +24 -0
- package/build/analyze/engine/astEngine.js +11 -0
- package/build/analyze/engine/astEngine.js.map +1 -1
- package/build/analyze/engine/index.js +13 -0
- package/build/analyze/engine/index.js.map +1 -1
- package/build/analyze/engine/requestEngine.js +11 -0
- package/build/analyze/engine/requestEngine.js.map +1 -1
- package/build/analyze/helpers/engineHelpers/findDirectAssignment.js +10 -0
- package/build/analyze/helpers/engineHelpers/findDirectAssignment.js.map +1 -1
- package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js +4 -1
- package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
- package/build/analyze/helpers/engineHelpers/resolveFunctionIdentifier.js +9 -4
- package/build/analyze/helpers/engineHelpers/resolveFunctionIdentifier.js.map +1 -1
- package/build/analyze/helpers/initRules.js +20 -0
- package/build/analyze/helpers/initRules.js.map +1 -1
- package/build/analyze/helpers/outputHelper.js +6 -0
- package/build/analyze/helpers/outputHelper.js.map +1 -1
- package/build/analyze/helpers/validate.js +9 -0
- package/build/analyze/helpers/validate.js.map +1 -1
- package/build/analyze/index.js +21 -0
- package/build/analyze/index.js.map +1 -1
- package/build/api_gateway/checkFeasibility.js +9 -0
- package/build/api_gateway/checkFeasibility.js.map +1 -1
- package/build/api_gateway/checkFireWallBlocking.js +9 -0
- package/build/api_gateway/checkFireWallBlocking.js.map +1 -1
- package/build/api_gateway/genReq.js +6 -0
- package/build/api_gateway/genReq.js.map +1 -1
- package/build/api_gateway/index.js +17 -0
- package/build/api_gateway/index.js.map +1 -1
- package/build/endpoints/gen_report/gen_json.js +8 -0
- package/build/endpoints/gen_report/gen_json.js.map +1 -1
- package/build/endpoints/gen_report/utility/iterate_n_store.js +18 -0
- package/build/endpoints/gen_report/utility/iterate_n_store.js.map +1 -1
- package/build/endpoints/index.js +18 -0
- package/build/endpoints/index.js.map +1 -1
- package/build/endpoints/next_js/client_jsFilesHref.js +10 -0
- package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
- package/build/endpoints/next_js/client_jsonParse.js +10 -0
- package/build/endpoints/next_js/client_jsonParse.js.map +1 -1
- package/build/endpoints/next_js/client_mappedJsonFile.js +6 -0
- package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
- package/build/endpoints/next_js/client_subsequentRequests.js +7 -0
- package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
- package/build/globalConfig.js +1 -1
- package/build/globalConfig.js.map +1 -1
- package/build/index.js +30 -1
- package/build/index.js.map +1 -1
- package/build/lazyLoad/angular/angular_getFromMainJs.js +55 -0
- package/build/lazyLoad/angular/angular_getFromMainJs.js.map +1 -0
- package/build/lazyLoad/angular/angular_getFromPageSource.js +43 -0
- package/build/lazyLoad/angular/angular_getFromPageSource.js.map +1 -0
- package/build/lazyLoad/downloadFilesUtil.js +9 -7
- package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
- package/build/lazyLoad/downloadLoadedJsUtil.js +3 -10
- package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
- package/build/lazyLoad/globals.js +49 -1
- package/build/lazyLoad/globals.js.map +1 -1
- package/build/lazyLoad/index.js +61 -27
- package/build/lazyLoad/index.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetJSScript.js +7 -4
- package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js +11 -0
- package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +15 -10
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_SubsequentRequests.js +6 -8
- package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
- package/build/lazyLoad/next_js/next_buildId.js +47 -0
- package/build/lazyLoad/next_js/next_buildId.js.map +1 -0
- package/build/lazyLoad/next_js/next_globals.js +8 -0
- package/build/lazyLoad/next_js/next_globals.js.map +1 -0
- package/build/lazyLoad/nuxt_js/nuxt_astParse.js +12 -0
- package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +8 -0
- package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +13 -0
- package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_getFromPageSource.js +8 -0
- package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +13 -0
- package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
- package/build/lazyLoad/techDetect/index.js +95 -12
- package/build/lazyLoad/techDetect/index.js.map +1 -1
- package/build/map/index.js +18 -0
- package/build/map/index.js.map +1 -1
- package/build/map/next_js/getAxiosInstances.js +12 -0
- package/build/map/next_js/getAxiosInstances.js.map +1 -1
- package/build/map/next_js/getExports.js +5 -0
- package/build/map/next_js/getExports.js.map +1 -1
- package/build/map/next_js/getFetchInstances.js +28 -0
- package/build/map/next_js/getFetchInstances.js.map +1 -1
- package/build/map/next_js/getWebpackConnections.js +7 -0
- package/build/map/next_js/getWebpackConnections.js.map +1 -1
- package/build/map/next_js/interactive.js +5 -0
- package/build/map/next_js/interactive.js.map +1 -1
- package/build/map/next_js/interactive_helpers/commandHandler.js +6 -0
- package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -1
- package/build/map/next_js/interactive_helpers/commandHelpers.js +34 -0
- package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
- package/build/map/next_js/interactive_helpers/keybindings.js +7 -0
- package/build/map/next_js/interactive_helpers/keybindings.js.map +1 -1
- package/build/map/next_js/interactive_helpers/printer.js +7 -1
- package/build/map/next_js/interactive_helpers/printer.js.map +1 -1
- package/build/map/next_js/interactive_helpers/ui.js +9 -0
- package/build/map/next_js/interactive_helpers/ui.js.map +1 -1
- package/build/map/next_js/resolveAxios.js +10 -0
- package/build/map/next_js/resolveAxios.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js +12 -0
- package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js +8 -0
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js +8 -0
- package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +18 -0
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +15 -0
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveFetch.js +5 -0
- package/build/map/next_js/resolveFetch.js.map +1 -1
- package/build/map/next_js/utils.js +29 -2
- package/build/map/next_js/utils.js.map +1 -1
- package/build/refactor/index.js +13 -0
- package/build/refactor/index.js.map +1 -1
- package/build/refactor/next/index.js +12 -0
- package/build/refactor/next/index.js.map +1 -1
- package/build/report/index.js +15 -0
- package/build/report/index.js.map +1 -1
- package/build/report/utility/dataTables/genDataTablesPage.js +48 -2
- package/build/report/utility/dataTables/genDataTablesPage.js.map +1 -1
- package/build/report/utility/genHtml.js +29 -2
- package/build/report/utility/genHtml.js.map +1 -1
- package/build/report/utility/initReportDb.js +25 -0
- package/build/report/utility/initReportDb.js.map +1 -1
- package/build/report/utility/markdownGen/addAnalyze.js +8 -0
- package/build/report/utility/markdownGen/addAnalyze.js.map +1 -1
- package/build/report/utility/markdownGen/addMappedJson.js +8 -0
- package/build/report/utility/markdownGen/addMappedJson.js.map +1 -1
- package/build/report/utility/populateDb/populateAnalysisFindings.js +8 -0
- package/build/report/utility/populateDb/populateAnalysisFindings.js.map +1 -1
- package/build/report/utility/populateDb/populateEndpoints.js +8 -0
- package/build/report/utility/populateDb/populateEndpoints.js.map +1 -1
- package/build/report/utility/populateDb/populateMappedJson.js +8 -0
- package/build/report/utility/populateDb/populateMappedJson.js.map +1 -1
- package/build/report/utility/populateDb/populateMappedOpenapi.js +8 -0
- package/build/report/utility/populateDb/populateMappedOpenapi.js.map +1 -1
- package/build/run/index.js +41 -3
- package/build/run/index.js.map +1 -1
- package/build/strings/index.js +5 -6
- package/build/strings/index.js.map +1 -1
- package/build/strings/openapi.js +8 -0
- package/build/strings/openapi.js.map +1 -1
- package/build/strings/permutate.js +7 -0
- package/build/strings/permutate.js.map +1 -1
- package/build/strings/secrets.js +13 -0
- package/build/strings/secrets.js.map +1 -1
- package/build/utility/ai.js +33 -5
- package/build/utility/ai.js.map +1 -1
- package/build/utility/configureSandbox.js +14 -0
- package/build/utility/configureSandbox.js.map +1 -0
- package/build/utility/globals.js +177 -7
- package/build/utility/globals.js.map +1 -1
- package/build/utility/makeReq.js +69 -21
- package/build/utility/makeReq.js.map +1 -1
- package/build/utility/openapiGenerator.js +15 -7
- package/build/utility/openapiGenerator.js.map +1 -1
- package/build/utility/replaceUrlPlaceholders.js +15 -0
- package/build/utility/replaceUrlPlaceholders.js.map +1 -1
- package/build/utility/resolvePath.js +15 -15
- package/build/utility/runSandboxed.js +20 -0
- package/build/utility/runSandboxed.js.map +1 -1
- package/build/utility/urlUtils.js +7 -6
- package/build/utility/urlUtils.js.map +1 -1
- package/package.json +4 -2
package/build/run/index.js
CHANGED
|
@@ -19,6 +19,16 @@ import analyze from "../analyze/index.js";
|
|
|
19
19
|
import report from "../report/index.js";
|
|
20
20
|
import { clearJsUrls, clearJsonUrls, getJsUrls } from "../lazyLoad/globals.js";
|
|
21
21
|
import path from "path";
|
|
22
|
+
/**
|
|
23
|
+
* Determines the directory for a Content Delivery Network (CDN) if used by the target.
|
|
24
|
+
*
|
|
25
|
+
* Checks if any of the downloaded JavaScript files are from a different host, which
|
|
26
|
+
* indicates a CDN is in use. This is important for modules that rely on code analysis.
|
|
27
|
+
*
|
|
28
|
+
* @param host - The host of the target URL
|
|
29
|
+
* @param outputDir - The base output directory
|
|
30
|
+
* @returns Promise that resolves to the path of the CDN directory or undefined if no CDN is detected
|
|
31
|
+
*/
|
|
22
32
|
const getCdnDir = (host, outputDir) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
33
|
// get the JS URLs
|
|
24
34
|
let cdnDir;
|
|
@@ -34,6 +44,24 @@ const getCdnDir = (host, outputDir) => __awaiter(void 0, void 0, void 0, functio
|
|
|
34
44
|
}
|
|
35
45
|
return cdnDir;
|
|
36
46
|
});
|
|
47
|
+
/**
|
|
48
|
+
* Processes a single URL through the entire js-recon analysis pipeline.
|
|
49
|
+
*
|
|
50
|
+
* This function orchestrates the execution of all modules in sequence:
|
|
51
|
+
* 1. Lazyload - Downloads JavaScript files
|
|
52
|
+
* 2. Strings - Extracts endpoints and secrets
|
|
53
|
+
* 3. Map - Analyzes functions and generates mappings
|
|
54
|
+
* 4. Endpoints - Extracts client-side endpoints
|
|
55
|
+
* 5. Analyze - Runs security analysis rules
|
|
56
|
+
* 6. Report - Generates final analysis report
|
|
57
|
+
*
|
|
58
|
+
* @param url - The URL to analyze
|
|
59
|
+
* @param outputDir - The directory for downloaded content (e.g., JS files)
|
|
60
|
+
* @param workingDir - The directory for storing analysis results and reports
|
|
61
|
+
* @param cmd - The command-line options object
|
|
62
|
+
* @param isBatch - Whether this is part of a batch process, affecting file path resolution
|
|
63
|
+
* @returns Promise that resolves when the analysis for the URL is complete
|
|
64
|
+
*/
|
|
37
65
|
const processUrl = (url, outputDir, workingDir, cmd, isBatch) => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
66
|
const targetHost = new URL(url).host.replace(":", "_");
|
|
39
67
|
console.log(chalk.bgGreenBright(`[+] Starting analysis for ${url}...`));
|
|
@@ -42,13 +70,13 @@ const processUrl = (url, outputDir, workingDir, cmd, isBatch) => __awaiter(void
|
|
|
42
70
|
clearJsonUrls();
|
|
43
71
|
}
|
|
44
72
|
console.log(chalk.bgCyan("[1/8] Running lazyload to download JavaScript files..."));
|
|
45
|
-
yield lazyLoad(url, outputDir, cmd.strictScope, cmd.scope.split(","), cmd.threads, false, "", cmd.insecure);
|
|
73
|
+
yield lazyLoad(url, outputDir, cmd.strictScope, cmd.scope.split(","), cmd.threads, false, "", cmd.insecure, false);
|
|
46
74
|
console.log(chalk.bgGreen("[+] Lazyload complete."));
|
|
47
75
|
if (globalsUtil.getTech() === "") {
|
|
48
76
|
console.log(chalk.bgRed("[!] Technology not detected. Quitting."));
|
|
49
77
|
process.exit(10);
|
|
50
78
|
}
|
|
51
|
-
if (globalsUtil.getTech()
|
|
79
|
+
if (!["next"].includes(globalsUtil.getTech())) {
|
|
52
80
|
console.log(chalk.bgYellow(`[!] The tool only supports Next.JS ('next') fully. For ${globalsUtil.getTech()}, only downloading JS files is supported`));
|
|
53
81
|
return;
|
|
54
82
|
}
|
|
@@ -70,7 +98,7 @@ const processUrl = (url, outputDir, workingDir, cmd, isBatch) => __awaiter(void
|
|
|
70
98
|
yield strings(outputDir, stringsFile, true, extractedUrlsFile, false, false, false);
|
|
71
99
|
console.log(chalk.bgGreen("[+] Strings complete."));
|
|
72
100
|
console.log(chalk.bgCyan("[3/8] Running lazyload with subsequent requests to download JavaScript files..."));
|
|
73
|
-
yield lazyLoad(url, outputDir, cmd.strictScope, cmd.scope.split(","), cmd.threads, true, `${extractedUrlsFile}.json`, cmd.insecure);
|
|
101
|
+
yield lazyLoad(url, outputDir, cmd.strictScope, cmd.scope.split(","), cmd.threads, true, `${extractedUrlsFile}.json`, cmd.insecure, true);
|
|
74
102
|
console.log(chalk.bgGreen("[+] Lazyload with subsequent requests complete."));
|
|
75
103
|
console.log(chalk.bgCyan("[4/8] Running strings again to extract endpoints..."));
|
|
76
104
|
yield strings(outputDir, stringsFile, true, extractedUrlsFile, cmd.secrets, true, true);
|
|
@@ -99,6 +127,16 @@ const processUrl = (url, outputDir, workingDir, cmd, isBatch) => __awaiter(void
|
|
|
99
127
|
console.log(chalk.bgGreen("[+] Report complete."));
|
|
100
128
|
console.log(chalk.bgGreenBright(`[+] Analysis complete for ${url}.`));
|
|
101
129
|
});
|
|
130
|
+
/**
|
|
131
|
+
* Main handler for the 'run' command that executes the complete js-recon analysis pipeline.
|
|
132
|
+
*
|
|
133
|
+
* Sets up global configuration and determines whether to process a single URL or
|
|
134
|
+
* a file containing multiple URLs. For batch processing, creates organized directory
|
|
135
|
+
* structure and processes each URL sequentially.
|
|
136
|
+
*
|
|
137
|
+
* @param cmd - The command-line options object from commander.js
|
|
138
|
+
* @returns Promise that resolves when all URL processing is complete
|
|
139
|
+
*/
|
|
102
140
|
export default (cmd) => __awaiter(void 0, void 0, void 0, function* () {
|
|
103
141
|
globalsUtil.setApiGatewayConfigFile(cmd.apiGatewayConfig);
|
|
104
142
|
globalsUtil.setUseApiGateway(cmd.apiGateway);
|
package/build/run/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,SAAS,GAAG,CAAO,IAAY,EAAE,SAAiB,EAA+B,EAAE;IACrF,kBAAkB;IAClB,IAAI,MAA0B,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtC,uCAAuC;YACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvC,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run/index.ts"],"names":[],"mappings":"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"}
|
package/build/strings/index.js
CHANGED
|
@@ -16,12 +16,11 @@ import secrets from "./secrets.js";
|
|
|
16
16
|
import permutate from "./permutate.js";
|
|
17
17
|
import openapi from "./openapi.js";
|
|
18
18
|
/**
|
|
19
|
-
* Recursively extracts
|
|
20
|
-
*
|
|
21
|
-
* @
|
|
22
|
-
* @returns {string[]} - An array of extracted strings.
|
|
19
|
+
* Recursively extracts all string literals from a given AST node.
|
|
20
|
+
* @param {object} node - The AST node to extract strings from
|
|
21
|
+
* @returns {string[]} An array of extracted string literals
|
|
23
22
|
*/
|
|
24
|
-
|
|
23
|
+
const extractStrings = (node) => {
|
|
25
24
|
const strings = new Set();
|
|
26
25
|
const seen = new WeakSet();
|
|
27
26
|
function recurse(currentNode) {
|
|
@@ -62,7 +61,7 @@ function extractStrings(node) {
|
|
|
62
61
|
}
|
|
63
62
|
recurse(node);
|
|
64
63
|
return Array.from(strings);
|
|
65
|
-
}
|
|
64
|
+
};
|
|
66
65
|
/**
|
|
67
66
|
* Extracts all string literals from all .js files in a given directory and its
|
|
68
67
|
* subdirectories and writes them to a JSON file.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"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"}
|
package/build/strings/openapi.js
CHANGED
|
@@ -9,6 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import chalk from "chalk";
|
|
11
11
|
import { writeFile } from "fs/promises";
|
|
12
|
+
/**
|
|
13
|
+
* Generates an OpenAPI v3 file based on the provided paths.
|
|
14
|
+
*
|
|
15
|
+
* @param {string[]} paths - Array of paths to include in the OpenAPI file
|
|
16
|
+
* @param {string} output_file - Base name of the output file (without extension)
|
|
17
|
+
*
|
|
18
|
+
* @returns {Promise<void>} - Promise that resolves when the OpenAPI file is saved
|
|
19
|
+
*/
|
|
12
20
|
const openapi = (paths, output_file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
21
|
console.log(chalk.cyan("[i] Generating OpenAPI v3 file"));
|
|
14
22
|
const openapiData = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/strings/openapi.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,OAAO,GAAG,CAAO,KAAK,EAAE,WAAW,EAAE,EAAE;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACF,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,OAAO;SACnB;QACD,OAAO,EAAE;YACL;gBACI,GAAG,EAAE,aAAa;gBAClB,WAAW,EAAE,sBAAsB;aACtC;SACJ;QACD,KAAK,EAAE,EAAE;KACZ,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,6CAA6C;QAC7C,8BAA8B;QAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG;YAC7B,OAAO,EAAE,wBAAwB,OAAO,EAAE;YAC1C,WAAW,EAAE,6BAA6B,OAAO,GAAG;YACpD,SAAS,EAAE;gBACP,GAAG,EAAE;oBACD,WAAW,EAAE,qDAAqD;iBACrE;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,WAAW,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,WAAW,eAAe,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/strings/openapi.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;GAOG;AACH,MAAM,OAAO,GAAG,CAAO,KAAK,EAAE,WAAW,EAAE,EAAE;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACF,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,OAAO;SACnB;QACD,OAAO,EAAE;YACL;gBACI,GAAG,EAAE,aAAa;gBAClB,WAAW,EAAE,sBAAsB;aACtC;SACJ;QACD,KAAK,EAAE,EAAE;KACZ,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,6CAA6C;QAC7C,8BAA8B;QAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG;YAC7B,OAAO,EAAE,wBAAwB,OAAO,EAAE;YAC1C,WAAW,EAAE,6BAA6B,OAAO,GAAG;YACpD,SAAS,EAAE;gBACP,GAAG,EAAE;oBACD,WAAW,EAAE,qDAAqD;iBACrE;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,WAAW,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,WAAW,eAAe,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -9,6 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import chalk from "chalk";
|
|
11
11
|
import fs from "fs";
|
|
12
|
+
/**
|
|
13
|
+
* Permute URLs and paths, and write the results to a .txt file.
|
|
14
|
+
* @param {string[]} urls - The list of URLs to permute
|
|
15
|
+
* @param {string[]} paths - The list of paths to permute
|
|
16
|
+
* @param {string} output - The output file path
|
|
17
|
+
* @returns {Promise<void>} - A promise that resolves when the permutated URLs and paths are written to the output file
|
|
18
|
+
*/
|
|
12
19
|
const permutate = (urls, paths, output) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
20
|
console.log(chalk.cyan("[i] Permutating URLs and paths"));
|
|
14
21
|
let permutedUrls = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permutate.js","sourceRoot":"","sources":["../../src/strings/permutate.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAO,IAAc,EAAE,KAAe,EAAE,MAAc,EAAiB,EAAE;IACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,wBAAwB;IACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,qDAAqD;QACrD,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS;QACb,CAAC;QAED,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAEpC,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,yDAAyD;YACzD,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3B,kDAAkD;IAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,WAAM,CAAC,CAAA,CAAC;IACd,CAAC;IAED,cAAc;IACd,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1C,uBAAuB;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,GAAG,MAAM,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,MAAM,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,MAAM,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"permutate.js","sourceRoot":"","sources":["../../src/strings/permutate.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAO,IAAc,EAAE,KAAe,EAAE,MAAc,EAAiB,EAAE;IACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,wBAAwB;IACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,qDAAqD;QACrD,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS;QACb,CAAC;QAED,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAEpC,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,yDAAyD;YACzD,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3B,kDAAkD;IAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,WAAM,CAAC,CAAA,CAAC;IACd,CAAC;IAED,cAAc;IACd,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1C,uBAAuB;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,GAAG,MAAM,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,MAAM,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,MAAM,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
package/build/strings/secrets.js
CHANGED
|
@@ -71,6 +71,19 @@ const secret_patterns = {
|
|
|
71
71
|
"LinkedIn Secret Key": "(?:[Ll]inked[Ii]n)(?:.{0,20})?['\"][0-9a-zA-Z]{16}['\"]",
|
|
72
72
|
"MD5 Hash": "[a-f0-9]{32}",
|
|
73
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* Scans source code for potential secrets and sensitive information using regex patterns.
|
|
76
|
+
*
|
|
77
|
+
* This function searches through source code to identify various types of secrets including:
|
|
78
|
+
* - API keys (AWS, Google, Facebook, etc.)
|
|
79
|
+
* - OAuth tokens and access tokens
|
|
80
|
+
* - Private keys and certificates
|
|
81
|
+
* - Database credentials and connection strings
|
|
82
|
+
* - Authentication tokens and passwords
|
|
83
|
+
*
|
|
84
|
+
* @param source - The source code string to scan for secrets
|
|
85
|
+
* @returns Promise that resolves to an array of found secrets with their names and values
|
|
86
|
+
*/
|
|
74
87
|
const secrets = (source) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
88
|
const foundSecrets = [];
|
|
76
89
|
for (const [secretName, pattern] of Object.entries(secret_patterns)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/strings/secrets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/strings/secrets.ts"],"names":[],"mappings":"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"}
|
package/build/utility/ai.js
CHANGED
|
@@ -10,24 +10,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import OpenAI from "openai";
|
|
11
11
|
import { Ollama } from "ollama";
|
|
12
12
|
import * as globals from "./globals.js";
|
|
13
|
+
/**
|
|
14
|
+
* OpenAI client instance.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* This client is used to communicate with the OpenAI API.
|
|
18
|
+
* The base URL and API key are configurable via the
|
|
19
|
+
* `setAiEndpoint` and `setOpenaiApiKey` functions.
|
|
20
|
+
*/
|
|
13
21
|
const openai_client = new OpenAI({
|
|
14
22
|
baseURL: globals.getAiEndpoint() || "https://api.openai.com/v1",
|
|
15
23
|
apiKey: globals.getOpenaiApiKey(),
|
|
16
24
|
});
|
|
25
|
+
/**
|
|
26
|
+
* Ollama client instance.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* This client is used to communicate with the Ollama API.
|
|
30
|
+
* The host is configurable via the `setAiEndpoint` function.
|
|
31
|
+
*/
|
|
17
32
|
const ollama_client = new Ollama({
|
|
18
33
|
host: globals.getAiEndpoint() || "http://127.0.0.1:11434",
|
|
19
34
|
});
|
|
35
|
+
/**
|
|
36
|
+
* Returns an AI client instance based on the configured provider.
|
|
37
|
+
*
|
|
38
|
+
* @returns {Object} An object containing the AI client and the configured model.
|
|
39
|
+
*/
|
|
20
40
|
const ai = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
|
|
41
|
+
const model = globals.getAiModel();
|
|
22
42
|
const provider = globals.getAiServiceProvider();
|
|
23
43
|
if (provider === "openai") {
|
|
24
|
-
|
|
44
|
+
return { client: openai_client, model };
|
|
25
45
|
}
|
|
26
|
-
|
|
27
|
-
|
|
46
|
+
if (provider === "ollama") {
|
|
47
|
+
return { client: ollama_client, model };
|
|
28
48
|
}
|
|
29
|
-
|
|
49
|
+
throw new Error(`AI service provider "${provider}" is not supported or configured.`);
|
|
30
50
|
});
|
|
51
|
+
/**
|
|
52
|
+
* Asks an AI service provider to generate text based on a prompt.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} prompt The input prompt describing the desired text output.
|
|
55
|
+
* @param {string} [systemPrompt="You are a helpful assistant."] The system prompt guiding the overall tone and behavior.
|
|
56
|
+
* @returns {Promise<string>} The generated text produced for the prompt.
|
|
57
|
+
*/
|
|
31
58
|
function getCompletion(prompt_1) {
|
|
32
59
|
return __awaiter(this, arguments, void 0, function* (prompt, systemPrompt = "You are a helpful assistant.") {
|
|
33
60
|
var _a, _b, _c, _d;
|
|
@@ -37,6 +64,7 @@ function getCompletion(prompt_1) {
|
|
|
37
64
|
throw new Error(`AI service provider "${provider}" is not supported or configured.`);
|
|
38
65
|
}
|
|
39
66
|
if (provider === "openai") {
|
|
67
|
+
// @ts-ignore
|
|
40
68
|
const completion = yield client.responses.create({
|
|
41
69
|
input: [
|
|
42
70
|
{ role: "system", content: systemPrompt },
|
package/build/utility/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/utility/ai.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,2BAA2B;IAC/D,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE;CACpC,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,wBAAwB;CAC5D,CAAC,CAAC;AAEH,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/utility/ai.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,2BAA2B;IAC/D,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE;CACpC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,wBAAwB;CAC5D,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,EAAE,GAAG,GAA8D,EAAE;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAEhD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,mCAAmC,CAAC,CAAC;AACzF,CAAC,CAAA,CAAC;AAEF;;;;;;GAMG;AACH,SAAe,aAAa;yDAAC,MAAM,EAAE,YAAY,GAAG,8BAA8B;;QAC9E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,mCAAmC,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,aAAa;YACb,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE;oBACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;oBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;iBACpC;gBACD,KAAK,EAAE,KAAK,IAAI,aAAa;gBAC7B,WAAW,EAAE,GAAG;aACnB,CAAC,CAAC;YACH,OAAO,CAAA,MAAA,MAAA,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAG,CAAC,CAAC,0CAAE,OAAO,0CAAG,CAAC,CAAC,0CAAE,IAAI,KAAI,MAAM,CAAC;QACjE,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC;gBACtC,KAAK,EAAE,KAAK,IAAI,UAAU;gBAC1B,QAAQ,EAAE;oBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;oBACzC;wBACI,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,MAAM;qBAClB;iBACJ;gBACD,OAAO,EAAE;oBACL,WAAW,EAAE,GAAG;iBACnB;aACJ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;QAC9C,CAAC;IACL,CAAC;CAAA;AAED,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import * as globalsUtil from "./globals.js";
|
|
3
|
+
/**
|
|
4
|
+
* Configures the browser sandbox based on command-line flags and environment variables.
|
|
5
|
+
* @param cmd - The commander command object.
|
|
6
|
+
*/
|
|
7
|
+
const configureSandbox = (cmd) => {
|
|
8
|
+
if (process.env.IS_DOCKER === "true" || cmd.sandbox === false) {
|
|
9
|
+
globalsUtil.setDisableSandbox(true);
|
|
10
|
+
console.log(chalk.yellow(`[!] Disabling browser sandbox`));
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export default configureSandbox;
|
|
14
|
+
//# sourceMappingURL=configureSandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureSandbox.js","sourceRoot":"","sources":["../../src/utility/configureSandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5D,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/build/utility/globals.js
CHANGED
|
@@ -1,113 +1,283 @@
|
|
|
1
|
-
//
|
|
1
|
+
// API Gateway Configuration
|
|
2
|
+
/** Path to the API Gateway configuration file */
|
|
2
3
|
export let apiGatewayConfigFile = "";
|
|
4
|
+
/** Whether to use API Gateway for requests */
|
|
3
5
|
export let useApiGateway = false;
|
|
6
|
+
/**
|
|
7
|
+
* Sets the API Gateway configuration file path.
|
|
8
|
+
* @param file - Path to the API Gateway configuration file
|
|
9
|
+
*/
|
|
4
10
|
export const setApiGatewayConfigFile = (file) => {
|
|
5
11
|
apiGatewayConfigFile = file;
|
|
6
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Enables or disables the use of API Gateway.
|
|
15
|
+
* @param value - Whether to use API Gateway
|
|
16
|
+
*/
|
|
7
17
|
export const setUseApiGateway = (value) => {
|
|
8
18
|
useApiGateway = value;
|
|
9
19
|
};
|
|
10
|
-
//
|
|
20
|
+
// Response Cache Configuration
|
|
21
|
+
/** Whether response caching is disabled */
|
|
11
22
|
export let disableCache = false;
|
|
23
|
+
/** Path to the response cache file */
|
|
12
24
|
export let respCacheFile = ".resp_cache.json";
|
|
25
|
+
/**
|
|
26
|
+
* Disables or enables response caching.
|
|
27
|
+
* @param value - Whether to disable caching
|
|
28
|
+
*/
|
|
13
29
|
export const setDisableCache = (value) => {
|
|
14
30
|
disableCache = value;
|
|
15
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Sets the response cache file path.
|
|
34
|
+
* @param file - Path to the response cache file
|
|
35
|
+
*/
|
|
16
36
|
export const setRespCacheFile = (file) => {
|
|
17
37
|
respCacheFile = file;
|
|
18
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Gets the current cache disable status.
|
|
41
|
+
* @returns Whether caching is disabled
|
|
42
|
+
*/
|
|
19
43
|
export const getDisableCache = () => {
|
|
20
44
|
return disableCache;
|
|
21
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Gets the current response cache file path.
|
|
48
|
+
* @returns Path to the response cache file
|
|
49
|
+
*/
|
|
22
50
|
export const getRespCacheFile = () => {
|
|
23
51
|
return respCacheFile;
|
|
24
52
|
};
|
|
25
|
-
//
|
|
53
|
+
// Sandbox Configuration
|
|
54
|
+
/** Whether to disable the browser sandbox */
|
|
55
|
+
export let disableSandbox = false;
|
|
56
|
+
/**
|
|
57
|
+
* Sets the disable sandbox flag.
|
|
58
|
+
* @param value - Whether to disable the sandbox
|
|
59
|
+
*/
|
|
60
|
+
export const setDisableSandbox = (value) => {
|
|
61
|
+
disableSandbox = value;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Gets the current disable sandbox status.
|
|
65
|
+
* @returns Whether the sandbox is disabled
|
|
66
|
+
*/
|
|
67
|
+
export const getDisableSandbox = () => {
|
|
68
|
+
return disableSandbox;
|
|
69
|
+
};
|
|
70
|
+
// Auto-execution Configuration
|
|
71
|
+
/** Whether to auto-approve code execution */
|
|
26
72
|
export let yes = false;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the auto-approval flag for code execution.
|
|
75
|
+
* @param value - Whether to auto-approve code execution
|
|
76
|
+
*/
|
|
27
77
|
export const setYes = (value) => {
|
|
28
78
|
yes = value;
|
|
29
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Gets the current auto-approval status.
|
|
82
|
+
* @returns Whether auto-approval is enabled
|
|
83
|
+
*/
|
|
30
84
|
export const getYes = () => {
|
|
31
85
|
return yes;
|
|
32
86
|
};
|
|
33
|
-
//
|
|
87
|
+
// Request Timeout Configuration
|
|
88
|
+
/** Request timeout in milliseconds */
|
|
89
|
+
export let requestTimeout = 30000;
|
|
90
|
+
/**
|
|
91
|
+
* Sets the request timeout value.
|
|
92
|
+
* @param value - Timeout in milliseconds
|
|
93
|
+
*/
|
|
94
|
+
export const setRequestTimeout = (value) => {
|
|
95
|
+
requestTimeout = value;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Gets the current request timeout value.
|
|
99
|
+
* @returns Timeout in milliseconds
|
|
100
|
+
*/
|
|
101
|
+
export const getRequestTimeout = () => {
|
|
102
|
+
return requestTimeout;
|
|
103
|
+
};
|
|
104
|
+
// AI Configuration
|
|
105
|
+
/** Array of AI analysis options */
|
|
34
106
|
export let ai = [];
|
|
107
|
+
/** OpenAI API key */
|
|
35
108
|
export let openaiApiKey = "";
|
|
109
|
+
/** AI model to use for analysis */
|
|
36
110
|
export let aiModel = "gpt-4o-mini";
|
|
111
|
+
/** AI service provider (openai, ollama, etc.) */
|
|
37
112
|
export let aiServiceProvider = "openai";
|
|
113
|
+
/** Number of AI analysis threads */
|
|
38
114
|
export let aiThreads = 5;
|
|
115
|
+
/** Custom AI endpoint URL */
|
|
39
116
|
export let aiEndpoint = undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Sets the AI analysis options.
|
|
119
|
+
* @param value - Array of AI options (e.g., ['description'])
|
|
120
|
+
*/
|
|
40
121
|
export const setAi = (value) => {
|
|
41
122
|
ai = value;
|
|
42
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* Sets the OpenAI API key.
|
|
126
|
+
* @param value - OpenAI API key
|
|
127
|
+
*/
|
|
43
128
|
export const setOpenaiApiKey = (value) => {
|
|
44
129
|
openaiApiKey = value;
|
|
45
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Gets the current AI analysis options.
|
|
133
|
+
* @returns Array of AI options
|
|
134
|
+
*/
|
|
46
135
|
export const getAi = () => {
|
|
47
136
|
return ai;
|
|
48
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* Gets the OpenAI API key.
|
|
140
|
+
* @returns OpenAI API key
|
|
141
|
+
*/
|
|
49
142
|
export const getOpenaiApiKey = () => {
|
|
50
143
|
return openaiApiKey;
|
|
51
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* Gets the current AI model.
|
|
147
|
+
* @returns AI model identifier
|
|
148
|
+
*/
|
|
52
149
|
export const getAiModel = () => {
|
|
53
150
|
return aiModel;
|
|
54
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* Sets the AI model to use.
|
|
154
|
+
* @param value - AI model identifier
|
|
155
|
+
*/
|
|
55
156
|
export const setAiModel = (value) => {
|
|
56
157
|
aiModel = value;
|
|
57
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* Sets the number of AI analysis threads.
|
|
161
|
+
* @param value - Number of threads
|
|
162
|
+
*/
|
|
58
163
|
export const setAiThreads = (value) => {
|
|
59
164
|
aiThreads = value;
|
|
60
165
|
};
|
|
166
|
+
/**
|
|
167
|
+
* Gets the number of AI analysis threads.
|
|
168
|
+
* @returns Number of threads
|
|
169
|
+
*/
|
|
61
170
|
export const getAiThreads = () => {
|
|
62
171
|
return aiThreads;
|
|
63
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* Sets the AI service provider.
|
|
175
|
+
* @param value - Service provider identifier
|
|
176
|
+
*/
|
|
64
177
|
export const setAiServiceProvider = (value) => {
|
|
65
178
|
aiServiceProvider = value;
|
|
66
179
|
};
|
|
180
|
+
/**
|
|
181
|
+
* Gets the AI service provider.
|
|
182
|
+
* @returns Service provider identifier
|
|
183
|
+
*/
|
|
67
184
|
export const getAiServiceProvider = () => {
|
|
68
185
|
return aiServiceProvider;
|
|
69
186
|
};
|
|
187
|
+
/**
|
|
188
|
+
* Sets a custom AI endpoint URL.
|
|
189
|
+
* @param value - Custom endpoint URL
|
|
190
|
+
*/
|
|
70
191
|
export const setAiEndpoint = (value) => {
|
|
71
192
|
aiEndpoint = value;
|
|
72
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* Gets the custom AI endpoint URL.
|
|
196
|
+
* @returns Custom endpoint URL or undefined
|
|
197
|
+
*/
|
|
73
198
|
export const getAiEndpoint = () => {
|
|
74
199
|
return aiEndpoint;
|
|
75
200
|
};
|
|
76
|
-
//
|
|
201
|
+
// Technology Detection
|
|
202
|
+
/** Detected technology stack */
|
|
77
203
|
export let tech = "";
|
|
204
|
+
/**
|
|
205
|
+
* Sets the detected technology stack.
|
|
206
|
+
* @param value - Technology identifier (e.g., 'next', 'nuxt', 'svelte')
|
|
207
|
+
*/
|
|
78
208
|
export const setTech = (value) => {
|
|
79
209
|
tech = value;
|
|
80
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* Gets the currently detected technology stack.
|
|
213
|
+
* @returns Technology identifier
|
|
214
|
+
*/
|
|
81
215
|
export const getTech = () => {
|
|
82
216
|
return tech;
|
|
83
217
|
};
|
|
84
|
-
//
|
|
218
|
+
// OpenAPI Configuration
|
|
219
|
+
/** Whether to generate OpenAPI specifications */
|
|
85
220
|
export let openapi = false;
|
|
221
|
+
/** Output file path for OpenAPI specifications */
|
|
86
222
|
export let openapiOutputFile = "mapped-openapi.json";
|
|
223
|
+
/**
|
|
224
|
+
* Enables or disables OpenAPI specification generation.
|
|
225
|
+
* @param value - Whether to generate OpenAPI specs
|
|
226
|
+
*/
|
|
87
227
|
export const setOpenapi = (value) => {
|
|
88
228
|
openapi = value;
|
|
89
229
|
};
|
|
230
|
+
/**
|
|
231
|
+
* Gets the OpenAPI generation status.
|
|
232
|
+
* @returns Whether OpenAPI generation is enabled
|
|
233
|
+
*/
|
|
90
234
|
export const getOpenapi = () => {
|
|
91
235
|
return openapi;
|
|
92
236
|
};
|
|
237
|
+
/**
|
|
238
|
+
* Sets the OpenAPI output file path.
|
|
239
|
+
* @param value - Path to the OpenAPI output file
|
|
240
|
+
*/
|
|
93
241
|
export const setOpenapiOutputFile = (value) => {
|
|
94
242
|
openapiOutputFile = value;
|
|
95
243
|
};
|
|
244
|
+
/**
|
|
245
|
+
* Gets the OpenAPI output file path.
|
|
246
|
+
* @returns Path to the OpenAPI output file
|
|
247
|
+
*/
|
|
96
248
|
export const getOpenapiOutputFile = () => {
|
|
97
249
|
return openapiOutputFile;
|
|
98
250
|
};
|
|
251
|
+
/** Array of OpenAPI output items */
|
|
99
252
|
export let openapiOutput = [];
|
|
253
|
+
/**
|
|
254
|
+
* Adds an item to the OpenAPI output collection.
|
|
255
|
+
* @param value - OpenAPI output item to add
|
|
256
|
+
*/
|
|
100
257
|
export const addOpenapiOutput = (value) => {
|
|
101
258
|
openapiOutput.push(value);
|
|
102
259
|
};
|
|
260
|
+
/**
|
|
261
|
+
* Gets the current OpenAPI output collection.
|
|
262
|
+
* @returns Array of OpenAPI output items
|
|
263
|
+
*/
|
|
103
264
|
export const getOpenapiOutput = () => {
|
|
104
265
|
return openapiOutput;
|
|
105
266
|
};
|
|
106
|
-
//
|
|
267
|
+
// OpenAPI Chunk Tag Configuration
|
|
268
|
+
/** Whether to add chunk ID tags to OpenAPI specifications */
|
|
107
269
|
export let openapiChunkTag = false;
|
|
270
|
+
/**
|
|
271
|
+
* Enables or disables chunk ID tags in OpenAPI specs.
|
|
272
|
+
* @param value - Whether to add chunk ID tags
|
|
273
|
+
*/
|
|
108
274
|
export const setOpenapiChunkTag = (value) => {
|
|
109
275
|
openapiChunkTag = value;
|
|
110
276
|
};
|
|
277
|
+
/**
|
|
278
|
+
* Gets the chunk tag configuration status.
|
|
279
|
+
* @returns Whether chunk ID tags are enabled
|
|
280
|
+
*/
|
|
111
281
|
export const getOpenapiChunkTag = () => {
|
|
112
282
|
return openapiChunkTag;
|
|
113
283
|
};
|