@jshookmcp/jshook 0.2.3 → 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/README.md +14 -5
- package/README.zh.md +18 -3
- 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.js +2 -2
- 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 +18 -3
- package/dist/src/modules/captcha/AICaptchaDetector.d.ts +1 -10
- package/dist/src/modules/captcha/AICaptchaDetector.js +7 -201
- package/dist/src/modules/collector/CodeCollector.js +4 -5
- package/dist/src/modules/collector/DOMInspector.js +48 -58
- 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 +4 -2
- 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 +1 -2
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +3 -55
- package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
- 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.js +25 -22
- package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.compose.js +5 -5
- package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.network.js +311 -311
- package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.runtime.js +410 -410
- package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.storage.js +122 -122
- 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/ConsoleMonitor.impl.core.dynamic.js +194 -194
- 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/monitor/PlaywrightNetworkMonitor.js +62 -62
- package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
- package/dist/src/modules/process/LinuxProcessManager.js +2 -0
- package/dist/src/modules/process/MacProcessManager.js +25 -25
- package/dist/src/modules/process/MemoryManager.d.ts +1 -1
- package/dist/src/modules/process/MemoryManager.js +2 -2
- package/dist/src/modules/process/memory/AuditTrail.js +1 -1
- package/dist/src/modules/process/memory/availability.js +49 -49
- package/dist/src/modules/process/memory/injector.js +185 -185
- package/dist/src/modules/process/memory/reader.js +85 -53
- package/dist/src/modules/process/memory/regions.dump.js +51 -51
- package/dist/src/modules/process/memory/regions.enumerate.js +108 -108
- package/dist/src/modules/process/memory/regions.modules.js +80 -80
- package/dist/src/modules/process/memory/regions.protection.js +148 -115
- package/dist/src/modules/process/memory/scanner.d.ts +5 -1
- package/dist/src/modules/process/memory/scanner.darwin.js +98 -41
- package/dist/src/modules/process/memory/scanner.js +88 -4
- package/dist/src/modules/process/memory/scanner.windows.js +124 -124
- package/dist/src/modules/process/memory/writer.js +98 -58
- package/dist/src/modules/security/ExecutionSandbox.js +51 -52
- package/dist/src/modules/stealth/FingerprintManager.js +1 -1
- package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
- package/dist/src/modules/stealth/StealthScripts.js +18 -13
- package/dist/src/modules/stealth/StealthVerifier.js +1 -3
- 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 +75 -69
- package/dist/src/modules/trace/TraceRecorder.js +1 -5
- package/dist/src/native/AntiCheatDetector.js +67 -16
- package/dist/src/native/CodeInjector.js +3 -3
- package/dist/src/native/HardwareBreakpoint.js +24 -15
- 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 +41 -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 +1 -1
- package/dist/src/server/MCPServer.transport.js +12 -0
- package/dist/src/server/ToolCallContextGuard.js +8 -0
- package/dist/src/server/ToolRouter.d.ts +25 -9
- 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.js +26 -20
- package/dist/src/server/domains/analysis/handlers.web-tools.js +2 -1
- 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 +210 -439
- package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
- package/dist/src/server/domains/browser/definitions.tools.runtime.js +98 -211
- package/dist/src/server/domains/browser/definitions.tools.security.js +194 -339
- 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/framework-state.js +27 -9
- 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.impl.d.ts +1 -2
- package/dist/src/server/domains/browser/handlers.impl.js +2 -3
- package/dist/src/server/domains/browser/manifest.js +37 -13
- package/dist/src/server/domains/coordination/definitions.js +50 -216
- package/dist/src/server/domains/coordination/index.d.ts +2 -1
- package/dist/src/server/domains/coordination/index.js +1 -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/graphql/handlers.impl.core.runtime.shared.js +77 -77
- package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
- package/dist/src/server/domains/hooks/ai-handlers.js +1 -67
- 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.extensions.js +78 -20
- 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 +4 -0
- package/dist/src/server/domains/platform/handlers/bridge-handlers.js +193 -4
- 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.js +3 -3
- 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 +18 -16
- 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.js +8 -5
- package/dist/src/server/domains/trace/definitions.tools.js +51 -206
- package/dist/src/server/domains/trace/handlers.js +10 -12
- 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 +15 -3
- package/dist/src/server/domains/transform/definitions.js +50 -210
- package/dist/src/server/domains/transform/handlers.impl.transform-base.js +108 -108
- 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 +1 -1
- package/dist/src/server/domains/workflow/definitions.js +144 -414
- package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +1 -1
- package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +51 -51
- 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 +4 -4
- 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/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 +1 -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/QuickJSSandbox.js +16 -5
- package/dist/src/server/sandbox/SandboxHelpers.js +250 -250
- 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.js +1 -1
- 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 +5 -8
- 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 +74 -72
- 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,207 +1,79 @@
|
|
|
1
|
+
import { tool } from '../../registry/tool-builder.js';
|
|
1
2
|
export const DEBUGGER_CORE_TOOLS = [
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
columnNumber: {
|
|
77
|
-
type: 'number',
|
|
78
|
-
description: 'Column number (0-based, optional)',
|
|
79
|
-
},
|
|
80
|
-
condition: {
|
|
81
|
-
type: 'string',
|
|
82
|
-
description: 'Conditional breakpoint expression (e.g., "x > 100")',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
required: ['lineNumber'],
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
name: 'breakpoint_remove',
|
|
90
|
-
description: 'Remove a breakpoint by its ID',
|
|
91
|
-
inputSchema: {
|
|
92
|
-
type: 'object',
|
|
93
|
-
properties: {
|
|
94
|
-
breakpointId: {
|
|
95
|
-
type: 'string',
|
|
96
|
-
description: 'Breakpoint ID (from breakpoint_set or breakpoint_list)',
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
required: ['breakpointId'],
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'breakpoint_list',
|
|
104
|
-
description: 'List all active breakpoints',
|
|
105
|
-
inputSchema: {
|
|
106
|
-
type: 'object',
|
|
107
|
-
properties: {},
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'get_call_stack',
|
|
112
|
-
description: 'Get the current call stack (only available when paused at a breakpoint)',
|
|
113
|
-
inputSchema: {
|
|
114
|
-
type: 'object',
|
|
115
|
-
properties: {},
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
name: 'debugger_evaluate',
|
|
120
|
-
description: 'Evaluate an expression in the context of the current call frame (only when paused)',
|
|
121
|
-
inputSchema: {
|
|
122
|
-
type: 'object',
|
|
123
|
-
properties: {
|
|
124
|
-
expression: {
|
|
125
|
-
type: 'string',
|
|
126
|
-
description: 'JavaScript expression to evaluate (e.g., "x + y", "user.name")',
|
|
127
|
-
},
|
|
128
|
-
callFrameId: {
|
|
129
|
-
type: 'string',
|
|
130
|
-
description: 'Call frame ID (from get_call_stack, defaults to current frame)',
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
required: ['expression'],
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
name: 'debugger_evaluate_global',
|
|
138
|
-
description: 'Evaluate an expression in the global context (does not require paused state)',
|
|
139
|
-
inputSchema: {
|
|
140
|
-
type: 'object',
|
|
141
|
-
properties: {
|
|
142
|
-
expression: {
|
|
143
|
-
type: 'string',
|
|
144
|
-
description: 'JavaScript expression to evaluate',
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
required: ['expression'],
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
name: 'debugger_wait_for_paused',
|
|
152
|
-
description: 'Wait for the debugger to pause (useful after setting breakpoints and triggering code)',
|
|
153
|
-
inputSchema: {
|
|
154
|
-
type: 'object',
|
|
155
|
-
properties: {
|
|
156
|
-
timeout: {
|
|
157
|
-
type: 'number',
|
|
158
|
-
description: 'Timeout in milliseconds (default: 30000)',
|
|
159
|
-
default: 30000,
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
name: 'debugger_get_paused_state',
|
|
166
|
-
description: 'Get the current paused state (check if debugger is paused and why)',
|
|
167
|
-
inputSchema: {
|
|
168
|
-
type: 'object',
|
|
169
|
-
properties: {},
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
name: 'breakpoint_set_on_exception',
|
|
174
|
-
description: 'Pause on exceptions (all exceptions or only uncaught)',
|
|
175
|
-
inputSchema: {
|
|
176
|
-
type: 'object',
|
|
177
|
-
properties: {
|
|
178
|
-
state: {
|
|
179
|
-
type: 'string',
|
|
180
|
-
description: 'Exception pause state',
|
|
181
|
-
enum: ['none', 'uncaught', 'all'],
|
|
182
|
-
default: 'none',
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
required: ['state'],
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
name: 'get_object_properties',
|
|
190
|
-
description: 'Get all properties of an object (when paused, use objectId from variables)',
|
|
191
|
-
inputSchema: {
|
|
192
|
-
type: 'object',
|
|
193
|
-
properties: {
|
|
194
|
-
objectId: {
|
|
195
|
-
type: 'string',
|
|
196
|
-
description: 'Object ID (from get_scope_variables)',
|
|
197
|
-
},
|
|
198
|
-
},
|
|
199
|
-
required: ['objectId'],
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
name: 'get_scope_variables_enhanced',
|
|
204
|
-
description: `Enhanced scope variable inspection with deep object traversal.
|
|
3
|
+
tool('debugger_enable')
|
|
4
|
+
.desc('Enable the debugger (must be called before setting breakpoints)')
|
|
5
|
+
.idempotent()
|
|
6
|
+
.build(),
|
|
7
|
+
tool('debugger_disable')
|
|
8
|
+
.desc('Disable the debugger and clear all breakpoints')
|
|
9
|
+
.destructive()
|
|
10
|
+
.build(),
|
|
11
|
+
tool('debugger_pause').desc('Pause execution at the next statement').build(),
|
|
12
|
+
tool('debugger_resume').desc('Resume execution (continue)').build(),
|
|
13
|
+
tool('debugger_step_into').desc('Step into the next function call').build(),
|
|
14
|
+
tool('debugger_step_over').desc('Step over the next function call').build(),
|
|
15
|
+
tool('debugger_step_out').desc('Step out of the current function').build(),
|
|
16
|
+
tool('breakpoint_set')
|
|
17
|
+
.desc('Set a breakpoint at a specific location. Supports URL-based and scriptId-based breakpoints with optional conditions.')
|
|
18
|
+
.string('url', 'URL of the script (e.g., "app.js", "https://cdn.example.com/app.js")')
|
|
19
|
+
.string('scriptId', 'Script ID (alternative to URL, get from get_all_scripts)')
|
|
20
|
+
.number('lineNumber', 'Line number (0-based)')
|
|
21
|
+
.number('columnNumber', 'Column number (0-based, optional)')
|
|
22
|
+
.string('condition', 'Conditional breakpoint expression (e.g., "x > 100")')
|
|
23
|
+
.required('lineNumber')
|
|
24
|
+
.idempotent()
|
|
25
|
+
.build(),
|
|
26
|
+
tool('breakpoint_remove')
|
|
27
|
+
.desc('Remove a breakpoint by its ID')
|
|
28
|
+
.string('breakpointId', 'Breakpoint ID (from breakpoint_set or breakpoint_list)')
|
|
29
|
+
.required('breakpointId')
|
|
30
|
+
.idempotent()
|
|
31
|
+
.build(),
|
|
32
|
+
tool('breakpoint_list').desc('List all active breakpoints').readOnly().idempotent().build(),
|
|
33
|
+
tool('get_call_stack')
|
|
34
|
+
.desc('Get the current call stack (only available when paused at a breakpoint)')
|
|
35
|
+
.readOnly()
|
|
36
|
+
.idempotent()
|
|
37
|
+
.build(),
|
|
38
|
+
tool('debugger_evaluate')
|
|
39
|
+
.desc('Evaluate an expression in the context of the current call frame (only when paused)')
|
|
40
|
+
.string('expression', 'JavaScript expression to evaluate (e.g., "x + y", "user.name")')
|
|
41
|
+
.string('callFrameId', 'Call frame ID (from get_call_stack, defaults to current frame)')
|
|
42
|
+
.required('expression')
|
|
43
|
+
.openWorld()
|
|
44
|
+
.build(),
|
|
45
|
+
tool('debugger_evaluate_global')
|
|
46
|
+
.desc('Evaluate an expression in the global context (does not require paused state)')
|
|
47
|
+
.string('expression', 'JavaScript expression to evaluate')
|
|
48
|
+
.required('expression')
|
|
49
|
+
.openWorld()
|
|
50
|
+
.build(),
|
|
51
|
+
tool('debugger_wait_for_paused')
|
|
52
|
+
.desc('Wait for the debugger to pause (useful after setting breakpoints and triggering code)')
|
|
53
|
+
.number('timeout', 'Timeout in milliseconds (default: 30000)', { default: 30000 })
|
|
54
|
+
.readOnly()
|
|
55
|
+
.idempotent()
|
|
56
|
+
.build(),
|
|
57
|
+
tool('debugger_get_paused_state')
|
|
58
|
+
.desc('Get the current paused state (check if debugger is paused and why)')
|
|
59
|
+
.readOnly()
|
|
60
|
+
.idempotent()
|
|
61
|
+
.build(),
|
|
62
|
+
tool('breakpoint_set_on_exception')
|
|
63
|
+
.desc('Pause on exceptions (all exceptions or only uncaught)')
|
|
64
|
+
.enum('state', ['none', 'uncaught', 'all'], 'Exception pause state', { default: 'none' })
|
|
65
|
+
.required('state')
|
|
66
|
+
.idempotent()
|
|
67
|
+
.build(),
|
|
68
|
+
tool('get_object_properties')
|
|
69
|
+
.desc('Get all properties of an object (when paused, use objectId from variables)')
|
|
70
|
+
.string('objectId', 'Object ID (from get_scope_variables)')
|
|
71
|
+
.required('objectId')
|
|
72
|
+
.readOnly()
|
|
73
|
+
.idempotent()
|
|
74
|
+
.build(),
|
|
75
|
+
tool('get_scope_variables_enhanced')
|
|
76
|
+
.desc(`Enhanced scope variable inspection with deep object traversal.
|
|
205
77
|
|
|
206
78
|
Improvements over get_scope_variables:
|
|
207
79
|
1. Graceful error handling for "Could not find object" errors (retries with fallback)
|
|
@@ -216,35 +88,20 @@ Use cases:
|
|
|
216
88
|
|
|
217
89
|
Examples:
|
|
218
90
|
get_scope_variables_enhanced()
|
|
219
|
-
get_scope_variables_enhanced(callFrameId="xxx", includeObjectProperties=true)
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
type: 'number',
|
|
234
|
-
description: 'Maximum traversal depth for nested objects (default: 1)',
|
|
235
|
-
default: 1,
|
|
236
|
-
},
|
|
237
|
-
skipErrors: {
|
|
238
|
-
type: 'boolean',
|
|
239
|
-
description: 'Skip properties that throw errors during access (default: true)',
|
|
240
|
-
default: true,
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
name: 'debugger_save_session',
|
|
247
|
-
description: `Save the current debugging session to a JSON file for later restoration.
|
|
91
|
+
get_scope_variables_enhanced(callFrameId="xxx", includeObjectProperties=true)`)
|
|
92
|
+
.string('callFrameId', 'Call frame ID (from get_call_stack, defaults to current frame)')
|
|
93
|
+
.boolean('includeObjectProperties', 'Expand object properties recursively (default: false)', {
|
|
94
|
+
default: false,
|
|
95
|
+
})
|
|
96
|
+
.number('maxDepth', 'Maximum traversal depth for nested objects (default: 1)', { default: 1 })
|
|
97
|
+
.boolean('skipErrors', 'Skip properties that throw errors during access (default: true)', {
|
|
98
|
+
default: true,
|
|
99
|
+
})
|
|
100
|
+
.readOnly()
|
|
101
|
+
.idempotent()
|
|
102
|
+
.build(),
|
|
103
|
+
tool('debugger_save_session')
|
|
104
|
+
.desc(`Save the current debugging session to a JSON file for later restoration.
|
|
248
105
|
|
|
249
106
|
Captures:
|
|
250
107
|
- All active breakpoints (location, condition, action)
|
|
@@ -257,24 +114,13 @@ Saved to:
|
|
|
257
114
|
|
|
258
115
|
Examples:
|
|
259
116
|
debugger_save_session()
|
|
260
|
-
debugger_save_session(filePath="my-debug-session.json", metadata={description: "Login flow debugging"})
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
},
|
|
268
|
-
metadata: {
|
|
269
|
-
type: 'object',
|
|
270
|
-
description: 'Optional metadata to attach (e.g., description, tags)',
|
|
271
|
-
},
|
|
272
|
-
},
|
|
273
|
-
},
|
|
274
|
-
},
|
|
275
|
-
{
|
|
276
|
-
name: 'debugger_load_session',
|
|
277
|
-
description: `Load a previously saved debugging session to restore breakpoints and watches.
|
|
117
|
+
debugger_save_session(filePath="my-debug-session.json", metadata={description: "Login flow debugging"})`)
|
|
118
|
+
.string('filePath', 'Output file path (defaults to ./debugger-sessions/<timestamp>.json)')
|
|
119
|
+
.object('metadata', {}, 'Optional metadata to attach (e.g., description, tags)')
|
|
120
|
+
.idempotent()
|
|
121
|
+
.build(),
|
|
122
|
+
tool('debugger_load_session')
|
|
123
|
+
.desc(`Load a previously saved debugging session to restore breakpoints and watches.
|
|
278
124
|
|
|
279
125
|
Two input modes:
|
|
280
126
|
1. File path: provide filePath to load from disk
|
|
@@ -287,24 +133,13 @@ Restores:
|
|
|
287
133
|
|
|
288
134
|
Examples:
|
|
289
135
|
debugger_load_session(filePath="my-debug-session.json")
|
|
290
|
-
debugger_load_session(sessionData="{...}")
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
},
|
|
298
|
-
sessionData: {
|
|
299
|
-
type: 'string',
|
|
300
|
-
description: 'Session JSON string (alternative to filePath)',
|
|
301
|
-
},
|
|
302
|
-
},
|
|
303
|
-
},
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
name: 'debugger_export_session',
|
|
307
|
-
description: `Export the current debugging session as a JSON string for sharing or backup.
|
|
136
|
+
debugger_load_session(sessionData="{...}")`)
|
|
137
|
+
.string('filePath', 'Path to the saved session file')
|
|
138
|
+
.string('sessionData', 'Session JSON string (alternative to filePath)')
|
|
139
|
+
.idempotent()
|
|
140
|
+
.build(),
|
|
141
|
+
tool('debugger_export_session')
|
|
142
|
+
.desc(`Export the current debugging session as a JSON string for sharing or backup.
|
|
308
143
|
|
|
309
144
|
Returns session data as JSON, including:
|
|
310
145
|
- Active breakpoints
|
|
@@ -313,20 +148,13 @@ Returns session data as JSON, including:
|
|
|
313
148
|
|
|
314
149
|
Examples:
|
|
315
150
|
debugger_export_session()
|
|
316
|
-
debugger_export_session(metadata={description: "API debugging session"})
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
},
|
|
324
|
-
},
|
|
325
|
-
},
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
name: 'debugger_list_sessions',
|
|
329
|
-
description: `List all saved debugging sessions in the ./debugger-sessions/ directory.
|
|
151
|
+
debugger_export_session(metadata={description: "API debugging session"})`)
|
|
152
|
+
.object('metadata', {}, 'Optional metadata to include in the export')
|
|
153
|
+
.readOnly()
|
|
154
|
+
.idempotent()
|
|
155
|
+
.build(),
|
|
156
|
+
tool('debugger_list_sessions')
|
|
157
|
+
.desc(`List all saved debugging sessions in the ./debugger-sessions/ directory.
|
|
330
158
|
|
|
331
159
|
Returns for each session:
|
|
332
160
|
- File name and path
|
|
@@ -338,10 +166,8 @@ Use cases:
|
|
|
338
166
|
- Clean up old sessions
|
|
339
167
|
|
|
340
168
|
Examples:
|
|
341
|
-
debugger_list_sessions()
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
},
|
|
346
|
-
},
|
|
169
|
+
debugger_list_sessions()`)
|
|
170
|
+
.readOnly()
|
|
171
|
+
.idempotent()
|
|
172
|
+
.build(),
|
|
347
173
|
];
|
|
@@ -26,8 +26,15 @@ const manifest = {
|
|
|
26
26
|
profiles: ['workflow', 'full'],
|
|
27
27
|
ensure,
|
|
28
28
|
prerequisites: {
|
|
29
|
-
debugger_enable: [
|
|
30
|
-
|
|
29
|
+
debugger_enable: [
|
|
30
|
+
{ condition: 'Browser must be launched', fix: 'Call browser_launch or browser_attach first' },
|
|
31
|
+
],
|
|
32
|
+
breakpoint_set: [
|
|
33
|
+
{
|
|
34
|
+
condition: 'Browser must be launched',
|
|
35
|
+
fix: 'Call browser_launch and debugger_enable first',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
31
38
|
},
|
|
32
39
|
registrations: [
|
|
33
40
|
{ tool: t('debugger_enable'), domain: DOMAIN, bind: b((h, a) => h.handleDebuggerEnable(a)) },
|
|
@@ -1,155 +1,45 @@
|
|
|
1
|
+
import { tool } from '../../registry/tool-builder.js';
|
|
1
2
|
export const encodingTools = [
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
encoding: {
|
|
46
|
-
type: 'string',
|
|
47
|
-
enum: ['base64', 'hex', 'url', 'protobuf', 'msgpack'],
|
|
48
|
-
description: 'Declared input encoding/format',
|
|
49
|
-
},
|
|
50
|
-
outputFormat: {
|
|
51
|
-
type: 'string',
|
|
52
|
-
enum: ['hex', 'utf8', 'json'],
|
|
53
|
-
description: 'Target output format',
|
|
54
|
-
default: 'hex',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
required: ['data', 'encoding'],
|
|
58
|
-
},
|
|
59
|
-
annotations: {
|
|
60
|
-
readOnlyHint: false,
|
|
61
|
-
destructiveHint: false,
|
|
62
|
-
idempotentHint: false,
|
|
63
|
-
openWorldHint: false,
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: 'binary_encode',
|
|
68
|
-
description: 'Encode utf8/hex/json input into base64/hex/url output.',
|
|
69
|
-
inputSchema: {
|
|
70
|
-
type: 'object',
|
|
71
|
-
properties: {
|
|
72
|
-
data: {
|
|
73
|
-
type: 'string',
|
|
74
|
-
description: 'Input payload',
|
|
75
|
-
},
|
|
76
|
-
inputFormat: {
|
|
77
|
-
type: 'string',
|
|
78
|
-
enum: ['utf8', 'hex', 'json'],
|
|
79
|
-
description: 'How to parse input payload',
|
|
80
|
-
},
|
|
81
|
-
outputEncoding: {
|
|
82
|
-
type: 'string',
|
|
83
|
-
enum: ['base64', 'hex', 'url'],
|
|
84
|
-
description: 'Desired output encoding',
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
required: ['data', 'inputFormat', 'outputEncoding'],
|
|
88
|
-
},
|
|
89
|
-
annotations: {
|
|
90
|
-
readOnlyHint: false,
|
|
91
|
-
destructiveHint: false,
|
|
92
|
-
idempotentHint: false,
|
|
93
|
-
openWorldHint: false,
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: 'binary_entropy_analysis',
|
|
98
|
-
description: 'Compute Shannon entropy + byte frequency distribution to assess plaintext/encoded/compressed/encrypted/random likelihood.',
|
|
99
|
-
inputSchema: {
|
|
100
|
-
type: 'object',
|
|
101
|
-
properties: {
|
|
102
|
-
data: {
|
|
103
|
-
type: 'string',
|
|
104
|
-
description: 'Input payload string (optional when source=file)',
|
|
105
|
-
},
|
|
106
|
-
source: {
|
|
107
|
-
type: 'string',
|
|
108
|
-
enum: ['base64', 'hex', 'raw', 'file'],
|
|
109
|
-
description: 'How to interpret input payload',
|
|
110
|
-
},
|
|
111
|
-
filePath: {
|
|
112
|
-
type: 'string',
|
|
113
|
-
description: 'File path when source=file',
|
|
114
|
-
},
|
|
115
|
-
blockSize: {
|
|
116
|
-
type: 'number',
|
|
117
|
-
description: 'Block size for per-block entropy (default: 256)',
|
|
118
|
-
default: 256,
|
|
119
|
-
},
|
|
120
|
-
},
|
|
121
|
-
required: ['source'],
|
|
122
|
-
},
|
|
123
|
-
annotations: {
|
|
124
|
-
readOnlyHint: true,
|
|
125
|
-
destructiveHint: false,
|
|
126
|
-
idempotentHint: true,
|
|
127
|
-
openWorldHint: false,
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
name: 'protobuf_decode_raw',
|
|
132
|
-
description: 'Decode base64 protobuf bytes without schema using wire-type aware recursive parser.',
|
|
133
|
-
inputSchema: {
|
|
134
|
-
type: 'object',
|
|
135
|
-
properties: {
|
|
136
|
-
data: {
|
|
137
|
-
type: 'string',
|
|
138
|
-
description: 'Base64-encoded protobuf payload',
|
|
139
|
-
},
|
|
140
|
-
maxDepth: {
|
|
141
|
-
type: 'number',
|
|
142
|
-
description: 'Maximum recursive decode depth (default: 5)',
|
|
143
|
-
default: 5,
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
required: ['data'],
|
|
147
|
-
},
|
|
148
|
-
annotations: {
|
|
149
|
-
readOnlyHint: true,
|
|
150
|
-
destructiveHint: false,
|
|
151
|
-
idempotentHint: true,
|
|
152
|
-
openWorldHint: false,
|
|
153
|
-
},
|
|
154
|
-
},
|
|
3
|
+
tool('binary_detect_format')
|
|
4
|
+
.desc('Detect binary payload format/encoding via magic bytes, encoding heuristics, and Shannon entropy')
|
|
5
|
+
.string('data', 'Input payload')
|
|
6
|
+
.enum('source', ['base64', 'hex', 'file', 'raw'], 'How to interpret input payload')
|
|
7
|
+
.string('filePath', 'File path when source=file')
|
|
8
|
+
.string('requestId', 'Captured network requestId to resolve response body')
|
|
9
|
+
.required('source')
|
|
10
|
+
.readOnly()
|
|
11
|
+
.idempotent()
|
|
12
|
+
.build(),
|
|
13
|
+
tool('binary_decode')
|
|
14
|
+
.desc('Decode binary payloads into hex, utf8, or json output')
|
|
15
|
+
.string('data', 'Input encoded payload')
|
|
16
|
+
.enum('encoding', ['base64', 'hex', 'url', 'protobuf', 'msgpack'], 'Declared input encoding')
|
|
17
|
+
.enum('outputFormat', ['hex', 'utf8', 'json'], 'Target output format', { default: 'hex' })
|
|
18
|
+
.required('data', 'encoding')
|
|
19
|
+
.build(),
|
|
20
|
+
tool('binary_encode')
|
|
21
|
+
.desc('Encode utf8/hex/json input into base64/hex/url output')
|
|
22
|
+
.string('data', 'Input payload')
|
|
23
|
+
.enum('inputFormat', ['utf8', 'hex', 'json'], 'How to parse input')
|
|
24
|
+
.enum('outputEncoding', ['base64', 'hex', 'url'], 'Desired output encoding')
|
|
25
|
+
.required('data', 'inputFormat', 'outputEncoding')
|
|
26
|
+
.build(),
|
|
27
|
+
tool('binary_entropy_analysis')
|
|
28
|
+
.desc('Compute Shannon entropy + byte frequency to assess plaintext/encoded/compressed/encrypted likelihood')
|
|
29
|
+
.string('data', 'Input payload')
|
|
30
|
+
.enum('source', ['base64', 'hex', 'raw', 'file'], 'How to interpret input payload')
|
|
31
|
+
.string('filePath', 'File path when source=file')
|
|
32
|
+
.number('blockSize', 'Block size for per-block entropy', { default: 256 })
|
|
33
|
+
.required('source')
|
|
34
|
+
.readOnly()
|
|
35
|
+
.idempotent()
|
|
36
|
+
.build(),
|
|
37
|
+
tool('protobuf_decode_raw')
|
|
38
|
+
.desc('Decode base64 protobuf bytes without schema using wire-type aware recursive parser')
|
|
39
|
+
.string('data', 'Base64-encoded protobuf payload')
|
|
40
|
+
.number('maxDepth', 'Maximum recursive decode depth', { default: 5 })
|
|
41
|
+
.required('data')
|
|
42
|
+
.readOnly()
|
|
43
|
+
.idempotent()
|
|
44
|
+
.build(),
|
|
155
45
|
];
|