@jshookmcp/jshook 0.2.2 → 0.2.5
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/LICENSE +661 -661
- package/README.md +15 -6
- package/README.zh.md +19 -4
- package/dist/native/scripts/linux/enum-windows.sh +12 -12
- package/dist/native/scripts/macos/enum-windows.applescript +22 -22
- package/dist/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
- package/dist/native/scripts/windows/enum-windows.ps1 +44 -44
- package/dist/native/scripts/windows/inject-dll.ps1 +21 -21
- package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
- package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
- package/dist/packages/extension-sdk/src/plugin.js +119 -33
- package/dist/packages/extension-sdk/src/workflow.d.ts +156 -0
- package/dist/packages/extension-sdk/src/workflow.js +236 -0
- package/dist/src/config/search-defaults.js +161 -0
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/constants.js +4 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +13 -17
- package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
- package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
- package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
- package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
- package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
- package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
- package/dist/src/modules/analyzer/PatternDetector.js +3 -3
- package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
- package/dist/src/modules/browser/BrowserDiscovery.d.ts +6 -5
- package/dist/src/modules/browser/BrowserDiscovery.js +3 -3
- package/dist/src/modules/browser/BrowserModeManager.d.ts +1 -1
- package/dist/src/modules/browser/BrowserModeManager.js +11 -10
- package/dist/src/modules/browser/TabRegistry.js +2 -2
- package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
- package/dist/src/modules/browser/UnifiedBrowserManager.js +19 -4
- package/dist/src/modules/captcha/AICaptchaDetector.d.ts +14 -23
- package/dist/src/modules/captcha/AICaptchaDetector.js +8 -202
- package/dist/src/modules/captcha/CaptchaDetector.d.ts +31 -17
- package/dist/src/modules/captcha/CaptchaDetector.js +1 -1
- package/dist/src/modules/collector/CodeCache.d.ts +2 -2
- package/dist/src/modules/collector/CodeCollector.d.ts +12 -9
- package/dist/src/modules/collector/CodeCollector.js +5 -6
- package/dist/src/modules/collector/DOMInspector.d.ts +3 -2
- package/dist/src/modules/collector/DOMInspector.js +49 -59
- package/dist/src/modules/collector/PageController.d.ts +17 -4
- package/dist/src/modules/collector/PageController.js +2 -5
- package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
- package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
- package/dist/src/modules/crypto/CryptoDetector.js +2 -42
- package/dist/src/modules/crypto/CryptoRules.js +1 -1
- package/dist/src/modules/debugger/BlackboxManager.js +1 -1
- package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
- package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +5 -3
- package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
- package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
- package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -39
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +2 -3
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +5 -57
- package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
- package/dist/src/modules/deobfuscator/PackerDeobfuscator.js +1 -1
- package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
- package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
- package/dist/src/modules/deobfuscator/webcrack.js +15 -2
- package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
- package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
- package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
- package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
- package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
- package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
- package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
- package/dist/src/modules/external/ExternalToolRunner.d.ts +1 -1
- package/dist/src/modules/external/ExternalToolRunner.js +26 -23
- package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
- package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
- package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
- package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
- package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
- package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
- package/dist/src/modules/process/LinuxProcessManager.js +4 -2
- package/dist/src/modules/process/MacProcessManager.js +1 -1
- package/dist/src/modules/process/MemoryManager.d.ts +1 -1
- package/dist/src/modules/process/MemoryManager.js +2 -2
- package/dist/src/modules/process/ProcessManager.impl.js +1 -1
- package/dist/src/modules/process/memory/AuditTrail.js +1 -1
- package/dist/src/modules/process/memory/reader.js +35 -3
- package/dist/src/modules/process/memory/regions.enumerate.js +1 -1
- package/dist/src/modules/process/memory/regions.protection.js +42 -9
- package/dist/src/modules/process/memory/scanner.d.ts +5 -1
- package/dist/src/modules/process/memory/scanner.darwin.js +57 -0
- package/dist/src/modules/process/memory/scanner.js +88 -4
- package/dist/src/modules/process/memory/writer.js +44 -4
- package/dist/src/modules/security/ExecutionSandbox.js +7 -8
- package/dist/src/modules/stealth/FingerprintManager.js +1 -1
- package/dist/src/modules/stealth/StealthScripts.d.ts +4 -2
- package/dist/src/modules/stealth/StealthScripts.js +53 -14
- package/dist/src/modules/stealth/StealthVerifier.d.ts +1 -1
- package/dist/src/modules/stealth/StealthVerifier.js +2 -4
- package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
- package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
- package/dist/src/modules/trace/TraceDB.js +12 -6
- package/dist/src/modules/trace/TraceRecorder.js +1 -5
- package/dist/src/native/AntiCheatDetector.js +67 -16
- package/dist/src/native/CodeInjector.js +4 -4
- package/dist/src/native/HardwareBreakpoint.js +25 -16
- package/dist/src/native/HeapAnalyzer.js +2 -2
- package/dist/src/native/MemoryController.js +1 -1
- package/dist/src/native/MemoryScanSession.js +2 -2
- package/dist/src/native/MemoryScanner.js +4 -8
- package/dist/src/native/NativeMemoryManager.impl.js +2 -2
- package/dist/src/native/PEAnalyzer.js +14 -15
- package/dist/src/native/PointerChainEngine.js +2 -4
- package/dist/src/native/ScriptLoader.js +4 -9
- package/dist/src/native/Speedhack.js +1 -1
- package/dist/src/native/StructureAnalyzer.js +52 -33
- package/dist/src/native/Win32API.d.ts +1 -0
- package/dist/src/native/Win32API.js +13 -0
- package/dist/src/native/Win32Debug.js +19 -19
- package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
- package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
- package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
- package/dist/src/server/MCPServer.context.d.ts +2 -1
- package/dist/src/server/MCPServer.d.ts +2 -1
- package/dist/src/server/MCPServer.domain.d.ts +1 -1
- package/dist/src/server/MCPServer.domain.js +81 -16
- package/dist/src/server/MCPServer.js +42 -14
- package/dist/src/server/MCPServer.resources.d.ts +2 -0
- package/dist/src/server/MCPServer.resources.js +91 -0
- package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
- package/dist/src/server/MCPServer.search.helpers.js +2 -2
- package/dist/src/server/MCPServer.tools.js +1 -1
- package/dist/src/server/MCPServer.transport.js +12 -0
- package/dist/src/server/ToolCallContextGuard.d.ts +5 -0
- package/dist/src/server/ToolCallContextGuard.js +85 -0
- package/dist/src/server/ToolRouter.d.ts +26 -10
- package/dist/src/server/ToolRouter.intent.d.ts +26 -0
- package/dist/src/server/ToolRouter.intent.js +77 -0
- package/dist/src/server/ToolRouter.js +103 -284
- package/dist/src/server/ToolRouter.policy.d.ts +22 -0
- package/dist/src/server/ToolRouter.policy.js +163 -0
- package/dist/src/server/ToolRouter.probe.d.ts +17 -0
- package/dist/src/server/ToolRouter.probe.js +103 -0
- package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
- package/dist/src/server/ToolRouter.renderer.js +52 -0
- package/dist/src/server/activation/ActivationController.js +15 -12
- package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
- package/dist/src/server/activation/PredictiveBooster.js +1 -3
- package/dist/src/server/domains/analysis/definitions.js +155 -655
- package/dist/src/server/domains/analysis/handlers.impl.d.ts +8 -8
- package/dist/src/server/domains/analysis/handlers.impl.js +34 -28
- package/dist/src/server/domains/analysis/handlers.web-tools.js +4 -3
- package/dist/src/server/domains/analysis/manifest.js +6 -4
- package/dist/src/server/domains/antidebug/definitions.js +25 -111
- package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
- package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
- package/dist/src/server/domains/browser/definitions.tools.page-core.js +157 -386
- package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
- package/dist/src/server/domains/browser/definitions.tools.runtime.js +61 -174
- package/dist/src/server/domains/browser/definitions.tools.security.js +92 -237
- package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
- package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
- package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
- package/dist/src/server/domains/browser/handlers/facade-initializer.d.ts +3 -3
- package/dist/src/server/domains/browser/handlers/facade-initializer.js +3 -3
- package/dist/src/server/domains/browser/handlers/framework-state.js +231 -3
- package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
- package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
- package/dist/src/server/domains/browser/handlers/stealth-injection.js +8 -2
- package/dist/src/server/domains/browser/handlers.impl.d.ts +15 -12
- package/dist/src/server/domains/browser/handlers.impl.js +5 -6
- package/dist/src/server/domains/browser/manifest.js +37 -13
- package/dist/src/server/domains/coordination/definitions.js +50 -149
- package/dist/src/server/domains/coordination/index.d.ts +20 -1
- package/dist/src/server/domains/coordination/index.js +133 -0
- package/dist/src/server/domains/coordination/manifest.js +15 -0
- package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
- package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
- package/dist/src/server/domains/debugger/manifest.js +9 -2
- package/dist/src/server/domains/encoding/definitions.js +43 -153
- package/dist/src/server/domains/encoding/handlers.base.js +2 -2
- package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
- package/dist/src/server/domains/evidence/definitions.js +42 -0
- package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
- package/dist/src/server/domains/evidence/handlers.js +60 -0
- package/dist/src/server/domains/evidence/index.d.ts +2 -0
- package/dist/src/server/domains/evidence/index.js +2 -0
- package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
- package/dist/src/server/domains/evidence/manifest.js +78 -0
- package/dist/src/server/domains/graphql/definitions.js +53 -141
- package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
- package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
- package/dist/src/server/domains/hooks/ai-handlers.js +4 -70
- package/dist/src/server/domains/hooks/definitions.js +69 -335
- package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
- package/dist/src/server/domains/hooks/manifest.js +1 -2
- package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
- package/dist/src/server/domains/instrumentation/definitions.js +99 -0
- package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
- package/dist/src/server/domains/instrumentation/handlers.js +206 -0
- package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
- package/dist/src/server/domains/instrumentation/index.js +2 -0
- package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
- package/dist/src/server/domains/instrumentation/manifest.js +114 -0
- package/dist/src/server/domains/macro/definitions.js +16 -43
- package/dist/src/server/domains/maintenance/definitions.js +60 -219
- package/dist/src/server/domains/maintenance/handlers.d.ts +2 -2
- package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
- package/dist/src/server/domains/maintenance/handlers.js +2 -2
- package/dist/src/server/domains/memory/definitions.js +387 -559
- package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
- package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
- package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
- package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
- package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
- package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
- package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
- package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
- package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
- package/dist/src/server/domains/memory/handlers/scan.js +97 -0
- package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
- package/dist/src/server/domains/memory/handlers/session.js +49 -0
- package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
- package/dist/src/server/domains/memory/handlers/structure.js +74 -0
- package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
- package/dist/src/server/domains/memory/handlers.impl.js +63 -494
- package/dist/src/server/domains/memory/manifest.js +236 -64
- package/dist/src/server/domains/native-bridge/definitions.js +54 -192
- package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
- package/dist/src/server/domains/native-bridge/index.js +2 -1
- package/dist/src/server/domains/network/auth-extractor.js +1 -1
- package/dist/src/server/domains/network/definitions.js +175 -578
- package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
- package/dist/src/server/domains/network/handlers.base.core.js +623 -0
- package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
- package/dist/src/server/domains/network/handlers.base.js +3 -878
- package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
- package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
- package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
- package/dist/src/server/domains/network/handlers.base.types.js +89 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
- package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
- package/dist/src/server/domains/network/manifest.js +15 -0
- package/dist/src/server/domains/network/replay.js +1 -4
- package/dist/src/server/domains/platform/definitions.js +121 -112
- package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +5 -1
- package/dist/src/server/domains/platform/handlers/bridge-handlers.js +194 -5
- package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
- package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
- package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
- package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
- package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
- package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
- package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
- package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
- package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
- package/dist/src/server/domains/platform/handlers/miniapp-handlers.d.ts +1 -1
- package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +4 -4
- package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
- package/dist/src/server/domains/platform/handlers.d.ts +48 -0
- package/dist/src/server/domains/platform/handlers.js +29 -0
- package/dist/src/server/domains/platform/manifest.js +38 -0
- package/dist/src/server/domains/process/definitions.js +163 -647
- package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
- package/dist/src/server/domains/process/handlers.base.js +7 -462
- package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
- package/dist/src/server/domains/process/handlers.base.process.js +417 -0
- package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
- package/dist/src/server/domains/process/handlers.base.types.js +50 -0
- package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +19 -17
- package/dist/src/server/domains/process/manifest.js +6 -1
- package/dist/src/server/domains/sandbox/definitions.js +11 -33
- package/dist/src/server/domains/sandbox/handlers.js +8 -3
- package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
- package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
- package/dist/src/server/domains/shared/modules.d.ts +0 -2
- package/dist/src/server/domains/shared/modules.js +0 -1
- package/dist/src/server/domains/sourcemap/definitions.js +27 -111
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
- package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
- package/dist/src/server/domains/sourcemap/manifest.js +1 -1
- package/dist/src/server/domains/streaming/definitions.js +36 -148
- package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
- package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
- package/dist/src/server/domains/trace/TraceSummarizer.d.ts +60 -0
- package/dist/src/server/domains/trace/TraceSummarizer.js +112 -0
- package/dist/src/server/domains/trace/definitions.tools.js +51 -176
- package/dist/src/server/domains/trace/handlers.d.ts +2 -1
- package/dist/src/server/domains/trace/handlers.js +62 -9
- package/dist/src/server/domains/trace/index.d.ts +2 -1
- package/dist/src/server/domains/trace/index.js +2 -1
- package/dist/src/server/domains/trace/manifest.js +18 -4
- package/dist/src/server/domains/transform/definitions.js +50 -210
- package/dist/src/server/domains/transform/handlers.impl.transform-base.js +6 -6
- package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
- package/dist/src/server/domains/transform/manifest.d.ts +1 -1
- package/dist/src/server/domains/transform/manifest.js +1 -1
- package/dist/src/server/domains/wasm/definitions.js +55 -232
- package/dist/src/server/domains/wasm/handlers.js +3 -3
- package/dist/src/server/domains/workflow/definitions.js +144 -414
- package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +2 -2
- package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
- package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
- package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
- package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
- package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
- package/dist/src/server/evidence/index.d.ts +2 -0
- package/dist/src/server/evidence/index.js +1 -0
- package/dist/src/server/evidence/types.d.ts +22 -0
- package/dist/src/server/evidence/types.js +1 -0
- package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
- package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
- package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
- package/dist/src/server/extensions/ExtensionManager.js +193 -40
- package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
- package/dist/src/server/extensions/ExtensionManager.roots.js +19 -9
- package/dist/src/server/extensions/plugin-config.js +1 -1
- package/dist/src/server/extensions/plugin-env.d.ts +1 -1
- package/dist/src/server/extensions/plugin-env.js +10 -4
- package/dist/src/server/extensions/types.d.ts +17 -0
- package/dist/src/server/extensions/types.js +1 -1
- package/dist/src/server/http/HttpMiddleware.js +1 -1
- package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
- package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
- package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
- package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
- package/dist/src/server/instrumentation/index.d.ts +2 -0
- package/dist/src/server/instrumentation/index.js +2 -0
- package/dist/src/server/instrumentation/types.d.ts +62 -0
- package/dist/src/server/instrumentation/types.js +7 -0
- package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
- package/dist/src/server/macros/MacroConfigLoader.js +61 -59
- package/dist/src/server/macros/MacroRunner.js +6 -2
- package/dist/src/server/macros/builtins/index.d.ts +2 -3
- package/dist/src/server/macros/builtins/index.js +51 -7
- package/dist/src/server/plugins/PluginContract.d.ts +1 -1
- package/dist/src/server/registry/contracts.d.ts +7 -1
- package/dist/src/server/registry/discovery.js +5 -4
- package/dist/src/server/registry/ensure-browser-core.js +0 -3
- package/dist/src/server/registry/index.js +4 -4
- package/dist/src/server/registry/tool-builder.d.ts +46 -0
- package/dist/src/server/registry/tool-builder.js +105 -0
- package/dist/src/server/sandbox/MCPBridge.d.ts +9 -0
- package/dist/src/server/sandbox/MCPBridge.js +22 -0
- package/dist/src/server/sandbox/QuickJSSandbox.d.ts +4 -1
- package/dist/src/server/sandbox/QuickJSSandbox.js +162 -2
- package/dist/src/server/sandbox/types.d.ts +13 -0
- package/dist/src/server/search/AffinityGraph.d.ts +7 -1
- package/dist/src/server/search/AffinityGraph.js +24 -3
- package/dist/src/server/search/EmbeddingWorker.js +5 -3
- package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
- package/dist/src/server/search/FeedbackTracker.js +26 -0
- package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
- package/dist/src/server/search/QueryNormalizer.js +94 -0
- package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
- package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
- package/dist/src/server/workflows/WorkflowContract.d.ts +24 -0
- package/dist/src/server/workflows/WorkflowContract.js +12 -0
- package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
- package/dist/src/server/workflows/WorkflowEngine.js +136 -3
- package/dist/src/types/config.d.ts +0 -14
- package/dist/src/types/deobfuscator.d.ts +0 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/utils/DetailedDataManager.js +2 -0
- package/dist/src/utils/RingBuffer.js +5 -5
- package/dist/src/utils/TokenBudgetManager.js +1 -1
- package/dist/src/utils/UnifiedCacheManager.d.ts +1 -1
- package/dist/src/utils/UnifiedCacheManager.js +3 -3
- package/dist/src/utils/artifactRetention.js +2 -2
- package/dist/src/utils/betterSqlite3.d.ts +11 -0
- package/dist/src/utils/betterSqlite3.js +88 -0
- package/dist/src/utils/browserExecutable.js +2 -2
- package/dist/src/utils/cliFastPath.js +17 -6
- package/dist/src/utils/config.js +4 -26
- package/dist/src/utils/environmentDoctor.js +138 -11
- package/dist/src/utils/outputPaths.js +16 -9
- package/dist/src/utils/parallel.js +1 -3
- package/package.json +76 -72
- package/scripts/postinstall.cjs +37 -37
- package/src/native/scripts/linux/enum-windows.sh +12 -12
- package/src/native/scripts/macos/enum-windows.applescript +22 -22
- package/src/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
- package/src/native/scripts/windows/enum-windows.ps1 +44 -44
- package/src/native/scripts/windows/inject-dll.ps1 +21 -21
- package/workflows/.gitkeep +0 -0
- package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
- package/dist/src/modules/analyzer/AISummarizer.js +0 -122
- package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
- package/dist/src/modules/hook/AIHookGenerator.js +0 -360
- package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
- package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
- package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
- package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
- package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
- package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
- package/dist/src/services/LLMService.d.ts +0 -37
- package/dist/src/services/LLMService.js +0 -233
- package/dist/src/services/prompts/analysis.d.ts +0 -9
- package/dist/src/services/prompts/analysis.js +0 -158
- package/dist/src/services/prompts/crypto.d.ts +0 -2
- package/dist/src/services/prompts/crypto.js +0 -108
- package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
- package/dist/src/services/prompts/deobfuscation.js +0 -300
- package/dist/src/services/prompts/environment.d.ts +0 -16
- package/dist/src/services/prompts/environment.js +0 -372
- package/dist/src/services/prompts/intelligence.d.ts +0 -4
- package/dist/src/services/prompts/intelligence.js +0 -250
- package/dist/src/services/prompts/taint.d.ts +0 -2
- package/dist/src/services/prompts/taint.js +0 -54
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
export function generateRequestAnalysisMessages(requestSummary) {
|
|
2
|
-
const systemPrompt = `# Role
|
|
3
|
-
You are a senior security researcher and JavaScript analyst specializing in:
|
|
4
|
-
- Web API security analysis and cryptographic pattern recognition
|
|
5
|
-
- Authentication and authorization mechanism identification (OAuth, JWT, SAML, custom tokens)
|
|
6
|
-
- Encryption algorithm detection (AES, RSA, DES, 3DES, ChaCha20, etc.)
|
|
7
|
-
- Signature scheme analysis (HMAC, RSA-PSS, ECDSA, custom signing)
|
|
8
|
-
- Parameter encoding and obfuscation techniques (Base64, Hex, URL encoding, custom encoding)
|
|
9
|
-
|
|
10
|
-
# Expertise Areas
|
|
11
|
-
- **Symmetric Encryption**: AES (CBC, GCM, CTR), DES, 3DES, Blowfish, ChaCha20
|
|
12
|
-
- **Asymmetric Encryption**: RSA (PKCS1, OAEP), ECC, ElGamal
|
|
13
|
-
- **Hash Functions**: MD5, SHA-1, SHA-256, SHA-512, BLAKE2, RIPEMD
|
|
14
|
-
- **MAC**: HMAC-SHA256, HMAC-SHA512, CMAC
|
|
15
|
-
- **Encoding**: Base64, Hex, URL encoding, custom Base variants
|
|
16
|
-
- **Token Formats**: JWT (HS256, RS256), OAuth 2.0, SAML, custom tokens
|
|
17
|
-
|
|
18
|
-
# Task
|
|
19
|
-
Analyze HTTP requests to identify cryptographic patterns, authentication mechanisms, and security-related parameters.
|
|
20
|
-
|
|
21
|
-
# Analysis Methodology
|
|
22
|
-
1. **URL Analysis**: Examine URL paths and query parameters for crypto-related keywords
|
|
23
|
-
2. **Header Analysis**: Check Authorization, X-Signature, X-Token headers
|
|
24
|
-
3. **Parameter Analysis**: Identify encrypted/encoded parameters by pattern (length, charset, format)
|
|
25
|
-
4. **Signature Detection**: Look for sign/signature/hmac parameters and their dependencies
|
|
26
|
-
5. **Token Detection**: Identify JWT (xxx.yyy.zzz), OAuth tokens, session tokens
|
|
27
|
-
6. **Custom Pattern Recognition**: Detect proprietary encryption/signing schemes
|
|
28
|
-
|
|
29
|
-
# Output Requirements
|
|
30
|
-
- Return ONLY valid JSON (no markdown, no explanations)
|
|
31
|
-
- Use confidence scores (0.0-1.0) for uncertain detections
|
|
32
|
-
- Provide specific evidence for each detection
|
|
33
|
-
- Be precise and avoid hallucination`;
|
|
34
|
-
const userPrompt = `# Network Requests to Analyze
|
|
35
|
-
\`\`\`json
|
|
36
|
-
${JSON.stringify(requestSummary, null, 2)}
|
|
37
|
-
\`\`\`
|
|
38
|
-
|
|
39
|
-
# Required Output Schema
|
|
40
|
-
Return a JSON object with this EXACT structure (all fields required):
|
|
41
|
-
|
|
42
|
-
\`\`\`json
|
|
43
|
-
{
|
|
44
|
-
"encryption": [
|
|
45
|
-
{
|
|
46
|
-
"type": "AES-256-CBC | RSA-2048 | MD5 | SHA-256 | Base64 | Custom",
|
|
47
|
-
"location": "URL parameter name or header name",
|
|
48
|
-
"confidence": 0.95,
|
|
49
|
-
"evidence": ["evidence 1", "evidence 2"],
|
|
50
|
-
"parameters": {
|
|
51
|
-
"parameterName": "data",
|
|
52
|
-
"sampleValue": "first 50 chars...",
|
|
53
|
-
"detectedPattern": "Base64 | Hex | Custom",
|
|
54
|
-
"estimatedKeySize": "128 | 192 | 256 | null"
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
"signature": [
|
|
59
|
-
{
|
|
60
|
-
"type": "HMAC-SHA256 | JWT-RS256 | Custom",
|
|
61
|
-
"location": "URL or header",
|
|
62
|
-
"parameters": ["timestamp", "nonce", "data"],
|
|
63
|
-
"confidence": 0.88,
|
|
64
|
-
"signatureParameter": "sign",
|
|
65
|
-
"algorithm": "detected or inferred algorithm",
|
|
66
|
-
"evidence": ["evidence 1", "evidence 2"]
|
|
67
|
-
}
|
|
68
|
-
],
|
|
69
|
-
"token": [
|
|
70
|
-
{
|
|
71
|
-
"type": "JWT | OAuth2 | Custom",
|
|
72
|
-
"location": "Authorization header | URL parameter",
|
|
73
|
-
"format": "Bearer JWT | URL parameter 'access_token'",
|
|
74
|
-
"confidence": 0.98,
|
|
75
|
-
"tokenStructure": "xxx.yyy.zzz (JWT) | opaque string",
|
|
76
|
-
"evidence": ["evidence 1", "evidence 2"]
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
"customPatterns": [
|
|
80
|
-
{
|
|
81
|
-
"type": "Anti-replay | Rate limiting | Custom encryption | Other",
|
|
82
|
-
"description": "Detailed description of the pattern",
|
|
83
|
-
"location": "URL or header",
|
|
84
|
-
"confidence": 0.75,
|
|
85
|
-
"relatedParameters": ["param1", "param2"],
|
|
86
|
-
"evidence": ["evidence 1", "evidence 2"]
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
\`\`\`
|
|
91
|
-
|
|
92
|
-
Now analyze the provided requests and return ONLY the JSON output (no additional text).`;
|
|
93
|
-
return [
|
|
94
|
-
{ role: 'system', content: systemPrompt },
|
|
95
|
-
{ role: 'user', content: userPrompt },
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
|
-
export function generateLogAnalysisMessages(logSummary) {
|
|
99
|
-
const systemPrompt = `# Role
|
|
100
|
-
You are an expert JavaScript analyst and security analyst specializing in:
|
|
101
|
-
- Console log analysis and code behavior understanding
|
|
102
|
-
- Anti-debugging technique detection (debugger statements, DevTools detection, timing checks)
|
|
103
|
-
- Code obfuscation pattern recognition (string arrays, control flow flattening, VM protection)
|
|
104
|
-
- Cryptographic operation identification from runtime logs
|
|
105
|
-
- Data flow analysis and sensitive information leakage detection
|
|
106
|
-
- Framework and library identification from console output
|
|
107
|
-
|
|
108
|
-
# Known Patterns
|
|
109
|
-
**Anti-Debugging**:
|
|
110
|
-
- debugger statements
|
|
111
|
-
- DevTools detection (window.outerHeight - window.innerHeight)
|
|
112
|
-
- Function.prototype.toString checks
|
|
113
|
-
- Timing-based detection (performance.now, Date.now)
|
|
114
|
-
- Console.log redirection/blocking
|
|
115
|
-
|
|
116
|
-
**Obfuscation Indicators**:
|
|
117
|
-
- Mangled variable names (_0x1234, _0xabcd)
|
|
118
|
-
- String array decoders
|
|
119
|
-
- Control flow state machines
|
|
120
|
-
- Eval/Function constructor usage
|
|
121
|
-
|
|
122
|
-
**Crypto Operations**:
|
|
123
|
-
- CryptoJS, crypto-js, JSEncrypt, forge library calls
|
|
124
|
-
- Web Crypto API usage (crypto.subtle)
|
|
125
|
-
- Custom encryption function calls
|
|
126
|
-
|
|
127
|
-
**Sensitive Operations**:
|
|
128
|
-
- localStorage/sessionStorage access
|
|
129
|
-
- Cookie manipulation
|
|
130
|
-
- XHR/Fetch API calls
|
|
131
|
-
- WebSocket connections
|
|
132
|
-
|
|
133
|
-
# Task
|
|
134
|
-
Analyze console logs to:
|
|
135
|
-
1. Identify key functions and their purposes
|
|
136
|
-
2. Map data flow through the application
|
|
137
|
-
3. Detect suspicious patterns (anti-debugging, obfuscation, crypto)
|
|
138
|
-
4. Assess security implications
|
|
139
|
-
|
|
140
|
-
# Analysis Standards
|
|
141
|
-
- Use OWASP guidelines for security assessment
|
|
142
|
-
- Provide confidence scores for uncertain identifications
|
|
143
|
-
- Be precise and avoid hallucination
|
|
144
|
-
- Focus on actionable insights`;
|
|
145
|
-
const userPrompt = `# Console Logs to Analyze
|
|
146
|
-
\`\`\`json
|
|
147
|
-
${JSON.stringify(logSummary, null, 2)}
|
|
148
|
-
\`\`\`
|
|
149
|
-
|
|
150
|
-
# Required Output Schema
|
|
151
|
-
Return ONLY valid JSON with this exact structure:
|
|
152
|
-
|
|
153
|
-
\`\`\`json
|
|
154
|
-
{
|
|
155
|
-
"keyFunctions": [
|
|
156
|
-
{
|
|
157
|
-
"name": "function name",
|
|
158
|
-
"purpose": "what the function does",
|
|
159
|
-
"confidence": 0.92,
|
|
160
|
-
"evidence": ["evidence 1", "evidence 2"],
|
|
161
|
-
"category": "encryption | authentication | data-processing | network | obfuscation | other"
|
|
162
|
-
}
|
|
163
|
-
],
|
|
164
|
-
"dataFlow": "Concise description of how data flows through the application based on logs",
|
|
165
|
-
"suspiciousPatterns": [
|
|
166
|
-
{
|
|
167
|
-
"type": "anti-debugging | obfuscation | crypto | data-leakage | other",
|
|
168
|
-
"description": "Detailed description of the suspicious pattern",
|
|
169
|
-
"location": "log index or URL",
|
|
170
|
-
"severity": "critical | high | medium | low",
|
|
171
|
-
"evidence": ["specific log entries that support this finding"],
|
|
172
|
-
"recommendation": "how to investigate or mitigate"
|
|
173
|
-
}
|
|
174
|
-
],
|
|
175
|
-
"frameworkDetection": {
|
|
176
|
-
"detected": true,
|
|
177
|
-
"frameworks": ["React 18.x", "Axios 1.x"],
|
|
178
|
-
"confidence": 0.88,
|
|
179
|
-
"evidence": ["evidence 1"]
|
|
180
|
-
},
|
|
181
|
-
"securityConcerns": [
|
|
182
|
-
{
|
|
183
|
-
"type": "string",
|
|
184
|
-
"description": "string",
|
|
185
|
-
"severity": "critical | high | medium | low",
|
|
186
|
-
"recommendation": "string"
|
|
187
|
-
}
|
|
188
|
-
]
|
|
189
|
-
}
|
|
190
|
-
\`\`\`
|
|
191
|
-
|
|
192
|
-
Return ONLY the JSON output.`;
|
|
193
|
-
return [
|
|
194
|
-
{ role: 'system', content: systemPrompt },
|
|
195
|
-
{ role: 'user', content: userPrompt },
|
|
196
|
-
];
|
|
197
|
-
}
|
|
198
|
-
export function generateKeywordExpansionMessages(domain, urlPatterns, logKeywords) {
|
|
199
|
-
const systemPrompt = `# Role
|
|
200
|
-
You are a web application security analyst specializing in:
|
|
201
|
-
- API endpoint pattern recognition
|
|
202
|
-
- Business logic inference from network traffic
|
|
203
|
-
- Framework and library identification
|
|
204
|
-
- Cryptographic operation detection
|
|
205
|
-
- Domain-specific terminology extraction
|
|
206
|
-
|
|
207
|
-
# Task
|
|
208
|
-
Analyze the provided network requests and console logs to infer relevant keywords that can help filter and prioritize future analysis.
|
|
209
|
-
|
|
210
|
-
# Methodology
|
|
211
|
-
1. **API Keywords**: Extract common API-related terms from URL paths and parameters
|
|
212
|
-
2. **Crypto Keywords**: Identify encryption, hashing, signing related terms
|
|
213
|
-
3. **Framework Keywords**: Detect framework-specific patterns and terminology
|
|
214
|
-
4. **Business Keywords**: Infer business domain terms (e.g., 'order', 'payment', 'user')
|
|
215
|
-
|
|
216
|
-
# Output Requirements
|
|
217
|
-
- Return ONLY valid JSON
|
|
218
|
-
- Keywords should be lowercase
|
|
219
|
-
- Avoid generic terms (e.g., 'data', 'info')
|
|
220
|
-
- Focus on actionable, specific keywords
|
|
221
|
-
- Limit to 10-15 keywords per category`;
|
|
222
|
-
const userPrompt = `# Website Domain
|
|
223
|
-
${domain}
|
|
224
|
-
|
|
225
|
-
# URL Patterns (${urlPatterns.length} samples)
|
|
226
|
-
\`\`\`json
|
|
227
|
-
${JSON.stringify(urlPatterns, null, 2)}
|
|
228
|
-
\`\`\`
|
|
229
|
-
|
|
230
|
-
# Console Log Samples (${logKeywords.length} samples)
|
|
231
|
-
\`\`\`
|
|
232
|
-
${logKeywords.join('\n---\n')}
|
|
233
|
-
\`\`\`
|
|
234
|
-
|
|
235
|
-
# Required Output Schema
|
|
236
|
-
\`\`\`json
|
|
237
|
-
{
|
|
238
|
-
"apiKeywords": ["auth", "login", "verify", "validate"],
|
|
239
|
-
"cryptoKeywords": ["encrypt", "decrypt", "sign", "hash", "token"],
|
|
240
|
-
"frameworkKeywords": ["react", "vue", "axios", "redux"],
|
|
241
|
-
"businessKeywords": ["order", "payment", "cart", "checkout", "product"]
|
|
242
|
-
}
|
|
243
|
-
\`\`\`
|
|
244
|
-
|
|
245
|
-
Now analyze the data and return ONLY the JSON output.`;
|
|
246
|
-
return [
|
|
247
|
-
{ role: 'system', content: systemPrompt },
|
|
248
|
-
{ role: 'user', content: userPrompt },
|
|
249
|
-
];
|
|
250
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
export function generateTaintAnalysisPrompt(code, sources, sinks) {
|
|
2
|
-
const systemPrompt = `# Role
|
|
3
|
-
You are a security researcher specializing in:
|
|
4
|
-
- Taint analysis and data flow tracking
|
|
5
|
-
- OWASP Top 10 vulnerability detection
|
|
6
|
-
- Source-Sink-Sanitizer analysis
|
|
7
|
-
- XSS, SQL Injection, Command Injection detection
|
|
8
|
-
|
|
9
|
-
# Task
|
|
10
|
-
Analyze data flow from sources (user input) to sinks (dangerous operations) to identify security vulnerabilities.
|
|
11
|
-
|
|
12
|
-
# Methodology
|
|
13
|
-
1. Identify all data sources (user input, network, storage)
|
|
14
|
-
2. Track data flow through variables, functions, and operations
|
|
15
|
-
3. Identify sanitizers (validation, encoding, escaping)
|
|
16
|
-
4. Detect dangerous sinks (eval, innerHTML, SQL queries)
|
|
17
|
-
5. Report vulnerable paths where tainted data reaches sinks without sanitization`;
|
|
18
|
-
const userPrompt = `# Code to Analyze
|
|
19
|
-
\`\`\`javascript
|
|
20
|
-
${code.length > 4000 ? code.substring(0, 4000) + '\n\n// ... (truncated)' : code}
|
|
21
|
-
\`\`\`
|
|
22
|
-
|
|
23
|
-
# Detected Sources
|
|
24
|
-
${sources.map((s) => `- ${s}`).join('\n')}
|
|
25
|
-
|
|
26
|
-
# Detected Sinks
|
|
27
|
-
${sinks.map((s) => `- ${s}`).join('\n')}
|
|
28
|
-
|
|
29
|
-
# Required Output Schema
|
|
30
|
-
Return JSON with taint paths and vulnerabilities:
|
|
31
|
-
|
|
32
|
-
\`\`\`json
|
|
33
|
-
{
|
|
34
|
-
"taintPaths": [
|
|
35
|
-
{
|
|
36
|
-
"source": {"type": "user_input", "location": "line 10", "variable": "userInput"},
|
|
37
|
-
"sink": {"type": "eval", "location": "line 50", "variable": "code"},
|
|
38
|
-
"path": ["userInput -> processData -> sanitize? -> code -> eval"],
|
|
39
|
-
"sanitized": false,
|
|
40
|
-
"vulnerability": "Code Injection",
|
|
41
|
-
"severity": "critical",
|
|
42
|
-
"cwe": "CWE-94"
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"summary": "Found X vulnerable paths"
|
|
46
|
-
}
|
|
47
|
-
\`\`\`
|
|
48
|
-
|
|
49
|
-
Return ONLY the JSON output.`;
|
|
50
|
-
return [
|
|
51
|
-
{ role: 'system', content: systemPrompt },
|
|
52
|
-
{ role: 'user', content: userPrompt },
|
|
53
|
-
];
|
|
54
|
-
}
|