@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.
Files changed (385) hide show
  1. package/README.md +14 -5
  2. package/README.zh.md +18 -3
  3. package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
  4. package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
  5. package/dist/packages/extension-sdk/src/plugin.js +119 -33
  6. package/dist/packages/extension-sdk/src/workflow.d.ts +156 -0
  7. package/dist/packages/extension-sdk/src/workflow.js +236 -0
  8. package/dist/src/config/search-defaults.js +161 -0
  9. package/dist/src/constants.d.ts +3 -0
  10. package/dist/src/constants.js +4 -1
  11. package/dist/src/index.d.ts +1 -1
  12. package/dist/src/index.js +13 -17
  13. package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
  14. package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
  15. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
  16. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
  17. package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
  18. package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
  19. package/dist/src/modules/analyzer/PatternDetector.js +3 -3
  20. package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
  21. package/dist/src/modules/browser/BrowserDiscovery.js +2 -2
  22. package/dist/src/modules/browser/BrowserModeManager.js +11 -10
  23. package/dist/src/modules/browser/TabRegistry.js +2 -2
  24. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
  25. package/dist/src/modules/browser/UnifiedBrowserManager.js +18 -3
  26. package/dist/src/modules/captcha/AICaptchaDetector.d.ts +1 -10
  27. package/dist/src/modules/captcha/AICaptchaDetector.js +7 -201
  28. package/dist/src/modules/collector/CodeCollector.js +4 -5
  29. package/dist/src/modules/collector/DOMInspector.js +48 -58
  30. package/dist/src/modules/collector/PageController.d.ts +17 -4
  31. package/dist/src/modules/collector/PageController.js +2 -5
  32. package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
  33. package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
  34. package/dist/src/modules/crypto/CryptoDetector.js +2 -42
  35. package/dist/src/modules/crypto/CryptoRules.js +1 -1
  36. package/dist/src/modules/debugger/BlackboxManager.js +1 -1
  37. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  38. package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +4 -2
  39. package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
  40. package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
  41. package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -39
  42. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
  43. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
  44. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +1 -2
  45. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +3 -55
  46. package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
  47. package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
  48. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
  49. package/dist/src/modules/deobfuscator/webcrack.js +15 -2
  50. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
  51. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
  52. package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
  53. package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
  54. package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
  55. package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
  56. package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
  57. package/dist/src/modules/external/ExternalToolRunner.js +25 -22
  58. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.compose.js +5 -5
  59. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.network.js +311 -311
  60. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.runtime.js +410 -410
  61. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.storage.js +122 -122
  62. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
  63. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
  64. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.js +194 -194
  65. package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
  66. package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
  67. package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
  68. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.js +62 -62
  69. package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
  70. package/dist/src/modules/process/LinuxProcessManager.js +2 -0
  71. package/dist/src/modules/process/MacProcessManager.js +25 -25
  72. package/dist/src/modules/process/MemoryManager.d.ts +1 -1
  73. package/dist/src/modules/process/MemoryManager.js +2 -2
  74. package/dist/src/modules/process/memory/AuditTrail.js +1 -1
  75. package/dist/src/modules/process/memory/availability.js +49 -49
  76. package/dist/src/modules/process/memory/injector.js +185 -185
  77. package/dist/src/modules/process/memory/reader.js +85 -53
  78. package/dist/src/modules/process/memory/regions.dump.js +51 -51
  79. package/dist/src/modules/process/memory/regions.enumerate.js +108 -108
  80. package/dist/src/modules/process/memory/regions.modules.js +80 -80
  81. package/dist/src/modules/process/memory/regions.protection.js +148 -115
  82. package/dist/src/modules/process/memory/scanner.d.ts +5 -1
  83. package/dist/src/modules/process/memory/scanner.darwin.js +98 -41
  84. package/dist/src/modules/process/memory/scanner.js +88 -4
  85. package/dist/src/modules/process/memory/scanner.windows.js +124 -124
  86. package/dist/src/modules/process/memory/writer.js +98 -58
  87. package/dist/src/modules/security/ExecutionSandbox.js +51 -52
  88. package/dist/src/modules/stealth/FingerprintManager.js +1 -1
  89. package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
  90. package/dist/src/modules/stealth/StealthScripts.js +18 -13
  91. package/dist/src/modules/stealth/StealthVerifier.js +1 -3
  92. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
  93. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
  94. package/dist/src/modules/trace/TraceDB.js +75 -69
  95. package/dist/src/modules/trace/TraceRecorder.js +1 -5
  96. package/dist/src/native/AntiCheatDetector.js +67 -16
  97. package/dist/src/native/CodeInjector.js +3 -3
  98. package/dist/src/native/HardwareBreakpoint.js +24 -15
  99. package/dist/src/native/HeapAnalyzer.js +2 -2
  100. package/dist/src/native/MemoryController.js +1 -1
  101. package/dist/src/native/MemoryScanSession.js +2 -2
  102. package/dist/src/native/MemoryScanner.js +4 -8
  103. package/dist/src/native/NativeMemoryManager.impl.js +2 -2
  104. package/dist/src/native/PEAnalyzer.js +14 -15
  105. package/dist/src/native/PointerChainEngine.js +2 -4
  106. package/dist/src/native/ScriptLoader.js +4 -9
  107. package/dist/src/native/Speedhack.js +1 -1
  108. package/dist/src/native/StructureAnalyzer.js +52 -33
  109. package/dist/src/native/Win32API.d.ts +1 -0
  110. package/dist/src/native/Win32API.js +13 -0
  111. package/dist/src/native/Win32Debug.js +19 -19
  112. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
  113. package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
  114. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
  115. package/dist/src/server/MCPServer.context.d.ts +2 -1
  116. package/dist/src/server/MCPServer.d.ts +2 -1
  117. package/dist/src/server/MCPServer.domain.d.ts +1 -1
  118. package/dist/src/server/MCPServer.domain.js +81 -16
  119. package/dist/src/server/MCPServer.js +41 -14
  120. package/dist/src/server/MCPServer.resources.d.ts +2 -0
  121. package/dist/src/server/MCPServer.resources.js +91 -0
  122. package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
  123. package/dist/src/server/MCPServer.search.helpers.js +1 -1
  124. package/dist/src/server/MCPServer.transport.js +12 -0
  125. package/dist/src/server/ToolCallContextGuard.js +8 -0
  126. package/dist/src/server/ToolRouter.d.ts +25 -9
  127. package/dist/src/server/ToolRouter.intent.d.ts +26 -0
  128. package/dist/src/server/ToolRouter.intent.js +77 -0
  129. package/dist/src/server/ToolRouter.js +103 -284
  130. package/dist/src/server/ToolRouter.policy.d.ts +22 -0
  131. package/dist/src/server/ToolRouter.policy.js +163 -0
  132. package/dist/src/server/ToolRouter.probe.d.ts +17 -0
  133. package/dist/src/server/ToolRouter.probe.js +103 -0
  134. package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
  135. package/dist/src/server/ToolRouter.renderer.js +52 -0
  136. package/dist/src/server/activation/ActivationController.js +15 -12
  137. package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
  138. package/dist/src/server/activation/PredictiveBooster.js +1 -3
  139. package/dist/src/server/domains/analysis/definitions.js +155 -655
  140. package/dist/src/server/domains/analysis/handlers.impl.js +26 -20
  141. package/dist/src/server/domains/analysis/handlers.web-tools.js +2 -1
  142. package/dist/src/server/domains/analysis/manifest.js +6 -4
  143. package/dist/src/server/domains/antidebug/definitions.js +25 -111
  144. package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
  145. package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
  146. package/dist/src/server/domains/browser/definitions.tools.page-core.js +210 -439
  147. package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
  148. package/dist/src/server/domains/browser/definitions.tools.runtime.js +98 -211
  149. package/dist/src/server/domains/browser/definitions.tools.security.js +194 -339
  150. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
  151. package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
  152. package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
  153. package/dist/src/server/domains/browser/handlers/framework-state.js +27 -9
  154. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
  155. package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
  156. package/dist/src/server/domains/browser/handlers.impl.d.ts +1 -2
  157. package/dist/src/server/domains/browser/handlers.impl.js +2 -3
  158. package/dist/src/server/domains/browser/manifest.js +37 -13
  159. package/dist/src/server/domains/coordination/definitions.js +50 -216
  160. package/dist/src/server/domains/coordination/index.d.ts +2 -1
  161. package/dist/src/server/domains/coordination/index.js +1 -0
  162. package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
  163. package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
  164. package/dist/src/server/domains/debugger/manifest.js +9 -2
  165. package/dist/src/server/domains/encoding/definitions.js +43 -153
  166. package/dist/src/server/domains/encoding/handlers.base.js +2 -2
  167. package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
  168. package/dist/src/server/domains/evidence/definitions.js +42 -0
  169. package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
  170. package/dist/src/server/domains/evidence/handlers.js +60 -0
  171. package/dist/src/server/domains/evidence/index.d.ts +2 -0
  172. package/dist/src/server/domains/evidence/index.js +2 -0
  173. package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
  174. package/dist/src/server/domains/evidence/manifest.js +78 -0
  175. package/dist/src/server/domains/graphql/definitions.js +53 -141
  176. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
  177. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.js +77 -77
  178. package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
  179. package/dist/src/server/domains/hooks/ai-handlers.js +1 -67
  180. package/dist/src/server/domains/hooks/definitions.js +69 -335
  181. package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
  182. package/dist/src/server/domains/hooks/manifest.js +1 -2
  183. package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
  184. package/dist/src/server/domains/instrumentation/definitions.js +99 -0
  185. package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
  186. package/dist/src/server/domains/instrumentation/handlers.js +206 -0
  187. package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
  188. package/dist/src/server/domains/instrumentation/index.js +2 -0
  189. package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
  190. package/dist/src/server/domains/instrumentation/manifest.js +114 -0
  191. package/dist/src/server/domains/macro/definitions.js +16 -43
  192. package/dist/src/server/domains/maintenance/definitions.js +60 -219
  193. package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
  194. package/dist/src/server/domains/memory/definitions.js +387 -559
  195. package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
  196. package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
  197. package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
  198. package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
  199. package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
  200. package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
  201. package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
  202. package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
  203. package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
  204. package/dist/src/server/domains/memory/handlers/scan.js +97 -0
  205. package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
  206. package/dist/src/server/domains/memory/handlers/session.js +49 -0
  207. package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
  208. package/dist/src/server/domains/memory/handlers/structure.js +74 -0
  209. package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
  210. package/dist/src/server/domains/memory/handlers.impl.js +63 -494
  211. package/dist/src/server/domains/memory/manifest.js +236 -64
  212. package/dist/src/server/domains/native-bridge/definitions.js +54 -192
  213. package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
  214. package/dist/src/server/domains/native-bridge/index.js +2 -1
  215. package/dist/src/server/domains/network/auth-extractor.js +1 -1
  216. package/dist/src/server/domains/network/definitions.js +175 -578
  217. package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
  218. package/dist/src/server/domains/network/handlers.base.core.js +623 -0
  219. package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
  220. package/dist/src/server/domains/network/handlers.base.js +3 -878
  221. package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
  222. package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
  223. package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
  224. package/dist/src/server/domains/network/handlers.base.types.js +89 -0
  225. package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
  226. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
  227. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
  228. package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
  229. package/dist/src/server/domains/network/manifest.js +15 -0
  230. package/dist/src/server/domains/network/replay.js +1 -4
  231. package/dist/src/server/domains/platform/definitions.js +121 -112
  232. package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +4 -0
  233. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +193 -4
  234. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
  235. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
  236. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
  237. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
  238. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
  239. package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
  240. package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
  241. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
  242. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
  243. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
  244. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
  245. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +3 -3
  246. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
  247. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
  248. package/dist/src/server/domains/platform/handlers.d.ts +48 -0
  249. package/dist/src/server/domains/platform/handlers.js +29 -0
  250. package/dist/src/server/domains/platform/manifest.js +38 -0
  251. package/dist/src/server/domains/process/definitions.js +163 -647
  252. package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
  253. package/dist/src/server/domains/process/handlers.base.js +7 -462
  254. package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
  255. package/dist/src/server/domains/process/handlers.base.process.js +417 -0
  256. package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
  257. package/dist/src/server/domains/process/handlers.base.types.js +50 -0
  258. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +18 -16
  259. package/dist/src/server/domains/process/manifest.js +6 -1
  260. package/dist/src/server/domains/sandbox/definitions.js +11 -33
  261. package/dist/src/server/domains/sandbox/handlers.js +8 -3
  262. package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
  263. package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
  264. package/dist/src/server/domains/shared/modules.d.ts +0 -2
  265. package/dist/src/server/domains/shared/modules.js +0 -1
  266. package/dist/src/server/domains/sourcemap/definitions.js +27 -111
  267. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
  268. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  269. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
  270. package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
  271. package/dist/src/server/domains/sourcemap/manifest.js +1 -1
  272. package/dist/src/server/domains/streaming/definitions.js +36 -148
  273. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
  274. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
  275. package/dist/src/server/domains/trace/TraceSummarizer.js +8 -5
  276. package/dist/src/server/domains/trace/definitions.tools.js +51 -206
  277. package/dist/src/server/domains/trace/handlers.js +10 -12
  278. package/dist/src/server/domains/trace/index.d.ts +2 -1
  279. package/dist/src/server/domains/trace/index.js +2 -1
  280. package/dist/src/server/domains/trace/manifest.js +15 -3
  281. package/dist/src/server/domains/transform/definitions.js +50 -210
  282. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +108 -108
  283. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
  284. package/dist/src/server/domains/transform/manifest.d.ts +1 -1
  285. package/dist/src/server/domains/transform/manifest.js +1 -1
  286. package/dist/src/server/domains/wasm/definitions.js +55 -232
  287. package/dist/src/server/domains/wasm/handlers.js +1 -1
  288. package/dist/src/server/domains/workflow/definitions.js +144 -414
  289. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +1 -1
  290. package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +51 -51
  291. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
  292. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
  293. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
  294. package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
  295. package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
  296. package/dist/src/server/evidence/index.d.ts +2 -0
  297. package/dist/src/server/evidence/index.js +1 -0
  298. package/dist/src/server/evidence/types.d.ts +22 -0
  299. package/dist/src/server/evidence/types.js +1 -0
  300. package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
  301. package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
  302. package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
  303. package/dist/src/server/extensions/ExtensionManager.js +193 -40
  304. package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
  305. package/dist/src/server/extensions/ExtensionManager.roots.js +4 -4
  306. package/dist/src/server/extensions/plugin-config.js +1 -1
  307. package/dist/src/server/extensions/plugin-env.d.ts +1 -1
  308. package/dist/src/server/extensions/plugin-env.js +10 -4
  309. package/dist/src/server/extensions/types.d.ts +17 -0
  310. package/dist/src/server/extensions/types.js +1 -1
  311. package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
  312. package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
  313. package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
  314. package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
  315. package/dist/src/server/instrumentation/index.d.ts +2 -0
  316. package/dist/src/server/instrumentation/index.js +2 -0
  317. package/dist/src/server/instrumentation/types.d.ts +62 -0
  318. package/dist/src/server/instrumentation/types.js +7 -0
  319. package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
  320. package/dist/src/server/macros/MacroConfigLoader.js +61 -59
  321. package/dist/src/server/macros/MacroRunner.js +6 -2
  322. package/dist/src/server/macros/builtins/index.d.ts +2 -3
  323. package/dist/src/server/macros/builtins/index.js +51 -7
  324. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  325. package/dist/src/server/registry/contracts.d.ts +1 -1
  326. package/dist/src/server/registry/discovery.js +5 -4
  327. package/dist/src/server/registry/ensure-browser-core.js +0 -3
  328. package/dist/src/server/registry/index.js +4 -4
  329. package/dist/src/server/registry/tool-builder.d.ts +46 -0
  330. package/dist/src/server/registry/tool-builder.js +105 -0
  331. package/dist/src/server/sandbox/QuickJSSandbox.js +16 -5
  332. package/dist/src/server/sandbox/SandboxHelpers.js +250 -250
  333. package/dist/src/server/search/EmbeddingWorker.js +5 -3
  334. package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
  335. package/dist/src/server/search/FeedbackTracker.js +26 -0
  336. package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
  337. package/dist/src/server/search/QueryNormalizer.js +94 -0
  338. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
  339. package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
  340. package/dist/src/server/workflows/WorkflowContract.d.ts +24 -0
  341. package/dist/src/server/workflows/WorkflowContract.js +12 -0
  342. package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
  343. package/dist/src/server/workflows/WorkflowEngine.js +136 -3
  344. package/dist/src/types/config.d.ts +0 -14
  345. package/dist/src/types/deobfuscator.d.ts +0 -1
  346. package/dist/src/types/index.d.ts +1 -1
  347. package/dist/src/utils/DetailedDataManager.js +2 -0
  348. package/dist/src/utils/RingBuffer.js +5 -5
  349. package/dist/src/utils/TokenBudgetManager.js +1 -1
  350. package/dist/src/utils/UnifiedCacheManager.js +1 -1
  351. package/dist/src/utils/artifactRetention.js +2 -2
  352. package/dist/src/utils/betterSqlite3.d.ts +11 -0
  353. package/dist/src/utils/betterSqlite3.js +88 -0
  354. package/dist/src/utils/browserExecutable.js +2 -2
  355. package/dist/src/utils/cliFastPath.js +5 -8
  356. package/dist/src/utils/config.js +4 -26
  357. package/dist/src/utils/environmentDoctor.js +138 -11
  358. package/dist/src/utils/outputPaths.js +16 -9
  359. package/dist/src/utils/parallel.js +1 -3
  360. package/package.json +74 -72
  361. package/workflows/.gitkeep +0 -0
  362. package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
  363. package/dist/src/modules/analyzer/AISummarizer.js +0 -122
  364. package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
  365. package/dist/src/modules/hook/AIHookGenerator.js +0 -360
  366. package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
  367. package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
  368. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
  369. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
  370. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
  371. package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
  372. package/dist/src/services/LLMService.d.ts +0 -37
  373. package/dist/src/services/LLMService.js +0 -233
  374. package/dist/src/services/prompts/analysis.d.ts +0 -9
  375. package/dist/src/services/prompts/analysis.js +0 -158
  376. package/dist/src/services/prompts/crypto.d.ts +0 -2
  377. package/dist/src/services/prompts/crypto.js +0 -108
  378. package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
  379. package/dist/src/services/prompts/deobfuscation.js +0 -300
  380. package/dist/src/services/prompts/environment.d.ts +0 -16
  381. package/dist/src/services/prompts/environment.js +0 -372
  382. package/dist/src/services/prompts/intelligence.d.ts +0 -4
  383. package/dist/src/services/prompts/intelligence.js +0 -250
  384. package/dist/src/services/prompts/taint.d.ts +0 -2
  385. package/dist/src/services/prompts/taint.js +0 -54
@@ -1,129 +1,129 @@
1
1
  export function generateLocalStorageHook(action, customCode, _condition, _performance = false) {
2
- return `
3
- (function() {
4
- 'use strict';
5
-
6
- const originalSetItem = Storage.prototype.setItem;
7
- const originalGetItem = Storage.prototype.getItem;
8
- const originalRemoveItem = Storage.prototype.removeItem;
9
- const originalClear = Storage.prototype.clear;
10
-
11
- Storage.prototype.setItem = function(key, value) {
12
- const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
13
- const stackTrace = new Error().stack.split('\\n').slice(2, 4).join('\\n');
14
-
15
- console.log(\`[Storage Hook] \${storageType}.setItem:\`, {
16
- key: key,
17
- value: value,
18
- valueType: typeof value,
19
- valueLength: value?.length || 0,
20
- stackTrace: stackTrace
21
- });
22
-
23
- ${action === 'block' ? 'return;' : ''}
24
- ${customCode || ''}
25
-
26
- return originalSetItem.apply(this, arguments);
27
- };
28
-
29
- Storage.prototype.getItem = function(key) {
30
- const value = originalGetItem.apply(this, arguments);
31
- const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
32
-
33
- console.log(\`[Storage Hook] \${storageType}.getItem:\`, {
34
- key: key,
35
- value: value,
36
- found: value !== null
37
- });
38
-
39
- return value;
40
- };
41
-
42
- Storage.prototype.removeItem = function(key) {
43
- const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
44
- const oldValue = this.getItem(key);
45
-
46
- console.log(\`[Storage Hook] \${storageType}.removeItem:\`, {
47
- key: key,
48
- oldValue: oldValue
49
- });
50
-
51
- return originalRemoveItem.apply(this, arguments);
52
- };
53
-
54
- Storage.prototype.clear = function() {
55
- const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
56
- const itemCount = this.length;
57
-
58
- console.log(\`[Storage Hook] \${storageType}.clear:\`, {
59
- itemCount: itemCount,
60
- items: Object.keys(this)
61
- });
62
-
63
- return originalClear.apply(this, arguments);
64
- };
65
-
66
- console.log('[Storage Hook] Successfully hooked localStorage and sessionStorage');
67
- })();
2
+ return `
3
+ (function() {
4
+ 'use strict';
5
+
6
+ const originalSetItem = Storage.prototype.setItem;
7
+ const originalGetItem = Storage.prototype.getItem;
8
+ const originalRemoveItem = Storage.prototype.removeItem;
9
+ const originalClear = Storage.prototype.clear;
10
+
11
+ Storage.prototype.setItem = function(key, value) {
12
+ const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
13
+ const stackTrace = new Error().stack.split('\\n').slice(2, 4).join('\\n');
14
+
15
+ console.log(\`[Storage Hook] \${storageType}.setItem:\`, {
16
+ key: key,
17
+ value: value,
18
+ valueType: typeof value,
19
+ valueLength: value?.length || 0,
20
+ stackTrace: stackTrace
21
+ });
22
+
23
+ ${action === 'block' ? 'return;' : ''}
24
+ ${customCode || ''}
25
+
26
+ return originalSetItem.apply(this, arguments);
27
+ };
28
+
29
+ Storage.prototype.getItem = function(key) {
30
+ const value = originalGetItem.apply(this, arguments);
31
+ const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
32
+
33
+ console.log(\`[Storage Hook] \${storageType}.getItem:\`, {
34
+ key: key,
35
+ value: value,
36
+ found: value !== null
37
+ });
38
+
39
+ return value;
40
+ };
41
+
42
+ Storage.prototype.removeItem = function(key) {
43
+ const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
44
+ const oldValue = this.getItem(key);
45
+
46
+ console.log(\`[Storage Hook] \${storageType}.removeItem:\`, {
47
+ key: key,
48
+ oldValue: oldValue
49
+ });
50
+
51
+ return originalRemoveItem.apply(this, arguments);
52
+ };
53
+
54
+ Storage.prototype.clear = function() {
55
+ const storageType = this === window.localStorage ? 'localStorage' : 'sessionStorage';
56
+ const itemCount = this.length;
57
+
58
+ console.log(\`[Storage Hook] \${storageType}.clear:\`, {
59
+ itemCount: itemCount,
60
+ items: Object.keys(this)
61
+ });
62
+
63
+ return originalClear.apply(this, arguments);
64
+ };
65
+
66
+ console.log('[Storage Hook] Successfully hooked localStorage and sessionStorage');
67
+ })();
68
68
  `.trim();
69
69
  }
70
70
  export function generateCookieHook(action, customCode, _condition, _performance = false) {
71
- return `
72
- (function() {
73
- 'use strict';
74
-
75
- const cookieDescriptor = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie') ||
76
- Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
77
-
78
- if (!cookieDescriptor) {
79
- console.error('[Cookie Hook] Failed to get cookie descriptor');
80
- return;
81
- }
82
-
83
- const originalGet = cookieDescriptor.get;
84
- const originalSet = cookieDescriptor.set;
85
-
86
- function parseCookie(cookieString) {
87
- const parts = cookieString.split(';')[0].split('=');
88
- return {
89
- name: parts[0]?.trim(),
90
- value: parts[1]?.trim(),
91
- raw: cookieString
92
- };
93
- }
94
-
95
- Object.defineProperty(document, 'cookie', {
96
- get: function() {
97
- const value = originalGet.call(this);
98
-
99
- console.log('[Cookie Hook] get:', {
100
- value: value,
101
- cookieCount: value ? value.split(';').length : 0
102
- });
103
-
104
- return value;
105
- },
106
- set: function(value) {
107
- const cookieInfo = parseCookie(value);
108
- const stackTrace = new Error().stack.split('\\n').slice(2, 4).join('\\n');
109
-
110
- console.log('[Cookie Hook] set:', {
111
- name: cookieInfo.name,
112
- value: cookieInfo.value,
113
- raw: cookieInfo.raw,
114
- stackTrace: stackTrace
115
- });
116
-
117
- ${action === 'block' ? 'return;' : ''}
118
- ${customCode || ''}
119
-
120
- return originalSet.call(this, value);
121
- },
122
- configurable: true
123
- });
124
-
125
- console.log('[Cookie Hook] Successfully hooked document.cookie');
126
- })();
71
+ return `
72
+ (function() {
73
+ 'use strict';
74
+
75
+ const cookieDescriptor = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie') ||
76
+ Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
77
+
78
+ if (!cookieDescriptor) {
79
+ console.error('[Cookie Hook] Failed to get cookie descriptor');
80
+ return;
81
+ }
82
+
83
+ const originalGet = cookieDescriptor.get;
84
+ const originalSet = cookieDescriptor.set;
85
+
86
+ function parseCookie(cookieString) {
87
+ const parts = cookieString.split(';')[0].split('=');
88
+ return {
89
+ name: parts[0]?.trim(),
90
+ value: parts[1]?.trim(),
91
+ raw: cookieString
92
+ };
93
+ }
94
+
95
+ Object.defineProperty(document, 'cookie', {
96
+ get: function() {
97
+ const value = originalGet.call(this);
98
+
99
+ console.log('[Cookie Hook] get:', {
100
+ value: value,
101
+ cookieCount: value ? value.split(';').length : 0
102
+ });
103
+
104
+ return value;
105
+ },
106
+ set: function(value) {
107
+ const cookieInfo = parseCookie(value);
108
+ const stackTrace = new Error().stack.split('\\n').slice(2, 4).join('\\n');
109
+
110
+ console.log('[Cookie Hook] set:', {
111
+ name: cookieInfo.name,
112
+ value: cookieInfo.value,
113
+ raw: cookieInfo.raw,
114
+ stackTrace: stackTrace
115
+ });
116
+
117
+ ${action === 'block' ? 'return;' : ''}
118
+ ${customCode || ''}
119
+
120
+ return originalSet.call(this, value);
121
+ },
122
+ configurable: true
123
+ });
124
+
125
+ console.log('[Cookie Hook] Successfully hooked document.cookie');
126
+ })();
127
127
  `.trim();
128
128
  }
129
129
  export function getInjectionInstructions(type) {
@@ -1,6 +1,8 @@
1
1
  import type { CodeCollector } from '../collector/CodeCollector.js';
2
+ import type { FetchInterceptRule, FetchInterceptRuleInput } from '../monitor/FetchInterceptor.js';
2
3
  import type { InspectedObjectProperties } from '../monitor/ConsoleMonitor.impl.core.object-cache.js';
3
4
  export type { NetworkRequest, NetworkResponse } from '../monitor/NetworkMonitor.js';
5
+ export type { FetchInterceptRule, FetchInterceptRuleInput, } from '../monitor/FetchInterceptor.js';
4
6
  type ConsoleMessageType = 'log' | 'warn' | 'error' | 'info' | 'debug' | 'trace' | 'dir' | 'table';
5
7
  export interface ConsoleMessage {
6
8
  type: ConsoleMessageType | string;
@@ -32,6 +34,7 @@ export declare class ConsoleMonitor {
32
34
  private collector;
33
35
  private cdpSession;
34
36
  private networkMonitor;
37
+ private fetchInterceptor;
35
38
  private playwrightNetworkMonitor;
36
39
  private playwrightPage;
37
40
  private playwrightConsoleHandler;
@@ -140,6 +143,16 @@ export declare class ConsoleMonitor {
140
143
  injectPropertyWatcher(objectPath: string, propertyName: string, options?: {
141
144
  persistent?: boolean;
142
145
  }): Promise<void>;
146
+ enableFetchIntercept(rules: FetchInterceptRuleInput[]): Promise<FetchInterceptRule[]>;
147
+ disableFetchIntercept(): Promise<{
148
+ removedRules: number;
149
+ }>;
150
+ removeFetchInterceptRule(ruleId: string): Promise<boolean>;
151
+ getFetchInterceptStatus(): {
152
+ enabled: boolean;
153
+ rules: FetchInterceptRule[];
154
+ totalHits: number;
155
+ };
143
156
  private formatRemoteObject;
144
157
  private extractValue;
145
158
  }
@@ -1,6 +1,7 @@
1
1
  import { logger } from '../../utils/logger.js';
2
2
  import { NetworkMonitor } from '../monitor/NetworkMonitor.js';
3
3
  import { PlaywrightNetworkMonitor } from '../monitor/PlaywrightNetworkMonitor.js';
4
+ import { FetchInterceptor } from '../monitor/FetchInterceptor.js';
4
5
  import { clearExceptionsCore, clearLogsCore, getExceptionsCore, getLogsCore, getStatsCore, } from '../monitor/ConsoleMonitor.impl.core.logs.js';
5
6
  import { clearInjectedBuffersCore, clearNetworkRecordsCore, getAllJavaScriptResponsesCore, getFetchRequestsCore, getNetworkActivityCore, getNetworkRequestsCore, getNetworkResponsesCore, getNetworkStatsCore, getNetworkStatusCore, getResponseBodyCore, getXHRRequestsCore, injectFetchInterceptorCore, injectXHRInterceptorCore, isNetworkEnabledCore, resetInjectedInterceptorsCore, } from '../monitor/ConsoleMonitor.impl.core.network.js';
6
7
  import { clearObjectCacheCore, inspectObjectCore, } from '../monitor/ConsoleMonitor.impl.core.object-cache.js';
@@ -9,6 +10,7 @@ export class ConsoleMonitor {
9
10
  collector;
10
11
  cdpSession = null;
11
12
  networkMonitor = null;
13
+ fetchInterceptor = null;
12
14
  playwrightNetworkMonitor = null;
13
15
  playwrightPage = null;
14
16
  playwrightConsoleHandler = null;
@@ -80,6 +82,7 @@ export class ConsoleMonitor {
80
82
  logger.warn('ConsoleMonitor CDP session disconnected');
81
83
  this.cdpSession = null;
82
84
  this.networkMonitor = null;
85
+ this.fetchInterceptor = null;
83
86
  });
84
87
  await cdpSendWithTimeout(this.cdpSession, 'Runtime.enable', {}, 5000);
85
88
  await cdpSendWithTimeout(this.cdpSession, 'Console.enable', {}, 5000);
@@ -246,6 +249,10 @@ export class ConsoleMonitor {
246
249
  this.playwrightNetworkMonitor = null;
247
250
  }
248
251
  if (this.cdpSession) {
252
+ if (this.fetchInterceptor) {
253
+ await this.fetchInterceptor.disable();
254
+ this.fetchInterceptor = null;
255
+ }
249
256
  if (this.networkMonitor) {
250
257
  await this.networkMonitor.disable();
251
258
  this.networkMonitor = null;
@@ -295,6 +302,7 @@ export class ConsoleMonitor {
295
302
  logger.warn('ConsoleMonitor CDP session unresponsive (zombie), reinitializing...');
296
303
  this.cdpSession = null;
297
304
  this.networkMonitor = null;
305
+ this.fetchInterceptor = null;
298
306
  await this.enable(this.lastEnableOptions);
299
307
  }
300
308
  }
@@ -414,6 +422,40 @@ export class ConsoleMonitor {
414
422
  async injectPropertyWatcher(objectPath, propertyName, options) {
415
423
  return injectPropertyWatcherCore(this, objectPath, propertyName, options);
416
424
  }
425
+ async enableFetchIntercept(rules) {
426
+ await this.ensureSession();
427
+ if (!this.cdpSession) {
428
+ throw new Error('No CDP session available for Fetch interception');
429
+ }
430
+ if (!this.fetchInterceptor) {
431
+ this.fetchInterceptor = new FetchInterceptor(this.cdpSession);
432
+ }
433
+ return this.fetchInterceptor.enable(rules);
434
+ }
435
+ async disableFetchIntercept() {
436
+ if (!this.fetchInterceptor) {
437
+ return { removedRules: 0 };
438
+ }
439
+ const result = await this.fetchInterceptor.disable();
440
+ this.fetchInterceptor = null;
441
+ return result;
442
+ }
443
+ async removeFetchInterceptRule(ruleId) {
444
+ if (!this.fetchInterceptor) {
445
+ return false;
446
+ }
447
+ const removed = await this.fetchInterceptor.removeRule(ruleId);
448
+ if (!this.fetchInterceptor.isEnabled()) {
449
+ this.fetchInterceptor = null;
450
+ }
451
+ return removed;
452
+ }
453
+ getFetchInterceptStatus() {
454
+ if (!this.fetchInterceptor) {
455
+ return { enabled: false, rules: [], totalHits: 0 };
456
+ }
457
+ return this.fetchInterceptor.listRules();
458
+ }
417
459
  formatRemoteObject(obj) {
418
460
  if (obj.value !== undefined) {
419
461
  return String(obj.value);