@js-recon/js-recon 1.4.4 → 2.0.1-alpha.1
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/.claude-sync/sync.sh +1 -1
- package/.github/workflows/build-and-prettify.yaml +49 -19
- package/.github/workflows/codeql.yml +33 -0
- package/.github/workflows/exploit-smoke-test.yaml +160 -0
- package/.github/workflows/framework-detection-smoke-test.yaml +135 -0
- package/.github/workflows/plumber.yml +20 -0
- package/.github/workflows/promote-js-recon.yml +5 -3
- package/.github/workflows/publish-js-recon.yml +6 -1
- package/.github/workflows/rules-smoke-test.yaml +13 -5
- package/.nvmrc +1 -0
- package/.plumber.yaml +151 -0
- package/CHANGELOG.md +35 -0
- package/CONTRIBUTING.md +32 -0
- package/Dockerfile +1 -0
- package/README.md +3 -2
- package/SECURITY.md +1 -1
- package/build/analyze/engine/astEngine.js +10 -9
- package/build/analyze/engine/astEngine.js.map +1 -1
- package/build/analyze/engine/csMastSEngine.js +6 -6
- package/build/analyze/engine/csMastSEngine.js.map +1 -1
- package/build/analyze/engine/index.js +1 -1
- package/build/analyze/engine/index.js.map +1 -1
- package/build/analyze/engine/requestEngine.js +6 -6
- package/build/analyze/engine/requestEngine.js.map +1 -1
- package/build/analyze/helpers/determineCompatibleVersion.js +70 -0
- package/build/analyze/helpers/determineCompatibleVersion.js.map +1 -0
- package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js +9 -3
- package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
- package/build/analyze/helpers/initRules.js +9 -9
- package/build/analyze/helpers/initRules.js.map +1 -1
- package/build/analyze/helpers/outputHelper.js +3 -3
- package/build/analyze/helpers/outputHelper.js.map +1 -1
- package/build/analyze/helpers/schemas.js +1 -0
- package/build/analyze/helpers/schemas.js.map +1 -1
- package/build/analyze/helpers/validate.js +9 -5
- package/build/analyze/helpers/validate.js.map +1 -1
- package/build/analyze/index.js +26 -16
- package/build/analyze/index.js.map +1 -1
- package/build/cliProgram.js +710 -0
- package/build/cliProgram.js.map +1 -0
- package/build/completion/index.js +247 -382
- package/build/completion/index.js.map +1 -1
- package/build/completion/introspect.js +17 -0
- package/build/completion/introspect.js.map +1 -0
- package/build/config/applicationConfig.js +3 -2
- package/build/config/applicationConfig.js.map +1 -1
- package/build/cs_mast/index.js +18 -17
- package/build/cs_mast/index.js.map +1 -1
- package/build/endpoints/gen_report/gen_json.js +2 -2
- package/build/endpoints/gen_report/gen_json.js.map +1 -1
- package/build/endpoints/gen_report/utility/iterate_n_store.js +1 -1
- package/build/endpoints/gen_report/utility/iterate_n_store.js.map +1 -1
- package/build/endpoints/index.js +12 -12
- package/build/endpoints/index.js.map +1 -1
- package/build/endpoints/next_js/client_jsFilesHref.js +3 -3
- package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
- package/build/endpoints/next_js/client_jsonParse.js +4 -4
- package/build/endpoints/next_js/client_jsonParse.js.map +1 -1
- package/build/endpoints/next_js/client_mappedJsonFile.js +6 -6
- package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
- package/build/endpoints/next_js/client_subsequentRequests.js +5 -5
- package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
- package/build/exploit/angular/cve-2026-68945.js +61 -0
- package/build/exploit/angular/cve-2026-68945.js.map +1 -0
- package/build/exploit/index.js +60 -0
- package/build/exploit/index.js.map +1 -0
- package/build/exploit/next/cve-2025-29927.js +65 -0
- package/build/exploit/next/cve-2025-29927.js.map +1 -0
- package/build/exploit/next/cve-2026-64645.js +51 -0
- package/build/exploit/next/cve-2026-64645.js.map +1 -0
- package/build/exploit/nuxt/cve-2026-71315.js +47 -0
- package/build/exploit/nuxt/cve-2026-71315.js.map +1 -0
- package/build/exploit/nuxt/cve-2026-71320.js +114 -0
- package/build/exploit/nuxt/cve-2026-71320.js.map +1 -0
- package/build/exploit/react/cve-2025-55182.js +116 -0
- package/build/exploit/react/cve-2025-55182.js.map +1 -0
- package/build/exploit/registry/cveRegistry.js +115 -0
- package/build/exploit/registry/cveRegistry.js.map +1 -0
- package/build/exploit/types.js +2 -0
- package/build/exploit/types.js.map +1 -0
- package/build/exploit/utility/compareResponses.js +29 -0
- package/build/exploit/utility/compareResponses.js.map +1 -0
- package/build/exploit/utility/outputHelper.js +22 -0
- package/build/exploit/utility/outputHelper.js.map +1 -0
- package/build/exploit/utility/rawRequest.js +54 -0
- package/build/exploit/utility/rawRequest.js.map +1 -0
- package/build/exploit/utility/sandboxRce.js +49 -0
- package/build/exploit/utility/sandboxRce.js.map +1 -0
- package/build/exploit/utility/toEngineOutput.js +28 -0
- package/build/exploit/utility/toEngineOutput.js.map +1 -0
- package/build/exploit/utility/wsClient.js +78 -0
- package/build/exploit/utility/wsClient.js.map +1 -0
- package/build/exploit/vite/cve-2025-30208.js +44 -0
- package/build/exploit/vite/cve-2025-30208.js.map +1 -0
- package/build/exploit/vite/cve-2026-39363.js +60 -0
- package/build/exploit/vite/cve-2026-39363.js.map +1 -0
- package/build/fingerprint/index.js +3 -2
- package/build/fingerprint/index.js.map +1 -1
- package/build/globalConfig.js +2 -2
- package/build/globalConfig.js.map +1 -1
- package/build/index.js +5 -596
- package/build/index.js.map +1 -1
- package/build/lazyLoad/angular/angular_getFromPageSource.js +3 -3
- package/build/lazyLoad/angular/angular_getFromPageSource.js.map +1 -1
- package/build/lazyLoad/downloadFilesUtil.js +14 -11
- package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
- package/build/lazyLoad/downloadQueue.js +5 -1
- package/build/lazyLoad/downloadQueue.js.map +1 -1
- package/build/lazyLoad/downloadResponse.js +1 -0
- package/build/lazyLoad/downloadResponse.js.map +1 -1
- package/build/lazyLoad/generic/generic_crawlPages.js +186 -0
- package/build/lazyLoad/generic/generic_crawlPages.js.map +1 -0
- package/build/lazyLoad/generic/generic_downloadFiles.js +81 -0
- package/build/lazyLoad/generic/generic_downloadFiles.js.map +1 -0
- package/build/lazyLoad/generic/generic_extractLinks.js +79 -0
- package/build/lazyLoad/generic/generic_extractLinks.js.map +1 -0
- package/build/lazyLoad/generic/generic_getScriptTags.js +152 -0
- package/build/lazyLoad/generic/generic_getScriptTags.js.map +1 -0
- package/build/lazyLoad/generic/generic_importMapDiscovery.js +87 -0
- package/build/lazyLoad/generic/generic_importMapDiscovery.js.map +1 -0
- package/build/lazyLoad/generic/generic_resolveScope.js +61 -0
- package/build/lazyLoad/generic/generic_resolveScope.js.map +1 -0
- package/build/lazyLoad/generic/generic_scanAttributesForJs.js +122 -0
- package/build/lazyLoad/generic/generic_scanAttributesForJs.js.map +1 -0
- package/build/lazyLoad/generic/generic_stringsDiscovery.js +103 -0
- package/build/lazyLoad/generic/generic_stringsDiscovery.js.map +1 -0
- package/build/lazyLoad/generic/generic_webpackChunkPaths.js +56 -0
- package/build/lazyLoad/generic/generic_webpackChunkPaths.js.map +1 -0
- package/build/lazyLoad/globals.js +31 -0
- package/build/lazyLoad/globals.js.map +1 -1
- package/build/lazyLoad/index.js +129 -66
- package/build/lazyLoad/index.js.map +1 -1
- package/build/lazyLoad/methodFilter.js +2 -0
- package/build/lazyLoad/methodFilter.js.map +1 -1
- package/build/lazyLoad/next_js/NextJsCrawler.js +38 -14
- package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetJSScript.js +3 -3
- package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js +4 -4
- package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +13 -11
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_SubsequentRequests.js +7 -6
- package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +1 -1
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
- package/build/lazyLoad/next_js/next_buildId.js +2 -2
- package/build/lazyLoad/next_js/next_buildId.js.map +1 -1
- package/build/lazyLoad/next_js/next_getClientSidePaths.js +2 -2
- package/build/lazyLoad/next_js/next_getClientSidePaths.js.map +1 -1
- package/build/lazyLoad/next_js/next_parseLayoutJs.js +6 -6
- package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_promiseResolve.js +1 -1
- package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
- package/build/lazyLoad/next_js/next_routerStateForge.js +341 -0
- package/build/lazyLoad/next_js/next_routerStateForge.js.map +1 -0
- package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +1 -1
- package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
- package/build/lazyLoad/next_js/next_serverActionIdScan.js +77 -0
- package/build/lazyLoad/next_js/next_serverActionIdScan.js.map +1 -0
- package/build/lazyLoad/nuxt_js/nuxt_astParse.js +15 -13
- package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js +2 -2
- package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +3 -3
- package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +2 -2
- package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
- package/build/lazyLoad/react/react_webpackChunkPaths.js +10 -202
- package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -1
- package/build/lazyLoad/researchUtils.js +15 -0
- package/build/lazyLoad/researchUtils.js.map +1 -0
- package/build/lazyLoad/shared/webpackChunkParsers.js +218 -0
- package/build/lazyLoad/shared/webpackChunkParsers.js.map +1 -0
- package/build/lazyLoad/stagnation/stagnationMonitor.js +63 -0
- package/build/lazyLoad/stagnation/stagnationMonitor.js.map +1 -0
- package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js +1 -0
- package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_getFromPageSource.js +5 -5
- package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_getVersionJson.js +2 -2
- package/build/lazyLoad/svelte/svelte_getVersionJson.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js +6 -6
- package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js.map +1 -1
- package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +2 -2
- package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
- package/build/lazyLoad/techDetect/checkAngularJS.js +1 -1
- package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -1
- package/build/lazyLoad/techDetect/checkNuxtJS.js +3 -3
- package/build/lazyLoad/techDetect/checkNuxtJS.js.map +1 -1
- package/build/lazyLoad/techDetect/checkSvelte.js +0 -1
- package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -1
- package/build/lazyLoad/techDetect/checkVueJS.js +6 -6
- package/build/lazyLoad/techDetect/checkVueJS.js.map +1 -1
- package/build/lazyLoad/techDetect/index.js +13 -1
- package/build/lazyLoad/techDetect/index.js.map +1 -1
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +2 -2
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
- package/build/lazyLoad/vue/vue_discoverJsFiles.js +12 -10
- package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
- package/build/lazyLoad/vue/vue_getClientSidePaths.js +1 -1
- package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
- package/build/lazyLoad/vue/vue_pageSrc.js +1 -1
- package/build/lazyLoad/vue/vue_pageSrc.js.map +1 -1
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +2 -2
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +2 -2
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
- package/build/lazyLoad/vue/vue_severalJsFilesHome.js +3 -3
- package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -1
- package/build/load/index.js +8 -7
- package/build/load/index.js.map +1 -1
- package/build/map/angular_js/getAngularConnections.js +6 -6
- package/build/map/angular_js/getAngularConnections.js.map +1 -1
- package/build/map/graphql/resolveGraphql.js +6 -6
- package/build/map/graphql/resolveGraphql.js.map +1 -1
- package/build/map/index.js +17 -17
- package/build/map/index.js.map +1 -1
- package/build/map/interactive-mode/commandHandler.js +278 -0
- package/build/map/interactive-mode/commandHandler.js.map +1 -0
- package/build/map/interactive-mode/commandHelpers.js +189 -0
- package/build/map/interactive-mode/commandHelpers.js.map +1 -0
- package/build/map/interactive-mode/esqueryGen.js.map +1 -0
- package/build/map/interactive-mode/helpMenu.js +11 -0
- package/build/map/interactive-mode/helpMenu.js.map +1 -0
- package/build/map/interactive-mode/inputPatch.js.map +1 -0
- package/build/map/interactive-mode/interactive.js +71 -0
- package/build/map/interactive-mode/interactive.js.map +1 -0
- package/build/map/interactive-mode/keybindings.js.map +1 -0
- package/build/map/interactive-mode/printer.js.map +1 -0
- package/build/map/interactive-mode/ui.js.map +1 -0
- package/build/map/next_js/getAxiosInstances.js +5 -5
- package/build/map/next_js/getAxiosInstances.js.map +1 -1
- package/build/map/next_js/getExports.js +4 -4
- package/build/map/next_js/getExports.js.map +1 -1
- package/build/map/next_js/getFetchInstances.js +10 -10
- package/build/map/next_js/getFetchInstances.js.map +1 -1
- package/build/map/next_js/getTurbopackConnections.js +8 -8
- package/build/map/next_js/getTurbopackConnections.js.map +1 -1
- package/build/map/next_js/getWebpackConnections.js +27 -16
- package/build/map/next_js/getWebpackConnections.js.map +1 -1
- package/build/map/next_js/interactive.js +3 -65
- package/build/map/next_js/interactive.js.map +1 -1
- package/build/map/next_js/interactive_helpers/commandHandler.js +38 -290
- package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -1
- package/build/map/next_js/interactive_helpers/commandHelpers.js +0 -184
- package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
- package/build/map/next_js/interactive_helpers/helpMenu.js +2 -10
- package/build/map/next_js/interactive_helpers/helpMenu.js.map +1 -1
- package/build/map/next_js/resolveAxios.js +6 -6
- package/build/map/next_js/resolveAxios.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js +4 -4
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js +2 -2
- package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +5 -5
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +10 -10
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js +13 -9
- package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +12 -8
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +12 -8
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js +11 -11
- package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +16 -16
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -1
- package/build/map/next_js/resolveFetch.js +23 -23
- package/build/map/next_js/resolveFetch.js.map +1 -1
- package/build/map/next_js/resolveNewRequest.js +10 -10
- package/build/map/next_js/resolveNewRequest.js.map +1 -1
- package/build/map/next_js/resolveServerActions.js +4 -4
- package/build/map/next_js/resolveServerActions.js.map +1 -1
- package/build/map/next_js/utils.js +8 -2
- package/build/map/next_js/utils.js.map +1 -1
- package/build/map/react_js/getReactConnections.js +21 -14
- package/build/map/react_js/getReactConnections.js.map +1 -1
- package/build/map/svelte_js/interactive.js +3 -54
- package/build/map/svelte_js/interactive.js.map +1 -1
- package/build/map/vue_js/getViteConnections.js +23 -16
- package/build/map/vue_js/getViteConnections.js.map +1 -1
- package/build/map/vue_js/interactive.js +3 -63
- package/build/map/vue_js/interactive.js.map +1 -1
- package/build/map/vue_js/interactive_helpers/commandHandler.js +34 -283
- package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -1
- package/build/map/vue_js/interactive_helpers/helpMenu.js +2 -10
- package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -1
- package/build/map/vue_js/taint_utils.js +1 -1
- package/build/map/vue_js/taint_utils.js.map +1 -1
- package/build/map/vue_js/vue_resolveFetch.js +12 -12
- package/build/map/vue_js/vue_resolveFetch.js.map +1 -1
- package/build/map/vue_js/vue_resolveHttpClient.js +18 -18
- package/build/map/vue_js/vue_resolveHttpClient.js.map +1 -1
- package/build/map/vue_js/vue_resolveXhr.js +11 -11
- package/build/map/vue_js/vue_resolveXhr.js.map +1 -1
- package/build/mcp/chatOneShot.js +7 -7
- package/build/mcp/chatOneShot.js.map +1 -1
- package/build/mcp/claudeCodeCreds.js +5 -5
- package/build/mcp/claudeCodeCreds.js.map +1 -1
- package/build/mcp/cli.js +36 -35
- package/build/mcp/cli.js.map +1 -1
- package/build/mcp/config.js +4 -4
- package/build/mcp/config.js.map +1 -1
- package/build/mcp/index.js +7 -7
- package/build/mcp/index.js.map +1 -1
- package/build/mcp/mcpServer.js +3 -2
- package/build/mcp/mcpServer.js.map +1 -1
- package/build/mcp/skills.js +1 -0
- package/build/mcp/skills.js.map +1 -1
- package/build/mcp/tools.js +5 -4
- package/build/mcp/tools.js.map +1 -1
- package/build/proxy/detectBlockedResponse.js +2 -0
- package/build/proxy/detectBlockedResponse.js.map +1 -1
- package/build/proxy/index.js +3 -3
- package/build/proxy/index.js.map +1 -1
- package/build/refactor/index.js +83 -79
- package/build/refactor/index.js.map +1 -1
- package/build/refactor/next/index.js +69 -26
- package/build/refactor/next/index.js.map +1 -1
- package/build/refactor/next/transform.js +11 -4
- package/build/refactor/next/transform.js.map +1 -1
- package/build/refactor/next/validator.js +7 -7
- package/build/refactor/next/validator.js.map +1 -1
- package/build/refactor/react/index.js +13 -13
- package/build/refactor/react/index.js.map +1 -1
- package/build/refactor/react/validator.js +7 -7
- package/build/refactor/react/validator.js.map +1 -1
- package/build/refactor/react-vite/index.js +3 -3
- package/build/refactor/react-vite/index.js.map +1 -1
- package/build/refactor/remote/hf-client.js +1 -0
- package/build/refactor/remote/hf-client.js.map +1 -1
- package/build/refactor/remote/version-detect.js +12 -12
- package/build/refactor/remote/version-detect.js.map +1 -1
- package/build/refactor/vue/index.js +6 -6
- package/build/refactor/vue/index.js.map +1 -1
- package/build/refactor/vue/vite.js +6 -6
- package/build/refactor/vue/vite.js.map +1 -1
- package/build/report/index.js +30 -8
- package/build/report/index.js.map +1 -1
- package/build/report/swaggerJacker.js +63 -0
- package/build/report/swaggerJacker.js.map +1 -0
- package/build/report/utility/genHtml.js +7 -7
- package/build/report/utility/genHtml.js.map +1 -1
- package/build/report/utility/populateDb/populateAnalysisFindings.js +2 -2
- package/build/report/utility/populateDb/populateAnalysisFindings.js.map +1 -1
- package/build/report/utility/populateDb/populateEndpoints.js +3 -3
- package/build/report/utility/populateDb/populateEndpoints.js.map +1 -1
- package/build/report/utility/populateDb/populateMappedJson.js +2 -2
- package/build/report/utility/populateDb/populateMappedJson.js.map +1 -1
- package/build/report/utility/populateDb/populateMappedOpenapi.js +3 -3
- package/build/report/utility/populateDb/populateMappedOpenapi.js.map +1 -1
- package/build/run/bundler-detect.js +45 -9
- package/build/run/bundler-detect.js.map +1 -1
- package/build/run/dashboard/dashboardHtml.js +150 -0
- package/build/run/dashboard/dashboardHtml.js.map +1 -0
- package/build/run/dashboard/fsBrowser.js +43 -0
- package/build/run/dashboard/fsBrowser.js.map +1 -0
- package/build/run/dashboard/server.js +123 -0
- package/build/run/dashboard/server.js.map +1 -0
- package/build/run/dashboard/state.js +97 -0
- package/build/run/dashboard/state.js.map +1 -0
- package/build/run/index.js +177 -110
- package/build/run/index.js.map +1 -1
- package/build/run/interruptHandler.js +18 -0
- package/build/run/interruptHandler.js.map +1 -1
- package/build/sourcemaps/index.js +7 -6
- package/build/sourcemaps/index.js.map +1 -1
- package/build/strings/index.js +27 -24
- package/build/strings/index.js.map +1 -1
- package/build/strings/openapi.js +4 -4
- package/build/strings/openapi.js.map +1 -1
- package/build/strings/permutate.js +4 -4
- package/build/strings/permutate.js.map +1 -1
- package/build/strings/secrets.js +1 -0
- package/build/strings/secrets.js.map +1 -1
- package/build/strings/trufflehog.js +66 -19
- package/build/strings/trufflehog.js.map +1 -1
- package/build/strings/trufflehogConfig.js +36 -0
- package/build/strings/trufflehogConfig.js.map +1 -0
- package/build/strings/trufflehogDownload.js +115 -0
- package/build/strings/trufflehogDownload.js.map +1 -0
- package/build/utility/ai.js +33 -4
- package/build/utility/ai.js.map +1 -1
- package/build/utility/banner.js +4 -3
- package/build/utility/banner.js.map +1 -1
- package/build/utility/configureSandbox.js +2 -2
- package/build/utility/configureSandbox.js.map +1 -1
- package/build/utility/globals.js +19 -11
- package/build/utility/globals.js.map +1 -1
- package/build/utility/heap.js +2 -1
- package/build/utility/heap.js.map +1 -1
- package/build/utility/makeReq.js +1 -1
- package/build/utility/makeReq.js.map +1 -1
- package/build/utility/openapiGenerator.js +2 -2
- package/build/utility/openapiGenerator.js.map +1 -1
- package/build/utility/printMsg.js +53 -0
- package/build/utility/printMsg.js.map +1 -0
- package/build/utility/progressLog.js +4 -3
- package/build/utility/progressLog.js.map +1 -1
- package/build/utility/resolvePath.js +2 -1
- package/build/utility/resolvePath.js.map +1 -1
- package/build/utility/ruleVersionMap.js +73 -0
- package/build/utility/ruleVersionMap.js.map +1 -0
- package/contributing/testing.md +106 -0
- package/eslint.config.js +24 -0
- package/package.json +22 -5
- package/scripts/exploit-smoke-test.js +82 -0
- package/scripts/framework-detect-smoke-test.js +64 -0
- package/scripts/postinstall-completion.mjs +40 -0
- package/scripts/smoke-test.js +12 -0
- package/build/lazyLoad/downloadLoadedJsUtil.js +0 -98
- package/build/lazyLoad/downloadLoadedJsUtil.js.map +0 -1
- package/build/map/next_js/interactive_helpers/esqueryGen.js.map +0 -1
- package/build/map/next_js/interactive_helpers/inputPatch.js.map +0 -1
- package/build/map/next_js/interactive_helpers/keybindings.js.map +0 -1
- package/build/map/next_js/interactive_helpers/printer.js.map +0 -1
- package/build/map/next_js/interactive_helpers/ui.js.map +0 -1
- /package/build/map/{next_js/interactive_helpers → interactive-mode}/esqueryGen.js +0 -0
- /package/build/map/{next_js/interactive_helpers → interactive-mode}/inputPatch.js +0 -0
- /package/build/map/{next_js/interactive_helpers → interactive-mode}/keybindings.js +0 -0
- /package/build/map/{next_js/interactive_helpers → interactive-mode}/printer.js +0 -0
- /package/build/map/{next_js/interactive_helpers → interactive-mode}/ui.js +0 -0
|
@@ -1,30 +1,77 @@
|
|
|
1
|
-
|
|
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
|
+
};
|
|
2
10
|
import { execSync, spawn } from "child_process";
|
|
3
|
-
|
|
11
|
+
import inquirer from "inquirer";
|
|
12
|
+
import { printMsg, MSG } from "../utility/printMsg.js";
|
|
13
|
+
import { downloadTrufflehog } from "./trufflehogDownload.js";
|
|
14
|
+
import { isConsentGiven, giveConsent } from "./trufflehogConfig.js";
|
|
15
|
+
const isTrufflehogInstalled = (bin) => {
|
|
4
16
|
try {
|
|
5
|
-
execSync(
|
|
17
|
+
execSync(`which ${bin}`, { stdio: "pipe" });
|
|
6
18
|
return true;
|
|
7
19
|
}
|
|
8
20
|
catch (_a) {
|
|
9
21
|
return false;
|
|
10
22
|
}
|
|
11
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Resolves the trufflehog binary to invoke: an explicit `--trufflehog-bin`/PATH binary if
|
|
26
|
+
* present, otherwise auto-downloads from TruffleHog's official GitHub releases after
|
|
27
|
+
* obtaining one-time consent (interactive prompt, or `--trufflehog-accept-terms` for CI).
|
|
28
|
+
*/
|
|
29
|
+
const resolveTrufflehogBin = (trufflehogBin, acceptTerms) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
if (isTrufflehogInstalled(trufflehogBin)) {
|
|
31
|
+
return trufflehogBin;
|
|
32
|
+
}
|
|
33
|
+
if (!isConsentGiven()) {
|
|
34
|
+
if (acceptTerms) {
|
|
35
|
+
giveConsent();
|
|
36
|
+
}
|
|
37
|
+
else if (process.stdin.isTTY) {
|
|
38
|
+
printMsg(MSG.Header, "[i] --trufflehog was set but the trufflehog binary was not found.");
|
|
39
|
+
printMsg(MSG.Warn, " JS Recon can download it directly from trufflesecurity/trufflehog's official GitHub releases");
|
|
40
|
+
printMsg(MSG.Warn, " and run it as a separate process. TruffleHog is licensed under AGPL-3.0.");
|
|
41
|
+
const { confirmed } = yield inquirer.prompt([
|
|
42
|
+
{
|
|
43
|
+
type: "confirm",
|
|
44
|
+
name: "confirmed",
|
|
45
|
+
message: "Download and run TruffleHog?",
|
|
46
|
+
default: true,
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
if (!confirmed) {
|
|
50
|
+
printMsg(MSG.Err, "[!] TruffleHog download declined.");
|
|
51
|
+
printMsg(MSG.Warn, " Re-run with --trufflehog-accept-terms, or point --trufflehog-bin at an existing install.");
|
|
52
|
+
process.exit(32);
|
|
53
|
+
}
|
|
54
|
+
giveConsent();
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
printMsg(MSG.Err, "[!] trufflehog not found and terms not accepted.");
|
|
58
|
+
printMsg(MSG.Warn, " Re-run with --trufflehog-accept-terms to allow auto-download in non-interactive contexts,");
|
|
59
|
+
printMsg(MSG.Warn, " or point --trufflehog-bin at an existing install.");
|
|
60
|
+
process.exit(32);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return downloadTrufflehog(process.env.HOME || "~");
|
|
64
|
+
});
|
|
12
65
|
const maskSecret = (value) => {
|
|
13
66
|
if (!value || value.length <= 4)
|
|
14
67
|
return "****";
|
|
15
68
|
return value.slice(0, 4) + "****";
|
|
16
69
|
};
|
|
17
|
-
export const runTrufflehog = (
|
|
70
|
+
export const runTrufflehog = (directory_1, ...args_1) => __awaiter(void 0, [directory_1, ...args_1], void 0, function* (directory, trufflehogBin = "trufflehog", acceptTerms = false) {
|
|
71
|
+
const resolvedBin = yield resolveTrufflehogBin(trufflehogBin, acceptTerms);
|
|
18
72
|
return new Promise((resolve) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
console.error(chalk.yellow(" Install: curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh"));
|
|
22
|
-
console.error(chalk.yellow(" Or: brew install trufflehog"));
|
|
23
|
-
console.error(chalk.yellow(" Then re-run with --trufflehog."));
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
console.log(chalk.cyan("[i] Running TruffleHog on output directory"));
|
|
27
|
-
const proc = spawn("trufflehog", ["filesystem", directory, "--json", "--no-update"], {
|
|
73
|
+
printMsg(MSG.Header, "[i] Running TruffleHog on output directory");
|
|
74
|
+
const proc = spawn(resolvedBin, ["filesystem", directory, "--json", "--no-update"], {
|
|
28
75
|
stdio: ["ignore", "pipe", "pipe"],
|
|
29
76
|
});
|
|
30
77
|
let totalFindings = 0;
|
|
@@ -42,8 +89,8 @@ export const runTrufflehog = (directory) => {
|
|
|
42
89
|
const detector = (_c = (_b = finding.DetectorName) !== null && _b !== void 0 ? _b : finding.detectorName) !== null && _c !== void 0 ? _c : "Unknown";
|
|
43
90
|
const raw = (_e = (_d = finding.Raw) !== null && _d !== void 0 ? _d : finding.raw) !== null && _e !== void 0 ? _e : "";
|
|
44
91
|
const file = (_o = (_j = (_h = (_g = (_f = finding.SourceMetadata) === null || _f === void 0 ? void 0 : _f.Data) === null || _g === void 0 ? void 0 : _g.Filesystem) === null || _h === void 0 ? void 0 : _h.file) !== null && _j !== void 0 ? _j : (_m = (_l = (_k = finding.sourceMetadata) === null || _k === void 0 ? void 0 : _k.data) === null || _l === void 0 ? void 0 : _l.filesystem) === null || _m === void 0 ? void 0 : _m.file) !== null && _o !== void 0 ? _o : "unknown file";
|
|
45
|
-
|
|
46
|
-
|
|
92
|
+
printMsg(MSG.Run, `[✓] [trufflehog] ${detector} found in ${file}`);
|
|
93
|
+
printMsg(MSG.Run, ` → ${maskSecret(raw)}`);
|
|
47
94
|
totalFindings++;
|
|
48
95
|
}
|
|
49
96
|
catch (_p) {
|
|
@@ -54,18 +101,18 @@ export const runTrufflehog = (directory) => {
|
|
|
54
101
|
proc.stderr.on("data", (chunk) => {
|
|
55
102
|
const msg = chunk.toString().trim();
|
|
56
103
|
if (msg) {
|
|
57
|
-
|
|
104
|
+
printMsg(MSG.Warn, `[trufflehog] ${msg}`);
|
|
58
105
|
}
|
|
59
106
|
});
|
|
60
107
|
proc.on("close", () => {
|
|
61
108
|
if (totalFindings === 0) {
|
|
62
|
-
|
|
109
|
+
printMsg(MSG.Warn, "[!] TruffleHog found no secrets");
|
|
63
110
|
}
|
|
64
111
|
else {
|
|
65
|
-
|
|
112
|
+
printMsg(MSG.Run, `[✓] TruffleHog found ${totalFindings} secrets`);
|
|
66
113
|
}
|
|
67
114
|
resolve();
|
|
68
115
|
});
|
|
69
116
|
});
|
|
70
|
-
};
|
|
117
|
+
});
|
|
71
118
|
//# sourceMappingURL=trufflehog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trufflehog.js","sourceRoot":"","sources":["../../src/strings/trufflehog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"trufflehog.js","sourceRoot":"","sources":["../../src/strings/trufflehog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import YAML from "yaml";
|
|
4
|
+
const DEFAULT_CONFIG = {
|
|
5
|
+
terms_accepted: false,
|
|
6
|
+
};
|
|
7
|
+
const CONFIG_DIR = path.join(process.env.HOME || "~", ".js-recon");
|
|
8
|
+
const CONFIG_FILE = path.join(CONFIG_DIR, "trufflehog.yaml");
|
|
9
|
+
const ensureConfigDir = () => {
|
|
10
|
+
if (!fs.existsSync(CONFIG_DIR)) {
|
|
11
|
+
fs.mkdirSync(CONFIG_DIR, { recursive: true });
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const loadConfig = () => {
|
|
15
|
+
ensureConfigDir();
|
|
16
|
+
if (!fs.existsSync(CONFIG_FILE)) {
|
|
17
|
+
return Object.assign({}, DEFAULT_CONFIG);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const raw = fs.readFileSync(CONFIG_FILE, "utf-8");
|
|
21
|
+
const parsed = YAML.parse(raw);
|
|
22
|
+
return Object.assign(Object.assign({}, DEFAULT_CONFIG), parsed);
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
return Object.assign({}, DEFAULT_CONFIG);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const saveConfig = (config) => {
|
|
29
|
+
ensureConfigDir();
|
|
30
|
+
fs.writeFileSync(CONFIG_FILE, YAML.stringify(config), "utf-8");
|
|
31
|
+
};
|
|
32
|
+
export const isConsentGiven = () => loadConfig().terms_accepted;
|
|
33
|
+
export const giveConsent = () => {
|
|
34
|
+
saveConfig(Object.assign(Object.assign({}, loadConfig()), { terms_accepted: true }));
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=trufflehogConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trufflehogConfig.js","sourceRoot":"","sources":["../../src/strings/trufflehogConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,MAAM,cAAc,GAAqB;IACrC,cAAc,EAAE,KAAK;CACxB,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,WAAW,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAE7D,MAAM,eAAe,GAAG,GAAS,EAAE;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAqB,EAAE;IACtC,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,yBAAY,cAAc,EAAG;IACjC,CAAC;IAED,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;QAC5D,uCAAY,cAAc,GAAK,MAAM,EAAG;IAC5C,CAAC;IAAC,WAAM,CAAC;QACL,yBAAY,cAAc,EAAG;IACjC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAQ,EAAE;IAClD,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC;AAEzE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAS,EAAE;IAClC,UAAU,iCAAM,UAAU,EAAE,KAAE,cAAc,EAAE,IAAI,IAAG,CAAC;AAC1D,CAAC,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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 fs from "fs";
|
|
11
|
+
import path from "path";
|
|
12
|
+
import * as tar from "tar";
|
|
13
|
+
import { withActiveProxyDispatcher } from "../utility/makeReq.js";
|
|
14
|
+
import { printMsg, MSG } from "../utility/printMsg.js";
|
|
15
|
+
const TRUFFLEHOG_RELEASE_URL = "https://api.github.com/repos/trufflesecurity/trufflehog/releases/latest";
|
|
16
|
+
/**
|
|
17
|
+
* Maps Node's platform/arch identifiers to TruffleHog's GitHub release asset naming
|
|
18
|
+
* (e.g. `trufflehog_3.96.0_darwin_amd64.tar.gz`).
|
|
19
|
+
*
|
|
20
|
+
* @param platform - `process.platform` value
|
|
21
|
+
* @param arch - `process.arch` value
|
|
22
|
+
* @returns The `<os>_<arch>` fragment used in TruffleHog's release asset names
|
|
23
|
+
*/
|
|
24
|
+
export const resolveAssetName = (platform, arch) => {
|
|
25
|
+
const osMap = {
|
|
26
|
+
darwin: "darwin",
|
|
27
|
+
linux: "linux",
|
|
28
|
+
win32: "windows",
|
|
29
|
+
};
|
|
30
|
+
const archMap = {
|
|
31
|
+
x64: "amd64",
|
|
32
|
+
arm64: "arm64",
|
|
33
|
+
};
|
|
34
|
+
const os = osMap[platform];
|
|
35
|
+
const mappedArch = archMap[arch];
|
|
36
|
+
if (!os || !mappedArch) {
|
|
37
|
+
throw new Error(`Unsupported platform/arch for TruffleHog auto-download: ${platform}/${arch}`);
|
|
38
|
+
}
|
|
39
|
+
return `${os}_${mappedArch}`;
|
|
40
|
+
};
|
|
41
|
+
const fetchLatestTrufflehogRelease = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
const response = yield fetch(TRUFFLEHOG_RELEASE_URL, options);
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
throw new Error(`TruffleHog release lookup failed with HTTP ${response.status}`);
|
|
45
|
+
}
|
|
46
|
+
const release = (yield response.json());
|
|
47
|
+
if (typeof release !== "object" || release === null) {
|
|
48
|
+
throw new Error("TruffleHog release response was not an object");
|
|
49
|
+
}
|
|
50
|
+
const { tag_name: tagName, assets } = release;
|
|
51
|
+
if (typeof tagName !== "string" || !Array.isArray(assets)) {
|
|
52
|
+
throw new Error("TruffleHog release response is missing tag_name or assets");
|
|
53
|
+
}
|
|
54
|
+
const assetSuffix = resolveAssetName(process.platform, process.arch);
|
|
55
|
+
const asset = assets.find((a) => typeof a === "object" &&
|
|
56
|
+
a !== null &&
|
|
57
|
+
typeof a.name === "string" &&
|
|
58
|
+
a.name.includes(assetSuffix) &&
|
|
59
|
+
a.name.endsWith(".tar.gz"));
|
|
60
|
+
if (!asset || typeof asset.browser_download_url !== "string") {
|
|
61
|
+
throw new Error(`No TruffleHog release asset found for platform/arch "${assetSuffix}"`);
|
|
62
|
+
}
|
|
63
|
+
const parsedUrl = new URL(asset.browser_download_url);
|
|
64
|
+
if (parsedUrl.protocol !== "https:" ||
|
|
65
|
+
!["github.com", "objects.githubusercontent.com"].includes(parsedUrl.hostname)) {
|
|
66
|
+
throw new Error("TruffleHog release response contains an unexpected download URL");
|
|
67
|
+
}
|
|
68
|
+
return Object.freeze({ tagName, downloadUrl: parsedUrl.toString() });
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Downloads and caches the TruffleHog binary from its official GitHub releases.
|
|
72
|
+
*
|
|
73
|
+
* Fetches the latest release directly from `trufflesecurity/trufflehog` and extracts the
|
|
74
|
+
* platform-matching binary under `~/.js-recon/trufflehog/<version>/`. JS Recon never mirrors
|
|
75
|
+
* or hosts its own copy of the binary — every download resolves the asset URL from GitHub's
|
|
76
|
+
* release API at request time.
|
|
77
|
+
*
|
|
78
|
+
* @param homeDir - The user's home directory path
|
|
79
|
+
* @returns Absolute path to the cached (or freshly downloaded) trufflehog binary
|
|
80
|
+
*/
|
|
81
|
+
export const downloadTrufflehog = (homeDir) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
|
+
const trufflehogRoot = path.join(homeDir, ".js-recon", "trufflehog");
|
|
83
|
+
const binName = process.platform === "win32" ? "trufflehog.exe" : "trufflehog";
|
|
84
|
+
if (fs.existsSync(trufflehogRoot)) {
|
|
85
|
+
const cachedVersionDirs = fs.readdirSync(trufflehogRoot);
|
|
86
|
+
for (const versionDir of cachedVersionDirs) {
|
|
87
|
+
const cachedBin = path.join(trufflehogRoot, versionDir, binName);
|
|
88
|
+
if (fs.existsSync(cachedBin)) {
|
|
89
|
+
return cachedBin;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
printMsg(MSG.Header, "[i] TruffleHog not found. Downloading from GitHub...");
|
|
94
|
+
const buffer = yield withActiveProxyDispatcher((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
const release = yield fetchLatestTrufflehogRelease(options);
|
|
96
|
+
const downloadResponse = yield fetch(release.downloadUrl, options);
|
|
97
|
+
if (!downloadResponse.ok) {
|
|
98
|
+
throw new Error(`Failed to download TruffleHog: ${downloadResponse.statusText}`);
|
|
99
|
+
}
|
|
100
|
+
return { buffer: Buffer.from(yield downloadResponse.arrayBuffer()), tagName: release.tagName };
|
|
101
|
+
}));
|
|
102
|
+
const version = buffer.tagName.replace(/^v/, "");
|
|
103
|
+
const extractPath = path.join(trufflehogRoot, version);
|
|
104
|
+
fs.mkdirSync(extractPath, { recursive: true });
|
|
105
|
+
const tarPath = path.join(extractPath, "trufflehog.tar.gz");
|
|
106
|
+
fs.writeFileSync(tarPath, buffer.buffer);
|
|
107
|
+
printMsg(MSG.Header, "[i] Extracting TruffleHog...");
|
|
108
|
+
yield tar.x({ file: tarPath, cwd: extractPath });
|
|
109
|
+
fs.unlinkSync(tarPath);
|
|
110
|
+
const binPath = path.join(extractPath, binName);
|
|
111
|
+
fs.chmodSync(binPath, 0o755);
|
|
112
|
+
printMsg(MSG.Run, "[✓] TruffleHog downloaded successfully.");
|
|
113
|
+
return binPath;
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=trufflehogDownload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trufflehogDownload.js","sourceRoot":"","sources":["../../src/strings/trufflehogDownload.ts"],"names":[],"mappings":"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"}
|
package/build/utility/ai.js
CHANGED
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import OpenAI from "openai";
|
|
11
11
|
import { Ollama } from "ollama";
|
|
12
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
12
13
|
import * as globals from "./globals.js";
|
|
13
14
|
/**
|
|
14
15
|
* OpenAI client instance.
|
|
@@ -16,11 +17,11 @@ import * as globals from "./globals.js";
|
|
|
16
17
|
* @remarks
|
|
17
18
|
* This client is used to communicate with the OpenAI API.
|
|
18
19
|
* The base URL and API key are configurable via the
|
|
19
|
-
* `setAiEndpoint` and `
|
|
20
|
+
* `setAiEndpoint` and `setAiApiKey` functions.
|
|
20
21
|
*/
|
|
21
22
|
const openai_client = new OpenAI({
|
|
22
23
|
baseURL: globals.getAiEndpoint() || "https://api.openai.com/v1",
|
|
23
|
-
apiKey: globals.
|
|
24
|
+
apiKey: globals.getAiApiKey(),
|
|
24
25
|
});
|
|
25
26
|
/**
|
|
26
27
|
* Ollama client instance.
|
|
@@ -32,6 +33,16 @@ const openai_client = new OpenAI({
|
|
|
32
33
|
const ollama_client = new Ollama({
|
|
33
34
|
host: globals.getAiEndpoint() || "http://127.0.0.1:11434",
|
|
34
35
|
});
|
|
36
|
+
/**
|
|
37
|
+
* Anthropic client instance.
|
|
38
|
+
*
|
|
39
|
+
* @remarks
|
|
40
|
+
* This client is used to communicate with the Anthropic Messages API.
|
|
41
|
+
* The API key is configurable via the `setAiApiKey` function.
|
|
42
|
+
*/
|
|
43
|
+
const anthropic_client = new Anthropic({
|
|
44
|
+
apiKey: globals.getAiApiKey(),
|
|
45
|
+
});
|
|
35
46
|
/**
|
|
36
47
|
* Returns an AI client instance based on the configured provider.
|
|
37
48
|
*
|
|
@@ -46,6 +57,9 @@ const ai = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
46
57
|
if (provider === "ollama") {
|
|
47
58
|
return { client: ollama_client, model };
|
|
48
59
|
}
|
|
60
|
+
if (provider === "anthropic") {
|
|
61
|
+
return { client: anthropic_client, model };
|
|
62
|
+
}
|
|
49
63
|
throw new Error(`AI service provider "${provider}" is not supported or configured.`);
|
|
50
64
|
});
|
|
51
65
|
/**
|
|
@@ -64,7 +78,7 @@ function getCompletion(prompt_1) {
|
|
|
64
78
|
throw new Error(`AI service provider "${provider}" is not supported or configured.`);
|
|
65
79
|
}
|
|
66
80
|
if (provider === "openai") {
|
|
67
|
-
// @ts-
|
|
81
|
+
// @ts-expect-error -- openai SDK types don't yet cover the Responses API shape used here
|
|
68
82
|
const completion = yield client.responses.create({
|
|
69
83
|
input: [
|
|
70
84
|
{ role: "system", content: systemPrompt },
|
|
@@ -91,7 +105,22 @@ function getCompletion(prompt_1) {
|
|
|
91
105
|
});
|
|
92
106
|
return response.message.content || "none";
|
|
93
107
|
}
|
|
108
|
+
if (provider === "anthropic") {
|
|
109
|
+
// @ts-expect-error -- openai SDK types don't yet cover the Responses API shape used here
|
|
110
|
+
const response = yield client.messages.create({
|
|
111
|
+
model: model || "claude-haiku-4-5-20251001",
|
|
112
|
+
max_tokens: 4096,
|
|
113
|
+
system: systemPrompt,
|
|
114
|
+
messages: [{ role: "user", content: prompt }],
|
|
115
|
+
temperature: 0.1,
|
|
116
|
+
});
|
|
117
|
+
const text = response.content
|
|
118
|
+
.filter((block) => block.type === "text")
|
|
119
|
+
.map((block) => block.text)
|
|
120
|
+
.join("");
|
|
121
|
+
return text || "none";
|
|
122
|
+
}
|
|
94
123
|
});
|
|
95
124
|
}
|
|
96
|
-
export { ai, openai_client, ollama_client, getCompletion };
|
|
125
|
+
export { ai, openai_client, ollama_client, anthropic_client, getCompletion };
|
|
97
126
|
//# sourceMappingURL=ai.js.map
|
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;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,2BAA2B;IAC/D,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/utility/ai.ts"],"names":[],"mappings":"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"}
|
package/build/utility/banner.js
CHANGED
|
@@ -14,6 +14,7 @@ import path from "path";
|
|
|
14
14
|
import https from "https";
|
|
15
15
|
import os from "os";
|
|
16
16
|
import CONFIG from "../globalConfig.js";
|
|
17
|
+
import { printMsg, MSG } from "./printMsg.js";
|
|
17
18
|
const LOGO_URL = "https://js-recon.io/img/js-recon-logo.png";
|
|
18
19
|
const CACHE_DIR = path.join(os.homedir(), ".js-recon");
|
|
19
20
|
const LOGO_CACHE = path.join(CACHE_DIR, "logo.png");
|
|
@@ -60,9 +61,9 @@ export function printBanner() {
|
|
|
60
61
|
const name = chalk.bold.hex("#00d4ff")("JS Recon");
|
|
61
62
|
const version = chalk.dim(`v${CONFIG.version}`);
|
|
62
63
|
const tagline = chalk.hex("#888888")(CONFIG.toolDesc);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
printMsg(MSG.Plain, ` ${name} ${version}`);
|
|
65
|
+
printMsg(MSG.Plain, ` ${tagline}`);
|
|
66
|
+
printMsg(MSG.Plain, "");
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
69
|
//# sourceMappingURL=banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/utility/banner.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/utility/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
1
|
import * as globalsUtil from "./globals.js";
|
|
2
|
+
import { printMsg, MSG } from "./printMsg.js";
|
|
3
3
|
/**
|
|
4
4
|
* Configures the browser sandbox based on command-line flags and environment variables.
|
|
5
5
|
* @param cmd - The commander command object.
|
|
@@ -7,7 +7,7 @@ import * as globalsUtil from "./globals.js";
|
|
|
7
7
|
const configureSandbox = (cmd) => {
|
|
8
8
|
if (process.env.IS_DOCKER === "true" || cmd.sandbox === false) {
|
|
9
9
|
globalsUtil.setDisableSandbox(true);
|
|
10
|
-
|
|
10
|
+
printMsg(MSG.Warn, `[!] Disabling browser sandbox`);
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
13
|
export default configureSandbox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureSandbox.js","sourceRoot":"","sources":["../../src/utility/configureSandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"configureSandbox.js","sourceRoot":"","sources":["../../src/utility/configureSandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAE9C;;;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,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACxD,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/build/utility/globals.js
CHANGED
|
@@ -208,11 +208,11 @@ export const getRequestTimeout = () => {
|
|
|
208
208
|
// AI Configuration
|
|
209
209
|
/** Array of AI analysis options */
|
|
210
210
|
export let ai = [];
|
|
211
|
-
/**
|
|
212
|
-
export let
|
|
211
|
+
/** API key for the configured AI provider */
|
|
212
|
+
export let aiApiKey = "";
|
|
213
213
|
/** AI model to use for analysis */
|
|
214
214
|
export let aiModel = "gpt-4o-mini";
|
|
215
|
-
/** AI service provider (openai, ollama, etc.) */
|
|
215
|
+
/** AI service provider (openai, ollama, anthropic, etc.) */
|
|
216
216
|
export let aiServiceProvider = "openai";
|
|
217
217
|
/** Number of AI analysis threads */
|
|
218
218
|
export let aiThreads = 5;
|
|
@@ -226,11 +226,11 @@ export const setAi = (value) => {
|
|
|
226
226
|
ai = value;
|
|
227
227
|
};
|
|
228
228
|
/**
|
|
229
|
-
* Sets the
|
|
230
|
-
* @param value -
|
|
229
|
+
* Sets the API key for the configured AI provider.
|
|
230
|
+
* @param value - AI provider API key
|
|
231
231
|
*/
|
|
232
|
-
export const
|
|
233
|
-
|
|
232
|
+
export const setAiApiKey = (value) => {
|
|
233
|
+
aiApiKey = value;
|
|
234
234
|
};
|
|
235
235
|
/**
|
|
236
236
|
* Gets the current AI analysis options.
|
|
@@ -240,11 +240,11 @@ export const getAi = () => {
|
|
|
240
240
|
return ai;
|
|
241
241
|
};
|
|
242
242
|
/**
|
|
243
|
-
* Gets the
|
|
244
|
-
* @returns
|
|
243
|
+
* Gets the API key for the configured AI provider.
|
|
244
|
+
* @returns AI provider API key
|
|
245
245
|
*/
|
|
246
|
-
export const
|
|
247
|
-
return
|
|
246
|
+
export const getAiApiKey = () => {
|
|
247
|
+
return aiApiKey;
|
|
248
248
|
};
|
|
249
249
|
/**
|
|
250
250
|
* Gets the current AI model.
|
|
@@ -310,6 +310,14 @@ export const setQuiet = (value) => {
|
|
|
310
310
|
export const getQuiet = () => {
|
|
311
311
|
return quiet;
|
|
312
312
|
};
|
|
313
|
+
// Verbose mode — shows detailed file write error messages
|
|
314
|
+
export let verbose = false;
|
|
315
|
+
export const setVerbose = (value) => {
|
|
316
|
+
verbose = value;
|
|
317
|
+
};
|
|
318
|
+
export const getVerbose = () => {
|
|
319
|
+
return verbose;
|
|
320
|
+
};
|
|
313
321
|
// Technology Detection
|
|
314
322
|
/** Detected technology stack */
|
|
315
323
|
export let tech = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/utility/globals.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/utility/globals.ts"],"names":[],"mappings":"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"}
|
package/build/utility/heap.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v8 from "v8";
|
|
2
2
|
import * as os from "os";
|
|
3
3
|
import { spawnSync } from "child_process";
|
|
4
|
+
import { printMsg, MSG } from "./printMsg.js";
|
|
4
5
|
/**
|
|
5
6
|
* Re-execs the current process with the desired V8 heap limit applied via
|
|
6
7
|
* --max-old-space-size. Must be called before any significant allocation
|
|
@@ -26,7 +27,7 @@ export function applyHeapLimit(heapMb) {
|
|
|
26
27
|
env: Object.assign(Object.assign({}, process.env), { JS_RECON_HEAP_SET: "1" }),
|
|
27
28
|
});
|
|
28
29
|
if (result.error) {
|
|
29
|
-
|
|
30
|
+
printMsg(MSG.Err, `[!] Failed to re-exec with heap limit: ${result.error.message}`);
|
|
30
31
|
process.exit(1);
|
|
31
32
|
}
|
|
32
33
|
if (result.signal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heap.js","sourceRoot":"","sources":["../../src/utility/heap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"heap.js","sourceRoot":"","sources":["../../src/utility/heap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;QAAE,OAAO;IAElD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEjF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAEnF,0EAA0E;IAC1E,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,GAAG;QAAE,OAAO;IAE7D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,wBAAwB,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACvG,KAAK,EAAE,SAAS;QAChB,GAAG,kCAAO,OAAO,CAAC,GAAG,KAAE,iBAAiB,EAAE,GAAG,GAAE;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,0CAA0C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,6DAA6D;QAC7D,oEAAoE;QACpE,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAC,EAAE,CAAC,SAAS,CAAC,OAAkC,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;AACrC,CAAC"}
|
package/build/utility/makeReq.js
CHANGED
|
@@ -315,7 +315,7 @@ const singleFetch = (url_1, requestOptions_1, requestTimeout_1, ...args_1) => __
|
|
|
315
315
|
const currentRequestOptions = Object.assign(Object.assign(Object.assign({}, requestOptions), { signal: controller.signal }), (dispatcher ? { dispatcher } : {}));
|
|
316
316
|
try {
|
|
317
317
|
EventEmitter.defaultMaxListeners = 20;
|
|
318
|
-
const response = yield fetch(url, currentRequestOptions);
|
|
318
|
+
const response = yield fetch(url, currentRequestOptions); // lgtm[js/insecure-download]: this is a recon tool's generic HTTP client — it fetches whatever URL/scheme the target itself serves, by design.
|
|
319
319
|
const arrayBuffer = yield response.arrayBuffer();
|
|
320
320
|
if (controller.signal.aborted) {
|
|
321
321
|
shouldDestroyOwnedDispatcher = true;
|