@jshookmcp/jshook 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +25 -50
  2. package/README.zh.md +25 -48
  3. package/dist/AntiCheatDetector-CGVGNfy5.mjs +1 -0
  4. package/dist/CacheAdapters-CdAxBmVW.mjs +1 -0
  5. package/dist/CodeInjector-BlgyqTOk.mjs +1 -0
  6. package/dist/ConsoleMonitor-Dkqc0HNi.mjs +490 -0
  7. package/dist/DOMInspector-BYY_EJ0C.mjs +95 -0
  8. package/dist/DarwinAPI-DC4HGGLl.mjs +1 -0
  9. package/dist/DetailedDataManager-BniBJlVv.mjs +1 -0
  10. package/dist/EventBus-DgciURGg.mjs +1 -0
  11. package/dist/EvidenceGraphBridge-BIfgB7HP.mjs +1 -0
  12. package/dist/ExtensionManager-erMpqcLk.mjs +1 -0
  13. package/dist/FingerprintManager-N7BZqjxP.mjs +1 -0
  14. package/dist/HardwareBreakpoint-OcJqNFVc.mjs +1 -0
  15. package/dist/HeapAnalyzer-CqAxZzeS.mjs +1 -0
  16. package/dist/{HookGeneratorBuilders.core.generators.storage-CTbB4Lcx.mjs → HookGeneratorBuilders.core.generators.storage-Bf1fbrNK.mjs} +66 -101
  17. package/dist/InstrumentationSession-DxXs0sCp.mjs +1 -0
  18. package/dist/MCPServer.search.handlers.domain-DVbWL1bT.mjs +1 -0
  19. package/dist/MemoryController-BaqstM5w.mjs +2 -0
  20. package/dist/MemoryScanSession-CaxAjZJf.mjs +1 -0
  21. package/dist/MemoryScanner-BLYnMJy6.mjs +1 -0
  22. package/dist/NativeMemoryManager.impl-CI554XbY.mjs +1 -0
  23. package/dist/NativeMemoryManager.utils-DM4NC3FE.mjs +1 -0
  24. package/dist/PEAnalyzer-DJyaJTQJ.mjs +1 -0
  25. package/dist/PageController-D9jVkH0i.mjs +1 -0
  26. package/dist/PointerChainEngine-5nF9eNlu.mjs +1 -0
  27. package/dist/PrerequisiteError-Bl3dK8XA.mjs +1 -0
  28. package/dist/ProcessRegistry-Hf12LlR9.mjs +1 -0
  29. package/dist/ResponseBuilder-B2lu4KEl.mjs +1 -0
  30. package/dist/ReverseEvidenceGraph-B931HeoW.mjs +2 -0
  31. package/dist/ScriptManager-fgqiALgj.mjs +7 -0
  32. package/dist/Speedhack-l6s8L2Qw.mjs +1 -0
  33. package/dist/StealthVerifier-Dhbj4B4P.mjs +1 -0
  34. package/dist/StructureAnalyzer-A-WamfYE.mjs +2 -0
  35. package/dist/ToolCatalog-D_IKl1Hu.mjs +1 -0
  36. package/dist/ToolError-DWU_z7gp.mjs +1 -0
  37. package/dist/ToolProbe-xsfALmN3.mjs +1 -0
  38. package/dist/ToolRegistry-B0Zs-phN.mjs +1 -0
  39. package/dist/ToolRouter.policy-CFHoN_Lw.mjs +4 -0
  40. package/dist/TraceRecorder-Dd8jLXpi.mjs +272 -0
  41. package/dist/VersionDetector-DMoUWyNm.mjs +9 -0
  42. package/dist/Win32API-Bhi5xFBe.mjs +1 -0
  43. package/dist/Win32Debug-CQteFL4F.mjs +1 -0
  44. package/dist/WorkflowEngine-CxEp2WXH.mjs +1 -0
  45. package/dist/analysis-BuR-NgX8.mjs +5 -0
  46. package/dist/{antidebug-BRKeyt27.mjs → antidebug-BOTZH6-0.mjs} +8 -259
  47. package/dist/artifactRetention-NBdncOEW.mjs +1 -0
  48. package/dist/artifacts-B5xQuEa_.mjs +1 -0
  49. package/dist/authorization-schema-B40obG1A.mjs +1 -0
  50. package/dist/betterSqlite3-CGaxz4AX.mjs +1 -0
  51. package/dist/binary-instrument-Cf9qqLlM.mjs +7 -0
  52. package/dist/bind-helpers-BlAOQrFQ.mjs +1 -0
  53. package/dist/boringssl-inspector-BST5vtKx.mjs +2 -0
  54. package/dist/browser-C4Le3xqA.mjs +11 -0
  55. package/dist/capabilities-DbYCv-HF.mjs +1 -0
  56. package/dist/chunk-C_pMuVsO.mjs +1 -0
  57. package/dist/collector-CKO8RPK8.mjs +1 -0
  58. package/dist/concurrency-CcK46d0h.mjs +1 -0
  59. package/dist/constants-Cp6hBrrx.mjs +1 -0
  60. package/dist/coordination-BbijHEHH.mjs +1 -0
  61. package/dist/debugger-CRJq_krh.mjs +1 -0
  62. package/dist/definitions-BGobEDQa.mjs +1 -0
  63. package/dist/definitions-BGwNSkVm.mjs +1 -0
  64. package/dist/definitions-BbxOUiP-.mjs +1 -0
  65. package/dist/definitions-CCP9gphV.mjs +1 -0
  66. package/dist/definitions-CIO9O-Sw.mjs +1 -0
  67. package/dist/definitions-CYFbewnd.mjs +1 -0
  68. package/dist/definitions-CdWEuIkI.mjs +1 -0
  69. package/dist/definitions-CoQFbggH.mjs +1 -0
  70. package/dist/definitions-CuJRsJ6N.mjs +1 -0
  71. package/dist/definitions-DI9YXsJk.mjs +1 -0
  72. package/dist/definitions-DJklW2sS.mjs +1 -0
  73. package/dist/definitions-DZ8uKusP.mjs +1 -0
  74. package/dist/definitions-Dds_zrWx.mjs +1 -0
  75. package/dist/definitions-Dgrg7f3D.mjs +1 -0
  76. package/dist/definitions-DtE0XLrT.mjs +1 -0
  77. package/dist/definitions-LaYTuwQd.mjs +26 -0
  78. package/dist/definitions-NoVp_9Pm.mjs +1 -0
  79. package/dist/definitions-OvGsfxdt.mjs +1 -0
  80. package/dist/definitions-jXPaVy4P.mjs +1 -0
  81. package/dist/encoding-DGcr6Aj_.mjs +2 -0
  82. package/dist/ensure-browser-core-Buls24LQ.mjs +1 -0
  83. package/dist/evidence-graph-bridge-B0yhGPcs.mjs +1 -0
  84. package/dist/factory-Cx_1LorX.mjs +1 -0
  85. package/dist/flat-target-session-CO5g78k3.mjs +1 -0
  86. package/dist/formatAddress-C7j2fDlM.mjs +1 -0
  87. package/dist/graphql-HLf3MS8H.mjs +62 -0
  88. package/dist/handlers-BLMa4X7l.mjs +54 -0
  89. package/dist/handlers-BP12ZsWc.mjs +4 -0
  90. package/dist/handlers-BZoPla6E.mjs +1 -0
  91. package/dist/handlers-BggKiVx9.mjs +2 -0
  92. package/dist/handlers-D3iev8g1.mjs +1 -0
  93. package/dist/handlers-D49r1-1P.mjs +1 -0
  94. package/dist/handlers-DCE45Ww8.mjs +2 -0
  95. package/dist/handlers-DW5AbYs5.mjs +5 -0
  96. package/dist/handlers-De5u62Ga2.mjs +1 -0
  97. package/dist/handlers-DmQzIc44.mjs +31 -0
  98. package/dist/handlers-DnJRGp7t.mjs +302 -0
  99. package/dist/handlers-Dv_runVv.mjs +2 -0
  100. package/dist/handlers-S9Ws0IGy.mjs +2 -0
  101. package/dist/{handlers-Dz9PYsCa.mjs → handlers-pVNpaw4A.mjs} +118 -904
  102. package/dist/handlers.impl-CD2_kOcC.mjs +1 -0
  103. package/dist/hooks-DDKppogd.mjs +600 -0
  104. package/dist/index.mjs +12 -5235
  105. package/dist/logger-sBC6IdRT.mjs +1 -0
  106. package/dist/maintenance-CutEO84j.mjs +1 -0
  107. package/dist/manifest-BFGxlDRh.mjs +123 -0
  108. package/dist/manifest-BPuE6oH2.mjs +1 -0
  109. package/dist/manifest-BXry5N09.mjs +1 -0
  110. package/dist/manifest-BeP_zJGb2.mjs +1 -0
  111. package/dist/manifest-C0g67k6U.mjs +1 -0
  112. package/dist/manifest-C1nZkTkO.mjs +1 -0
  113. package/dist/manifest-C7qV1z7F.mjs +1 -0
  114. package/dist/manifest-CDeUZGUZ.mjs +1 -0
  115. package/dist/manifest-CDiCtaQT.mjs +1 -0
  116. package/dist/manifest-CFn0359q2.mjs +1 -0
  117. package/dist/manifest-CGq4NpqH2.mjs +1 -0
  118. package/dist/manifest-CJMGt7Qy.mjs +1 -0
  119. package/dist/manifest-CRIJq4Hs.mjs +1 -0
  120. package/dist/manifest-C_hEIjSx.mjs +1 -0
  121. package/dist/manifest-CeQmtQOY.mjs +1 -0
  122. package/dist/manifest-Cq0j7GZt.mjs +1 -0
  123. package/dist/manifest-CtPmHAdn.mjs +1 -0
  124. package/dist/manifest-Cx2IVMUY.mjs +1 -0
  125. package/dist/manifest-D16xPXro.mjs +1 -0
  126. package/dist/manifest-D44TaRJU.mjs +1 -0
  127. package/dist/manifest-D610kxZr.mjs +2 -0
  128. package/dist/manifest-DC-SMF6b.mjs +1 -0
  129. package/dist/manifest-DD3rtxvV.mjs +1 -0
  130. package/dist/manifest-DKUorv5M.mjs +1 -0
  131. package/dist/manifest-DMJlcsTR.mjs +1 -0
  132. package/dist/manifest-DWUUWBz0.mjs +1 -0
  133. package/dist/manifest-De-6Wf2R.mjs +1 -0
  134. package/dist/manifest-Dgh0uDW-.mjs +1 -0
  135. package/dist/manifest-Dm0o3i2U.mjs +1 -0
  136. package/dist/manifest-DsVh7Y4U.mjs +1 -0
  137. package/dist/manifest-DtEFSRaq.mjs +1 -0
  138. package/dist/manifest-H-EpAyZQ.mjs +1 -0
  139. package/dist/manifest-ais9Afrw.mjs +1 -0
  140. package/dist/manifest-tmb54wmA.mjs +1 -0
  141. package/dist/manifest-yu2xiQqe.mjs +1 -0
  142. package/dist/manifest-zrbrpKCC.mjs +1 -0
  143. package/dist/matchesWildcardPattern-BGqLSmEs.mjs +1 -0
  144. package/dist/modules-p-PUNv9r.mjs +332 -0
  145. package/dist/mojo-ipc-VGlv3Qyp.mjs +9 -0
  146. package/dist/network-BjZ1Y-GB.mjs +7 -0
  147. package/dist/outputPaths-BonGThuc.mjs +2 -0
  148. package/dist/parse-args-Cuk7-xUt.mjs +1 -0
  149. package/dist/platform-C446Lf97.mjs +93 -0
  150. package/dist/playwright-cdp-fallback-BwVR-_T3.mjs +1 -0
  151. package/dist/process-C9f2A5zk.mjs +962 -0
  152. package/dist/proxy-CvRepxgV.mjs +1 -0
  153. package/dist/registry-DUHIPE-v.mjs +1 -0
  154. package/dist/response-C7rKQst4.mjs +1 -0
  155. package/dist/search-defaults-D2bY-rzH.mjs +1 -0
  156. package/dist/server/plugin-api.mjs +1 -293
  157. package/dist/shared-state-board-Cyg-xh_k.mjs +1 -0
  158. package/dist/sourcemap-D6Q1UuAp.mjs +1 -0
  159. package/dist/ssrf-policy-T96MR3r6.mjs +1 -0
  160. package/dist/streaming-CTX58tbb.mjs +1 -0
  161. package/dist/tool-builder-CI9914Tf.mjs +1 -0
  162. package/dist/transform-Cv9P2vVD.mjs +103 -0
  163. package/dist/types-CuyefmGT.mjs +1 -0
  164. package/dist/types-DtThH00r.mjs +1 -0
  165. package/dist/wasm-DaJa8J0V.mjs +174 -0
  166. package/dist/webcrack-CsLLJIs9.mjs +46 -0
  167. package/dist/workflow-CYIXtrWD.mjs +101 -0
  168. package/package.json +50 -78
  169. package/dist/AntiCheatDetector-CqGDXmfc.mjs +0 -350
  170. package/dist/CacheAdapters-jJFy20G-.mjs +0 -80
  171. package/dist/CodeInjector-BdjRfNx7.mjs +0 -150
  172. package/dist/ConsoleMonitor-DykL3IAw.mjs +0 -2269
  173. package/dist/DarwinAPI-ETyy0xyo.mjs +0 -363
  174. package/dist/DetailedDataManager-HT49OrvF.mjs +0 -217
  175. package/dist/EventBus-DFKvADm3.mjs +0 -141
  176. package/dist/EvidenceGraphBridge-318Oi0Lf.mjs +0 -153
  177. package/dist/ExtensionManager-BDMsY2Dz.mjs +0 -721
  178. package/dist/FingerprintManager-BN4UQWnX.mjs +0 -96
  179. package/dist/HardwareBreakpoint-Cc2AFq1Y.mjs +0 -239
  180. package/dist/HeapAnalyzer-DruMgsgj.mjs +0 -284
  181. package/dist/InstrumentationSession-DLH0vd-z.mjs +0 -244
  182. package/dist/MemoryController-CMtviNW_.mjs +0 -167
  183. package/dist/MemoryScanSession-ITgb_NMi.mjs +0 -278
  184. package/dist/MemoryScanner-CiL7Z3ey.mjs +0 -428
  185. package/dist/NativeMemoryManager.impl-D9Lkovvn.mjs +0 -485
  186. package/dist/NativeMemoryManager.utils-BBlAixF5.mjs +0 -165
  187. package/dist/PEAnalyzer-DMQ44gen.mjs +0 -385
  188. package/dist/PageController-BPJNqqBN.mjs +0 -431
  189. package/dist/PointerChainEngine-K7wN8Z-w.mjs +0 -325
  190. package/dist/PrerequisiteError-TuyZIs6n.mjs +0 -20
  191. package/dist/ProcessRegistry-zGg12QbE.mjs +0 -74
  192. package/dist/ResponseBuilder-CJXWmWNw.mjs +0 -143
  193. package/dist/ReverseEvidenceGraph-C02-gXOh.mjs +0 -269
  194. package/dist/ScriptManager-ZuWD-0Jg.mjs +0 -3003
  195. package/dist/Speedhack-D-z0umeT.mjs +0 -156
  196. package/dist/StealthVerifier-BWmPgQsv.mjs +0 -135
  197. package/dist/StructureAnalyzer-Cav5AVSL.mjs +0 -429
  198. package/dist/ToolCatalog-5OJdMiF0.mjs +0 -582
  199. package/dist/ToolError-jh9whhMd.mjs +0 -15
  200. package/dist/ToolProbe-DbCFGyrg.mjs +0 -45
  201. package/dist/ToolRegistry-B9krbTtI.mjs +0 -180
  202. package/dist/ToolRouter.policy-BGDAGyeH.mjs +0 -344
  203. package/dist/TraceRecorder-B41Z5XBj.mjs +0 -1286
  204. package/dist/VersionDetector-K3V4vGsw.mjs +0 -104
  205. package/dist/Win32API-C2kjj0ze.mjs +0 -346
  206. package/dist/Win32Debug-CKrGOTpo.mjs +0 -274
  207. package/dist/WorkflowEngine-DJ6M4opp.mjs +0 -569
  208. package/dist/analysis-BHeJW2Nb.mjs +0 -1234
  209. package/dist/artifactRetention-CPXkUJXp.mjs +0 -598
  210. package/dist/artifacts-DkfosXH3.mjs +0 -59
  211. package/dist/authorization-schema-DRqyJMSk.mjs +0 -31
  212. package/dist/betterSqlite3-DLSBZodi.mjs +0 -74
  213. package/dist/binary-instrument--V3MAhJ4.mjs +0 -971
  214. package/dist/bind-helpers-ClV34xdn.mjs +0 -42
  215. package/dist/boringssl-inspector-Bo_LOLaS.mjs +0 -180
  216. package/dist/browser-Dx3_S2cG.mjs +0 -4369
  217. package/dist/capabilities-CcHlvWgK.mjs +0 -33
  218. package/dist/chunk-CjcI7cDX.mjs +0 -15
  219. package/dist/concurrency-Drev_Vz9.mjs +0 -41
  220. package/dist/constants-CDZLOoVv.mjs +0 -534
  221. package/dist/coordination-DgItD9DL.mjs +0 -259
  222. package/dist/debugger-RS3RSAqs.mjs +0 -1288
  223. package/dist/definitions-BEoYofW5.mjs +0 -47
  224. package/dist/definitions-BRaefg3u.mjs +0 -365
  225. package/dist/definitions-BbkvZkiv.mjs +0 -96
  226. package/dist/definitions-BtWSHJ3o.mjs +0 -17
  227. package/dist/definitions-C1gCHO0i.mjs +0 -43
  228. package/dist/definitions-CDOg_b-l.mjs +0 -138
  229. package/dist/definitions-CVPD9hzZ.mjs +0 -54
  230. package/dist/definitions-Cea8Lgl7.mjs +0 -94
  231. package/dist/definitions-DAgIyjxM.mjs +0 -10
  232. package/dist/definitions-DJA27nsL.mjs +0 -66
  233. package/dist/definitions-DKPFU3LW.mjs +0 -25
  234. package/dist/definitions-DPRpZQ96.mjs +0 -47
  235. package/dist/definitions-DUE5gmdn.mjs +0 -18
  236. package/dist/definitions-DYVjOtxa.mjs +0 -26
  237. package/dist/definitions-DcYLVLCo.mjs +0 -37
  238. package/dist/definitions-Pp5LI2H4.mjs +0 -27
  239. package/dist/definitions-j9KdHVNR.mjs +0 -14
  240. package/dist/definitions-uzkjBwa7.mjs +0 -258
  241. package/dist/definitions-va-AnLuQ.mjs +0 -28
  242. package/dist/encoding-DJeqHmpd.mjs +0 -1079
  243. package/dist/evidence-graph-bridge-DcYizFk2.mjs +0 -136
  244. package/dist/factory-C90tBff6.mjs +0 -575
  245. package/dist/flat-target-session-Dgax2Cy3.mjs +0 -29
  246. package/dist/formatAddress-nnMvEohD.mjs +0 -17
  247. package/dist/graphql-CoHrhweh.mjs +0 -1197
  248. package/dist/handlers-4jmR0nMs.mjs +0 -898
  249. package/dist/handlers-BAHPxcch.mjs +0 -789
  250. package/dist/handlers-BOs9b907.mjs +0 -2600
  251. package/dist/handlers-BWXEy6ef.mjs +0 -917
  252. package/dist/handlers-Bndn6QvE.mjs +0 -111
  253. package/dist/handlers-BqC4bD4s.mjs +0 -681
  254. package/dist/handlers-BtYq60bM2.mjs +0 -276
  255. package/dist/handlers-BzgcB4iv.mjs +0 -799
  256. package/dist/handlers-CRyRWj2b.mjs +0 -859
  257. package/dist/handlers-CVv2H1uq.mjs +0 -592
  258. package/dist/handlers-Dl5a7JS4.mjs +0 -572
  259. package/dist/handlers-Dx2d7jt7.mjs +0 -2537
  260. package/dist/handlers-HujRKC3b.mjs +0 -661
  261. package/dist/handlers.impl-XWXkQfyi.mjs +0 -807
  262. package/dist/hooks-B1B8NRHL.mjs +0 -898
  263. package/dist/logger-Dh_xb7_2.mjs +0 -93
  264. package/dist/maintenance-PRMkLVRW.mjs +0 -835
  265. package/dist/manifest-67Bok-Si.mjs +0 -58
  266. package/dist/manifest-6lNTMZAB2.mjs +0 -87
  267. package/dist/manifest-B2duEHiH.mjs +0 -90
  268. package/dist/manifest-B6EY9Vm8.mjs +0 -57
  269. package/dist/manifest-B6nKSbyY.mjs +0 -95
  270. package/dist/manifest-BL8AQNPF.mjs +0 -106
  271. package/dist/manifest-BSZvJJmV.mjs +0 -47
  272. package/dist/manifest-BU7qzUyX.mjs +0 -418
  273. package/dist/manifest-Bl62e8WK.mjs +0 -49
  274. package/dist/manifest-Bo5cXjdt.mjs +0 -82
  275. package/dist/manifest-BpS4gtUK.mjs +0 -1347
  276. package/dist/manifest-Bv65_e2W.mjs +0 -101
  277. package/dist/manifest-BytNIF4Z.mjs +0 -117
  278. package/dist/manifest-C-xtsjS3.mjs +0 -81
  279. package/dist/manifest-CDYl7OhA.mjs +0 -66
  280. package/dist/manifest-CRZ3xmkD.mjs +0 -61
  281. package/dist/manifest-CoW6u4Tp.mjs +0 -132
  282. package/dist/manifest-Cq5zN_8A.mjs +0 -50
  283. package/dist/manifest-D7YZM_2e.mjs +0 -194
  284. package/dist/manifest-DE_VrAeQ.mjs +0 -314
  285. package/dist/manifest-DGsXSCpT.mjs +0 -39
  286. package/dist/manifest-DJ2vfEuW.mjs +0 -156
  287. package/dist/manifest-DPXDYhEu.mjs +0 -80
  288. package/dist/manifest-Dd4fQb0a.mjs +0 -322
  289. package/dist/manifest-Deq6opGg.mjs +0 -223
  290. package/dist/manifest-DfJTafJK.mjs +0 -37
  291. package/dist/manifest-DgOdgN_j.mjs +0 -50
  292. package/dist/manifest-DlbMW4v4.mjs +0 -47
  293. package/dist/manifest-DmVfbH0w.mjs +0 -374
  294. package/dist/manifest-Dog6Ddjr.mjs +0 -109
  295. package/dist/manifest-DvgU5FWb.mjs +0 -58
  296. package/dist/manifest-HsfDBs7j.mjs +0 -50
  297. package/dist/manifest-I8oQHvCG.mjs +0 -186
  298. package/dist/manifest-NvH_a-av.mjs +0 -786
  299. package/dist/manifest-cEJU1v0Z.mjs +0 -129
  300. package/dist/manifest-wOl5XLB12.mjs +0 -112
  301. package/dist/modules-tZozf0LQ.mjs +0 -10635
  302. package/dist/mojo-ipc-DXNEXEqb.mjs +0 -640
  303. package/dist/network-CPVvwvFg.mjs +0 -3852
  304. package/dist/outputPaths-um7lCRY3.mjs +0 -1141
  305. package/dist/parse-args-B4cY5Vx5.mjs +0 -39
  306. package/dist/platform-CYeFoTWp.mjs +0 -2161
  307. package/dist/process-BTbgcVc6.mjs +0 -1306
  308. package/dist/proxy-r8YN6nP1.mjs +0 -192
  309. package/dist/registry-Bl8ZQW61.mjs +0 -34
  310. package/dist/response-CWhh2aLo.mjs +0 -34
  311. package/dist/shared-state-board-BoZnSoj-.mjs +0 -586
  312. package/dist/sourcemap-BIDHUVXy.mjs +0 -934
  313. package/dist/ssrf-policy-Dsqd-DTX.mjs +0 -166
  314. package/dist/streaming-Dal6utPp.mjs +0 -725
  315. package/dist/tool-builder-BHJp32mV.mjs +0 -186
  316. package/dist/transform-DRVgGG90.mjs +0 -1011
  317. package/dist/types-Bx92KJfT.mjs +0 -4
  318. package/dist/types-DDBWs9UP.mjs +0 -37
  319. package/dist/wasm-BYx5UOeG.mjs +0 -1044
  320. package/dist/webcrack-Be0_FccV.mjs +0 -747
  321. package/dist/workflow-BpuKEtvn.mjs +0 -725
@@ -1,786 +0,0 @@
1
- import { i as asToolResponse } from "./response-CWhh2aLo.mjs";
2
- import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
3
- import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
4
- //#region src/server/domains/boringssl-inspector/definitions/support.ts
5
- const TLS_VERSION_VALUES = [
6
- "TLSv1",
7
- "TLSv1.1",
8
- "TLSv1.2",
9
- "TLSv1.3"
10
- ];
11
- function objectTool(name, description, properties = {}, required = []) {
12
- return {
13
- name,
14
- description,
15
- inputSchema: {
16
- type: "object",
17
- properties,
18
- required
19
- }
20
- };
21
- }
22
- //#endregion
23
- //#region src/server/domains/boringssl-inspector/definitions/frida-tools.ts
24
- const fridaTools = [objectTool("tls_cert_pin_bypass_frida", "Bypass certificate pinning via Frida injection (supports BoringSSL, Chrome, OkHttp).")];
25
- //#endregion
26
- //#region src/server/domains/boringssl-inspector/definitions/raw-socket-tools.ts
27
- const rawSocketTools = [
28
- objectTool("net_raw_tcp_send", "Send raw TCP data to a remote host; accepts hex or text input.", {
29
- host: {
30
- type: "string",
31
- default: "127.0.0.1",
32
- description: "Target host address"
33
- },
34
- port: {
35
- type: "number",
36
- description: "Target port number (1-65535)"
37
- },
38
- dataHex: {
39
- type: "string",
40
- description: "Hex-encoded data to send"
41
- },
42
- dataText: {
43
- type: "string",
44
- description: "Text data to send (alternative to dataHex)"
45
- },
46
- timeout: {
47
- type: "number",
48
- default: 5e3,
49
- description: "Connection timeout in ms"
50
- }
51
- }, ["port"]),
52
- objectTool("net_raw_tcp_listen", "Listen on a local TCP port for one incoming connection.", {
53
- port: {
54
- type: "number",
55
- description: "Local port to listen on (1-65535)"
56
- },
57
- timeout: {
58
- type: "number",
59
- default: 1e4,
60
- description: "Listen timeout in ms"
61
- }
62
- }, ["port"]),
63
- objectTool("net_raw_udp_send", "Send a raw UDP datagram and wait for a response.", {
64
- host: {
65
- type: "string",
66
- default: "127.0.0.1",
67
- description: "Target host address"
68
- },
69
- port: {
70
- type: "number",
71
- description: "Target port number (1-65535)"
72
- },
73
- dataHex: {
74
- type: "string",
75
- description: "Hex-encoded data to send"
76
- },
77
- dataText: {
78
- type: "string",
79
- description: "Text data to send (alternative to dataHex)"
80
- },
81
- timeout: {
82
- type: "number",
83
- default: 5e3,
84
- description: "Response timeout in ms"
85
- }
86
- }, ["port"]),
87
- objectTool("net_raw_udp_listen", "Listen on a local UDP port for an incoming datagram.", {
88
- port: {
89
- type: "number",
90
- description: "Local port to listen on (1-65535)"
91
- },
92
- timeout: {
93
- type: "number",
94
- default: 1e4,
95
- description: "Listen timeout in ms"
96
- }
97
- }, ["port"])
98
- ];
99
- //#endregion
100
- //#region src/server/domains/boringssl-inspector/definitions/session-tools.ts
101
- const sessionTools = [
102
- objectTool("tcp_open", "Open a TCP session.", {
103
- host: {
104
- type: "string",
105
- default: "127.0.0.1",
106
- description: "Target host name or IP address"
107
- },
108
- port: {
109
- type: "number",
110
- description: "Target TCP port"
111
- },
112
- timeoutMs: {
113
- type: "number",
114
- default: 5e3,
115
- description: "Connection timeout in milliseconds"
116
- },
117
- noDelay: {
118
- type: "boolean",
119
- default: true,
120
- description: "Enable TCP_NODELAY on the socket after connect"
121
- }
122
- }, ["port"]),
123
- objectTool("tcp_write", "Write data to an open TCP session.", {
124
- sessionId: {
125
- type: "string",
126
- description: "TCP session ID"
127
- },
128
- dataHex: {
129
- type: "string",
130
- description: "Hex-encoded payload to write"
131
- },
132
- dataText: {
133
- type: "string",
134
- description: "UTF-8 text payload to write"
135
- },
136
- timeoutMs: {
137
- type: "number",
138
- default: 5e3,
139
- description: "Write timeout in milliseconds"
140
- }
141
- }, ["sessionId"]),
142
- objectTool("tcp_read_until", "Read from an open TCP session until a delimiter or byte limit is reached.", {
143
- sessionId: {
144
- type: "string",
145
- description: "TCP session ID"
146
- },
147
- delimiterHex: {
148
- type: "string",
149
- description: "Hex-encoded delimiter to stop at"
150
- },
151
- delimiterText: {
152
- type: "string",
153
- description: "UTF-8 delimiter to stop at"
154
- },
155
- includeDelimiter: {
156
- type: "boolean",
157
- default: true,
158
- description: "Include the delimiter bytes in the returned payload"
159
- },
160
- maxBytes: {
161
- type: "number",
162
- description: "Optional maximum number of bytes to return even if no delimiter matches"
163
- },
164
- timeoutMs: {
165
- type: "number",
166
- default: 5e3,
167
- description: "Read timeout in milliseconds"
168
- }
169
- }, ["sessionId"]),
170
- objectTool("tcp_close", "Close an open TCP session.", {
171
- sessionId: {
172
- type: "string",
173
- description: "TCP session ID"
174
- },
175
- force: {
176
- type: "boolean",
177
- default: false,
178
- description: "Destroy the socket immediately instead of sending FIN first"
179
- },
180
- timeoutMs: {
181
- type: "number",
182
- default: 1e3,
183
- description: "Close wait timeout in milliseconds before forcing socket destruction"
184
- }
185
- }, ["sessionId"]),
186
- objectTool("tls_open", "Open a TLS session.", {
187
- host: {
188
- type: "string",
189
- description: "Target host name or IP address"
190
- },
191
- port: {
192
- type: "number",
193
- default: 443,
194
- description: "Target TLS port"
195
- },
196
- servername: {
197
- type: "string",
198
- description: "Optional SNI and hostname validation override"
199
- },
200
- alpnProtocols: {
201
- type: "array",
202
- items: { type: "string" },
203
- description: "Optional ALPN protocols to offer"
204
- },
205
- timeoutMs: {
206
- type: "number",
207
- default: 5e3,
208
- description: "Connection timeout in milliseconds"
209
- },
210
- minVersion: {
211
- type: "string",
212
- enum: [...TLS_VERSION_VALUES],
213
- description: "Optional minimum TLS version"
214
- },
215
- maxVersion: {
216
- type: "string",
217
- enum: [...TLS_VERSION_VALUES],
218
- description: "Optional maximum TLS version"
219
- },
220
- caPem: {
221
- type: "string",
222
- description: "Optional PEM-encoded CA bundle"
223
- },
224
- caPath: {
225
- type: "string",
226
- description: "Optional path to a PEM-encoded CA bundle"
227
- },
228
- allowInvalidCertificates: {
229
- type: "boolean",
230
- default: false,
231
- description: "Allow untrusted certificate chains while still reporting the failure"
232
- },
233
- skipHostnameCheck: {
234
- type: "boolean",
235
- default: false,
236
- description: "Skip hostname verification while still reporting the requested target"
237
- }
238
- }, ["host"]),
239
- objectTool("tls_write", "Write data to an open TLS session.", {
240
- sessionId: {
241
- type: "string",
242
- description: "TLS session ID"
243
- },
244
- dataHex: {
245
- type: "string",
246
- description: "Hex-encoded payload to write"
247
- },
248
- dataText: {
249
- type: "string",
250
- description: "UTF-8 text payload to write"
251
- },
252
- timeoutMs: {
253
- type: "number",
254
- default: 5e3,
255
- description: "Write timeout in milliseconds"
256
- }
257
- }, ["sessionId"]),
258
- objectTool("tls_read_until", "Read from an open TLS session until a delimiter or byte limit is reached.", {
259
- sessionId: {
260
- type: "string",
261
- description: "TLS session ID"
262
- },
263
- delimiterHex: {
264
- type: "string",
265
- description: "Hex-encoded delimiter to stop at"
266
- },
267
- delimiterText: {
268
- type: "string",
269
- description: "UTF-8 delimiter to stop at"
270
- },
271
- includeDelimiter: {
272
- type: "boolean",
273
- default: true,
274
- description: "Include the delimiter bytes in the returned payload"
275
- },
276
- maxBytes: {
277
- type: "number",
278
- description: "Optional maximum number of bytes to return even if no delimiter matches"
279
- },
280
- timeoutMs: {
281
- type: "number",
282
- default: 5e3,
283
- description: "Read timeout in milliseconds"
284
- }
285
- }, ["sessionId"]),
286
- objectTool("tls_close", "Close an open TLS session.", {
287
- sessionId: {
288
- type: "string",
289
- description: "TLS session ID"
290
- },
291
- force: {
292
- type: "boolean",
293
- default: false,
294
- description: "Destroy the TLS socket immediately instead of sending close_notify/FIN first"
295
- },
296
- timeoutMs: {
297
- type: "number",
298
- default: 1e3,
299
- description: "Close wait timeout in milliseconds before forcing socket destruction"
300
- }
301
- }, ["sessionId"])
302
- ];
303
- //#endregion
304
- //#region src/server/domains/boringssl-inspector/definitions/tls-analysis-tools.ts
305
- const tlsAnalysisTools = [
306
- objectTool("tls_keylog_enable", "Enable SSLKEYLOGFILE output for BoringSSL-compatible clients."),
307
- objectTool("tls_keylog_parse", "Parse an SSLKEYLOGFILE and summarize available key material.", { path: {
308
- type: "string",
309
- description: "Path to SSLKEYLOGFILE"
310
- } }),
311
- objectTool("tls_keylog_disable", "Disable SSLKEYLOGFILE capture and unset the environment variable.", { path: {
312
- type: "string",
313
- description: "Path to disable"
314
- } }),
315
- objectTool("tls_decrypt_payload", "Decrypt a TLS payload using a provided key, nonce, and algorithm.", {
316
- encryptedHex: {
317
- type: "string",
318
- description: "Hex-encoded encrypted payload"
319
- },
320
- keyHex: {
321
- type: "string",
322
- description: "Hex-encoded decryption key"
323
- },
324
- nonceHex: {
325
- type: "string",
326
- description: "Hex-encoded nonce/IV"
327
- },
328
- algorithm: {
329
- type: "string",
330
- description: "Cipher algorithm",
331
- default: "aes-256-gcm"
332
- },
333
- authTagHex: {
334
- type: "string",
335
- description: "Hex-encoded authentication tag"
336
- }
337
- }, [
338
- "encryptedHex",
339
- "keyHex",
340
- "nonceHex"
341
- ]),
342
- objectTool("tls_keylog_summarize", "Summarize the contents of an SSLKEYLOGFILE by label distribution.", { content: {
343
- type: "string",
344
- description: "Inline keylog content to summarize"
345
- } }),
346
- objectTool("tls_keylog_lookup_secret", "Look up a TLS secret by client random hex from the parsed keylog.", {
347
- clientRandom: {
348
- type: "string",
349
- description: "Hex-encoded client random"
350
- },
351
- label: {
352
- type: "string",
353
- description: "Optional label filter"
354
- }
355
- }, ["clientRandom"]),
356
- objectTool("tls_cert_pin_bypass", "Return a certificate pinning bypass strategy for the selected platform.", { target: {
357
- type: "string",
358
- enum: [
359
- "android",
360
- "ios",
361
- "desktop"
362
- ],
363
- description: "Target platform for bypass strategy"
364
- } }, ["target"]),
365
- objectTool("tls_parse_handshake", "Parse TLS handshake metadata from raw hex.", {
366
- rawHex: {
367
- type: "string",
368
- description: "Hex-encoded TLS handshake record"
369
- },
370
- decrypt: {
371
- type: "boolean",
372
- description: "Attempt payload decryption using the loaded keylog"
373
- }
374
- }, ["rawHex"]),
375
- objectTool("tls_cipher_suites", "List TLS cipher suites.", { filter: {
376
- type: "string",
377
- description: "Keyword filter for cipher suite names"
378
- } }),
379
- objectTool("tls_parse_certificate", "Parse a TLS Certificate message from raw hex and extract fingerprints.", { rawHex: {
380
- type: "string",
381
- description: "Hex-encoded certificate data"
382
- } }, ["rawHex"]),
383
- objectTool("tls_probe_endpoint", "Probe a TLS endpoint and report handshake and certificate details.", {
384
- host: {
385
- type: "string",
386
- description: "Target host name or IP address"
387
- },
388
- port: {
389
- type: "number",
390
- default: 443,
391
- description: "Target TLS port"
392
- },
393
- servername: {
394
- type: "string",
395
- description: "Optional SNI and hostname validation override"
396
- },
397
- alpnProtocols: {
398
- type: "array",
399
- items: { type: "string" },
400
- description: "Optional ALPN protocols to offer"
401
- },
402
- timeoutMs: {
403
- type: "number",
404
- default: 5e3,
405
- description: "Probe timeout in milliseconds"
406
- },
407
- minVersion: {
408
- type: "string",
409
- enum: [...TLS_VERSION_VALUES],
410
- description: "Optional minimum TLS version"
411
- },
412
- maxVersion: {
413
- type: "string",
414
- enum: [...TLS_VERSION_VALUES],
415
- description: "Optional maximum TLS version"
416
- },
417
- caPem: {
418
- type: "string",
419
- description: "Optional PEM-encoded CA bundle"
420
- },
421
- caPath: {
422
- type: "string",
423
- description: "Optional path to a PEM-encoded CA bundle"
424
- },
425
- allowInvalidCertificates: {
426
- type: "boolean",
427
- default: false,
428
- description: "Allow untrusted certificate chains while still reporting the failure"
429
- },
430
- skipHostnameCheck: {
431
- type: "boolean",
432
- default: false,
433
- description: "Skip hostname verification while still reporting the requested target"
434
- }
435
- }, ["host"])
436
- ];
437
- //#endregion
438
- //#region src/server/domains/boringssl-inspector/definitions/websocket-tools.ts
439
- const websocketTools = [
440
- objectTool("websocket_open", "Open a WebSocket session.", {
441
- url: {
442
- type: "string",
443
- description: "WebSocket URL"
444
- },
445
- scheme: {
446
- type: "string",
447
- enum: ["ws", "wss"],
448
- default: "ws",
449
- description: "WebSocket transport scheme"
450
- },
451
- host: {
452
- type: "string",
453
- description: "Target host name or IP address"
454
- },
455
- port: {
456
- type: "number",
457
- description: "Target port"
458
- },
459
- path: {
460
- type: "string",
461
- default: "/",
462
- description: "Request path"
463
- },
464
- subprotocols: {
465
- type: "array",
466
- items: { type: "string" },
467
- description: "Optional subprotocols to offer"
468
- },
469
- timeoutMs: {
470
- type: "number",
471
- default: 5e3,
472
- description: "Handshake timeout in milliseconds"
473
- },
474
- servername: {
475
- type: "string",
476
- description: "Optional SNI and hostname validation override"
477
- },
478
- alpnProtocols: {
479
- type: "array",
480
- items: { type: "string" },
481
- description: "Optional ALPN protocols to offer"
482
- },
483
- minVersion: {
484
- type: "string",
485
- enum: [...TLS_VERSION_VALUES],
486
- description: "Optional minimum TLS version"
487
- },
488
- maxVersion: {
489
- type: "string",
490
- enum: [...TLS_VERSION_VALUES],
491
- description: "Optional maximum TLS version"
492
- },
493
- caPem: {
494
- type: "string",
495
- description: "Optional PEM-encoded CA bundle"
496
- },
497
- caPath: {
498
- type: "string",
499
- description: "Optional path to a PEM-encoded CA bundle"
500
- },
501
- allowInvalidCertificates: {
502
- type: "boolean",
503
- default: false,
504
- description: "Allow untrusted certificate chains"
505
- },
506
- skipHostnameCheck: {
507
- type: "boolean",
508
- default: false,
509
- description: "Skip hostname verification"
510
- }
511
- }),
512
- objectTool("websocket_send_frame", "Send a WebSocket frame.", {
513
- sessionId: {
514
- type: "string",
515
- description: "WebSocket session ID"
516
- },
517
- frameType: {
518
- type: "string",
519
- enum: [
520
- "text",
521
- "binary",
522
- "ping",
523
- "pong",
524
- "close"
525
- ],
526
- description: "Outgoing frame opcode"
527
- },
528
- dataText: {
529
- type: "string",
530
- description: "UTF-8 payload for text/ping/pong/close frames"
531
- },
532
- dataHex: {
533
- type: "string",
534
- description: "Hex-encoded payload for binary/ping/pong/close frames"
535
- },
536
- closeCode: {
537
- type: "number",
538
- description: "Optional close status code"
539
- },
540
- closeReason: {
541
- type: "string",
542
- description: "Optional close reason"
543
- },
544
- timeoutMs: {
545
- type: "number",
546
- default: 5e3,
547
- description: "Write timeout in milliseconds"
548
- }
549
- }, ["sessionId", "frameType"]),
550
- objectTool("websocket_read_frame", "Read the next queued WebSocket frame from an open session.", {
551
- sessionId: {
552
- type: "string",
553
- description: "WebSocket session ID"
554
- },
555
- timeoutMs: {
556
- type: "number",
557
- default: 5e3,
558
- description: "Read timeout in milliseconds"
559
- }
560
- }, ["sessionId"]),
561
- objectTool("websocket_close", "Close an open WebSocket session.", {
562
- sessionId: {
563
- type: "string",
564
- description: "WebSocket session ID"
565
- },
566
- force: {
567
- type: "boolean",
568
- default: false,
569
- description: "Destroy the underlying socket immediately without sending a close frame first"
570
- },
571
- closeCode: {
572
- type: "number",
573
- description: "Optional close status code"
574
- },
575
- closeReason: {
576
- type: "string",
577
- description: "Optional close reason"
578
- },
579
- timeoutMs: {
580
- type: "number",
581
- default: 1e3,
582
- description: "Close wait timeout in milliseconds before forcing socket destruction"
583
- }
584
- }, ["sessionId"])
585
- ];
586
- //#endregion
587
- //#region src/server/domains/boringssl-inspector/definitions.ts
588
- const boringsslInspectorTools = [
589
- ...tlsAnalysisTools,
590
- ...sessionTools,
591
- ...websocketTools,
592
- ...fridaTools,
593
- ...rawSocketTools
594
- ];
595
- //#endregion
596
- //#region src/server/domains/boringssl-inspector/manifest.ts
597
- const DOMAIN = "boringssl-inspector";
598
- const DEP_KEY = "boringsslInspectorHandlers";
599
- const PROFILES = ["workflow", "full"];
600
- const registrations = defineMethodRegistrations({
601
- domain: DOMAIN,
602
- depKey: DEP_KEY,
603
- lookup: toolLookup(boringsslInspectorTools),
604
- wrapResult: asToolResponse,
605
- entries: [
606
- {
607
- tool: "tls_keylog_enable",
608
- method: "handleTlsKeylogEnable"
609
- },
610
- {
611
- tool: "tls_keylog_parse",
612
- method: "handleTlsKeylogParse"
613
- },
614
- {
615
- tool: "tls_keylog_disable",
616
- method: "handleTlsKeylogDisable"
617
- },
618
- {
619
- tool: "tls_decrypt_payload",
620
- method: "handleTlsDecryptPayload"
621
- },
622
- {
623
- tool: "tls_keylog_summarize",
624
- method: "handleTlsKeylogSummarize"
625
- },
626
- {
627
- tool: "tls_keylog_lookup_secret",
628
- method: "handleTlsKeylogLookupSecret"
629
- },
630
- {
631
- tool: "tls_cert_pin_bypass",
632
- method: "handleTlsCertPinBypass"
633
- },
634
- {
635
- tool: "tls_parse_handshake",
636
- method: "handleParseHandshake"
637
- },
638
- {
639
- tool: "tls_cipher_suites",
640
- method: "handleCipherSuites"
641
- },
642
- {
643
- tool: "tls_parse_certificate",
644
- method: "handleParseCertificate"
645
- },
646
- {
647
- tool: "tls_probe_endpoint",
648
- method: "handleTlsProbeEndpoint"
649
- },
650
- {
651
- tool: "tcp_open",
652
- method: "handleTcpOpen"
653
- },
654
- {
655
- tool: "tcp_write",
656
- method: "handleTcpWrite"
657
- },
658
- {
659
- tool: "tcp_read_until",
660
- method: "handleTcpReadUntil"
661
- },
662
- {
663
- tool: "tcp_close",
664
- method: "handleTcpClose"
665
- },
666
- {
667
- tool: "tls_open",
668
- method: "handleTlsOpen"
669
- },
670
- {
671
- tool: "tls_write",
672
- method: "handleTlsWrite"
673
- },
674
- {
675
- tool: "tls_read_until",
676
- method: "handleTlsReadUntil"
677
- },
678
- {
679
- tool: "tls_close",
680
- method: "handleTlsClose"
681
- },
682
- {
683
- tool: "websocket_open",
684
- method: "handleWebSocketOpen"
685
- },
686
- {
687
- tool: "websocket_send_frame",
688
- method: "handleWebSocketSendFrame"
689
- },
690
- {
691
- tool: "websocket_read_frame",
692
- method: "handleWebSocketReadFrame"
693
- },
694
- {
695
- tool: "websocket_close",
696
- method: "handleWebSocketClose"
697
- },
698
- {
699
- tool: "tls_cert_pin_bypass_frida",
700
- method: "handleBypassCertPinning"
701
- },
702
- {
703
- tool: "net_raw_tcp_send",
704
- method: "handleRawTcpSend"
705
- },
706
- {
707
- tool: "net_raw_tcp_listen",
708
- method: "handleRawTcpListen"
709
- },
710
- {
711
- tool: "net_raw_udp_send",
712
- method: "handleRawUdpSend"
713
- },
714
- {
715
- tool: "net_raw_udp_listen",
716
- method: "handleRawUdpListen"
717
- }
718
- ]
719
- });
720
- async function ensure(ctx) {
721
- const { BoringsslInspectorHandlers } = await import("./handlers-BOs9b907.mjs");
722
- const { TLSKeyLogExtractor } = await import("./boringssl-inspector-Bo_LOLaS.mjs").then((n) => n.t);
723
- const existing = ctx.getDomainInstance(DEP_KEY);
724
- if (existing) return existing;
725
- const handlers = new BoringsslInspectorHandlers(new TLSKeyLogExtractor());
726
- handlers.setExtensionInvoke(async (args) => {
727
- try {
728
- const binaryInstrument = ctx.getDomainInstance("binaryInstrumentHandlers");
729
- if (binaryInstrument && typeof binaryInstrument.handleFridaRunScript === "function") return binaryInstrument.handleFridaRunScript(args);
730
- } catch {}
731
- return null;
732
- });
733
- handlers.setEventBus(ctx.eventBus);
734
- ctx.setDomainInstance(DEP_KEY, handlers);
735
- return handlers;
736
- }
737
- const manifest = {
738
- kind: "domain-manifest",
739
- version: 1,
740
- domain: DOMAIN,
741
- depKey: DEP_KEY,
742
- profiles: PROFILES,
743
- registrations,
744
- ensure,
745
- workflowRule: {
746
- patterns: [/\b(tls|ssl|boringssl|cert(ificate)?|pinning|handshake|keylog|websocket)\b/i, /(tls|ssl|cert|pinning|websocket).*(hook|bypass|intercept|dump|log|frame|session)/i],
747
- priority: 80,
748
- tools: [
749
- "tls_probe_endpoint",
750
- "websocket_open",
751
- "websocket_send_frame",
752
- "websocket_read_frame",
753
- "tls_keylog_enable",
754
- "tls_keylog_parse",
755
- "tls_decrypt_payload",
756
- "tls_cert_pin_bypass"
757
- ],
758
- hint: "TLS/WebSocket analysis: probe endpoint → open ws/wss session → exchange frames → inspect trust/cipher/ALPN → enable keylog or bypass pinning when needed."
759
- },
760
- prerequisites: {
761
- tls_probe_endpoint: [{
762
- condition: "Target scope must be explicitly authorized and routable from the MCP host",
763
- fix: "Verify target authorization, port reachability, and provide servername/custom CA options when needed"
764
- }],
765
- tls_keylog_enable: [{
766
- condition: "Target process must allow SSLKEYLOGFILE or be attachable by Frida",
767
- fix: "Launch the target with SSLKEYLOGFILE env set, or enable Frida-based hooking"
768
- }],
769
- tls_decrypt_payload: [{
770
- condition: "A keylog session must be active with captured secrets",
771
- fix: "Run tls_keylog_enable and reproduce TLS traffic before decrypting"
772
- }],
773
- tls_cert_pin_bypass_frida: [{
774
- condition: "Frida must be available on PATH and attached to the target",
775
- fix: "Install Frida and attach via binary-instrument:frida_attach before running the bypass"
776
- }]
777
- },
778
- toolDependencies: [{
779
- from: "network",
780
- to: "boringssl-inspector",
781
- relation: "uses",
782
- weight: .8
783
- }]
784
- };
785
- //#endregion
786
- export { manifest as default };