@eyeauras/insight-cli 0.1.0 → 0.2.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 (391) hide show
  1. package/.cli-package-build.json +1 -1
  2. package/README.md +33 -2
  3. package/SKILL.md +38 -51
  4. package/dist/src/administration-results.js +1 -1
  5. package/dist/src/administration.d.ts +1 -1
  6. package/dist/src/administration.js +16 -2
  7. package/dist/src/binary.d.ts +3 -0
  8. package/dist/src/binary.js +74 -0
  9. package/dist/src/capture.d.ts +3 -0
  10. package/dist/src/capture.js +220 -0
  11. package/dist/src/cli.js +91 -14
  12. package/dist/src/contexts.d.ts +5 -0
  13. package/dist/src/contexts.js +54 -18
  14. package/dist/src/debugger-caller.d.ts +17 -0
  15. package/dist/src/debugger-caller.js +129 -0
  16. package/dist/src/debugger-launch.d.ts +2 -0
  17. package/dist/src/debugger-launch.js +17 -0
  18. package/dist/src/debugger-results.d.ts +1 -0
  19. package/dist/src/debugger-results.js +8 -0
  20. package/dist/src/debugger-supervisor.js +56 -13
  21. package/dist/src/debugger.js +16 -7
  22. package/dist/src/die.d.ts +12 -0
  23. package/dist/src/die.js +127 -0
  24. package/dist/src/dnspy-runtime.d.ts +8 -0
  25. package/dist/src/dnspy-runtime.js +46 -0
  26. package/dist/src/dnspy.d.ts +22 -0
  27. package/dist/src/dnspy.js +160 -0
  28. package/dist/src/dotnet-diagnostics.d.ts +13 -0
  29. package/dist/src/dotnet-diagnostics.js +101 -0
  30. package/dist/src/frida-worker.d.ts +1 -0
  31. package/dist/src/frida-worker.js +125 -0
  32. package/dist/src/frida.d.ts +16 -0
  33. package/dist/src/frida.js +125 -0
  34. package/dist/src/ghidra-debugger-runtime.d.ts +7 -0
  35. package/dist/src/ghidra-debugger-runtime.js +31 -0
  36. package/dist/src/ghidra-processes.d.ts +6 -0
  37. package/dist/src/ghidra-processes.js +121 -0
  38. package/dist/src/ghidra.js +6 -6
  39. package/dist/src/ilspy.d.ts +7 -0
  40. package/dist/src/ilspy.js +122 -0
  41. package/dist/src/lifecycle.d.ts +1 -1
  42. package/dist/src/lifecycle.js +8 -2
  43. package/dist/src/lldb.d.ts +10 -0
  44. package/dist/src/lldb.js +99 -0
  45. package/dist/src/llvm.d.ts +6 -0
  46. package/dist/src/llvm.js +133 -0
  47. package/dist/src/managed-heap.d.ts +4 -0
  48. package/dist/src/managed-heap.js +73 -0
  49. package/dist/src/managed-metadata.d.ts +11 -0
  50. package/dist/src/managed-metadata.js +66 -0
  51. package/dist/src/mitmproxy.d.ts +55 -0
  52. package/dist/src/mitmproxy.js +172 -0
  53. package/dist/src/native-inputs.d.ts +3 -2
  54. package/dist/src/native-inputs.js +21 -5
  55. package/dist/src/package-version.d.ts +1 -0
  56. package/dist/src/package-version.js +3 -0
  57. package/dist/src/procmon-config.d.ts +2 -0
  58. package/dist/src/procmon-config.js +15 -0
  59. package/dist/src/procmon-events.d.ts +13 -0
  60. package/dist/src/procmon-events.js +82 -0
  61. package/dist/src/procmon.d.ts +4 -0
  62. package/dist/src/procmon.js +107 -0
  63. package/dist/src/research.d.ts +11 -2
  64. package/dist/src/research.js +5 -3
  65. package/dist/src/runtime-catalog.d.ts +13 -0
  66. package/dist/src/runtime-catalog.js +26 -0
  67. package/dist/src/runtime-manager.d.ts +125 -0
  68. package/dist/src/runtime-manager.js +385 -0
  69. package/dist/src/runtime-selection.d.ts +13 -0
  70. package/dist/src/runtime-selection.js +42 -0
  71. package/dist/src/server.d.ts +15 -0
  72. package/dist/src/server.js +77 -96
  73. package/dist/src/sevenzip.d.ts +15 -0
  74. package/dist/src/sevenzip.js +119 -0
  75. package/dist/src/strace.d.ts +10 -0
  76. package/dist/src/strace.js +71 -0
  77. package/dist/src/text-window.d.ts +11 -0
  78. package/dist/src/text-window.js +6 -0
  79. package/dist/src/tool-runtime/archives.d.ts +10 -0
  80. package/dist/src/tool-runtime/archives.js +194 -0
  81. package/dist/src/tool-runtime/catalog.d.ts +3 -0
  82. package/dist/src/tool-runtime/catalog.js +13 -0
  83. package/dist/src/tool-runtime/commands.d.ts +9 -0
  84. package/dist/src/tool-runtime/commands.js +39 -0
  85. package/dist/src/tool-runtime/deadline.d.ts +11 -0
  86. package/dist/src/tool-runtime/deadline.js +32 -0
  87. package/dist/src/tool-runtime/definition.d.ts +73 -0
  88. package/dist/src/tool-runtime/definition.js +49 -0
  89. package/dist/src/tool-runtime/dotnet.d.ts +4 -0
  90. package/dist/src/tool-runtime/dotnet.js +22 -0
  91. package/dist/src/tool-runtime/identity.d.ts +6 -0
  92. package/dist/src/tool-runtime/identity.js +50 -0
  93. package/dist/src/tool-runtime/installer.d.ts +101 -0
  94. package/dist/src/tool-runtime/installer.js +180 -0
  95. package/dist/src/tool-runtime/launch-worker.d.ts +1 -0
  96. package/dist/src/tool-runtime/launch-worker.js +58 -0
  97. package/dist/src/tool-runtime/run.d.ts +51 -0
  98. package/dist/src/tool-runtime/run.js +159 -0
  99. package/dist/src/tool-runtime/store.d.ts +15 -0
  100. package/dist/src/tool-runtime/store.js +219 -0
  101. package/dist/src/tool-runtime/supervisor.d.ts +57 -0
  102. package/dist/src/tool-runtime/supervisor.js +266 -0
  103. package/dist/src/tool-runtime/windows-job.d.ts +22 -0
  104. package/dist/src/tool-runtime/windows-job.js +43 -0
  105. package/dist/src/toolbox.d.ts +84 -0
  106. package/dist/src/toolbox.js +35 -0
  107. package/dist/src/tshark.d.ts +23 -0
  108. package/dist/src/tshark.js +174 -0
  109. package/dist/src/windbg.d.ts +14 -0
  110. package/dist/src/windbg.js +119 -0
  111. package/dist/src/workspace.d.ts +1 -0
  112. package/dist/src/workspace.js +6 -0
  113. package/package.json +7 -4
  114. package/references/administration.md +2 -1
  115. package/references/agent-execution.md +36 -0
  116. package/references/agent-setup.md +61 -0
  117. package/references/artifacts.md +5 -0
  118. package/references/debugger.md +22 -0
  119. package/references/ilspy.md +33 -0
  120. package/references/managed-runtime.md +157 -0
  121. package/references/native/InsightPythonWheels.java +283 -2
  122. package/references/native/InsightRuntimeDoctor.java +33 -0
  123. package/references/native/InsightTraceState.java +28 -13
  124. package/references/setup.md +6 -3
  125. package/runtime/managed/insight-heap/Azure.Core.dll +0 -0
  126. package/runtime/managed/insight-heap/Azure.Identity.dll +0 -0
  127. package/runtime/managed/insight-heap/Insight.Heap.csproj +1 -0
  128. package/runtime/managed/insight-heap/Insight.Heap.deps.json +391 -0
  129. package/runtime/managed/insight-heap/Insight.Heap.dll +0 -0
  130. package/runtime/managed/insight-heap/Insight.Heap.runtimeconfig.json +13 -0
  131. package/runtime/managed/insight-heap/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
  132. package/runtime/managed/insight-heap/Microsoft.Diagnostics.NETCore.Client.dll +0 -0
  133. package/runtime/managed/insight-heap/Microsoft.Diagnostics.Runtime.dll +0 -0
  134. package/runtime/managed/insight-heap/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  135. package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  136. package/runtime/managed/insight-heap/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  137. package/runtime/managed/insight-heap/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  138. package/runtime/managed/insight-heap/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  139. package/runtime/managed/insight-heap/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  140. package/runtime/managed/insight-heap/Microsoft.Extensions.Options.dll +0 -0
  141. package/runtime/managed/insight-heap/Microsoft.Extensions.Primitives.dll +0 -0
  142. package/runtime/managed/insight-heap/Microsoft.Identity.Client.Extensions.Msal.dll +0 -0
  143. package/runtime/managed/insight-heap/Microsoft.Identity.Client.dll +0 -0
  144. package/runtime/managed/insight-heap/Microsoft.IdentityModel.Abstractions.dll +0 -0
  145. package/runtime/managed/insight-heap/Microsoft.Security.AntiSSRF.dll +0 -0
  146. package/runtime/managed/insight-heap/NuGet.Config +1 -0
  147. package/runtime/managed/insight-heap/Program.cs +20 -0
  148. package/runtime/managed/insight-heap/README.md +16 -0
  149. package/runtime/managed/insight-heap/System.ClientModel.dll +0 -0
  150. package/runtime/managed/insight-heap/System.Memory.Data.dll +0 -0
  151. package/runtime/managed/insight-heap/System.Security.Cryptography.ProtectedData.dll +0 -0
  152. package/runtime/managed/insight-heap/dependencies.json +436 -0
  153. package/runtime/managed/insight-heap/notices/Azure.Core-LICENSE.txt +21 -0
  154. package/runtime/managed/insight-heap/notices/Azure.Identity-LICENSE.txt +21 -0
  155. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-LICENSE.txt +23 -0
  156. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-THIRD-PARTY-NOTICES.TXT +1418 -0
  157. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.NETCore.Client-LICENSE.txt +23 -0
  158. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.Runtime-LICENSE.txt +23 -0
  159. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-LICENSE.txt +23 -0
  160. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  161. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-LICENSE.txt +23 -0
  162. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  163. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-LICENSE.txt +23 -0
  164. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  165. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-LICENSE.txt +23 -0
  166. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  167. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-LICENSE.txt +23 -0
  168. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  169. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-LICENSE.txt +23 -0
  170. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  171. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-LICENSE.txt +23 -0
  172. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-THIRD-PARTY-NOTICES.TXT +1418 -0
  173. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-LICENSE.txt +23 -0
  174. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-THIRD-PARTY-NOTICES.TXT +1418 -0
  175. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client-LICENSE.txt +21 -0
  176. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client.Extensions.Msal-LICENSE.txt +21 -0
  177. package/runtime/managed/insight-heap/notices/Microsoft.IdentityModel.Abstractions-LICENSE.txt +21 -0
  178. package/runtime/managed/insight-heap/notices/Microsoft.Security.AntiSSRF-LICENSE.txt +21 -0
  179. package/runtime/managed/insight-heap/notices/System.ClientModel-LICENSE.txt +21 -0
  180. package/runtime/managed/insight-heap/notices/System.Memory.Data-LICENSE.txt +23 -0
  181. package/runtime/managed/insight-heap/notices/System.Memory.Data-THIRD-PARTY-NOTICES.TXT +1418 -0
  182. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-LICENSE.TXT +23 -0
  183. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-THIRD-PARTY-NOTICES.TXT +309 -0
  184. package/runtime/managed/insight-heap/packages.lock.json +165 -0
  185. package/runtime/managed/insight-heap/provenance.json +146 -0
  186. package/runtime/managed/insight-heap/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  187. package/runtime/managed/insight-managed/Insight.Managed.csproj +4 -0
  188. package/runtime/managed/insight-managed/Insight.Managed.deps.json +41 -0
  189. package/runtime/managed/insight-managed/Insight.Managed.dll +0 -0
  190. package/runtime/managed/insight-managed/Insight.Managed.runtimeconfig.json +13 -0
  191. package/runtime/managed/insight-managed/LICENSE.dnlib.txt +20 -0
  192. package/runtime/managed/insight-managed/NuGet.Config +1 -0
  193. package/runtime/managed/insight-managed/Program.cs +31 -0
  194. package/runtime/managed/insight-managed/README.md +16 -0
  195. package/runtime/managed/insight-managed/dnlib.dll +0 -0
  196. package/runtime/managed/insight-managed/packages.lock.json +13 -0
  197. package/runtime/managed/insight-managed/provenance.json +40 -0
  198. package/runtime/native/binary/README.md +22 -0
  199. package/runtime/native/binary/dependencies.json +166 -0
  200. package/runtime/native/binary/helper.cpp +44 -0
  201. package/runtime/native/binary/insight-binary-darwin-arm64 +0 -0
  202. package/runtime/native/binary/notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt +23 -0
  203. package/runtime/native/binary/notices/LIEF-LICENSE.txt +202 -0
  204. package/runtime/native/binary/notices/LIEF-attribution.txt +37 -0
  205. package/runtime/native/binary/notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt +674 -0
  206. package/runtime/native/binary/notices/expected-1.3.1--expected-1.3.1__COPYING +121 -0
  207. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS +3 -0
  208. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE +202 -0
  209. package/runtime/native/binary/notices/json-LICENSE.MIT +21 -0
  210. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE +553 -0
  211. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE +553 -0
  212. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE +552 -0
  213. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE +553 -0
  214. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE +26 -0
  215. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE +21 -0
  216. package/runtime/native/binary/notices/span-LICENSE_1_0.txt +23 -0
  217. package/runtime/native/binary/notices/span-attribution.txt +11 -0
  218. package/runtime/native/binary/notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE +25 -0
  219. package/runtime/native/binary/notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE +23 -0
  220. package/runtime/native/binary/provenance.json +48 -0
  221. package/runtime/native/child-deadline-linux-x64 +0 -0
  222. package/runtime/native/child-deadline-linux.c +24 -0
  223. package/runtime/native/child-deadline-linux.provenance.json +17 -0
  224. package/runtime/native/deadline-alarm-darwin-universal.dylib +0 -0
  225. package/runtime/native/deadline-alarm.c +33 -0
  226. package/runtime/native/deadline-alarm.provenance.json +22 -0
  227. package/runtime/native/deadline-exec-darwin-arm64 +0 -0
  228. package/runtime/native/deadline-exec.c +24 -0
  229. package/runtime/native/deadline-exec.provenance.json +17 -0
  230. package/runtime/native/dnspy-extension/Bridge.cs +58 -0
  231. package/runtime/native/dnspy-extension/Insight.DnSpy.csproj +13 -0
  232. package/runtime/native/dnspy-extension/Insight.DnSpy.x.dll +0 -0
  233. package/runtime/native/dnspy-extension/NuGet.Config +1 -0
  234. package/runtime/native/dnspy-extension/UNICODE-LOADER.md +26 -0
  235. package/runtime/native/dnspy-extension/packages.lock.json +6 -0
  236. package/runtime/native/dnspy-extension/provenance.json +27 -0
  237. package/runtime/native/dnspy-extension/upstream-public-build.snk +0 -0
  238. package/runtime/native/dnspy-extension/vendor-files.json +4341 -0
  239. package/runtime/native/file-version.ps1 +7 -0
  240. package/runtime/native/insight-registry-win-x64.dll +0 -0
  241. package/runtime/native/mitmproxy/bridge.py +180 -0
  242. package/runtime/native/mitmproxy/notices.json +476 -0
  243. package/runtime/native/sources/detours-LICENSE.md +23 -0
  244. package/runtime/native/sources/detours-e4bfd6b.tar.gz +0 -0
  245. package/runtime/native/sources/detours-provenance.json +10 -0
  246. package/runtime/native/tshark-layout.json +2247 -0
  247. package/runtime/native/windows-job/DirectoryAlias.cs +24 -0
  248. package/runtime/native/windows-job/Insight.WindowsJob.csproj +1 -0
  249. package/runtime/native/windows-job/Insight.WindowsJob.dll +0 -0
  250. package/runtime/native/windows-job/NuGet.Config +1 -0
  251. package/runtime/native/windows-job/OwnedJob.cs +79 -0
  252. package/runtime/native/windows-job/RegistryRedirect.cs +45 -0
  253. package/runtime/native/windows-job/packages.lock.json +21 -0
  254. package/runtime/native/windows-job/provenance.json +16 -0
  255. package/runtime/native/windows-job/windows-job.ps1 +8 -0
  256. package/runtime/native/windows-registry.c +21 -0
  257. package/runtime/native/windows-registry.def +3 -0
  258. package/runtime/native/windows-registry.provenance.json +14 -0
  259. package/runtime/notices/diagnostics-10.0.750501.txt +23 -0
  260. package/runtime/tool-catalog.json +290 -0
  261. package/runtime/toolbox.json +1401 -0
  262. package/skill-bundle/insight-artifacts/SKILL.md +30 -0
  263. package/skill-bundle/insight-artifacts/references/agent-execution.md +36 -0
  264. package/skill-bundle/insight-artifacts/references/artifacts.md +52 -0
  265. package/skill-bundle/insight-binary/SKILL.md +46 -0
  266. package/skill-bundle/insight-binary/references/agent-execution.md +36 -0
  267. package/skill-bundle/insight-capture/SKILL.md +56 -0
  268. package/skill-bundle/insight-capture/references/agent-execution.md +36 -0
  269. package/skill-bundle/insight-cli/SKILL.md +42 -0
  270. package/skill-bundle/insight-cli/references/agent-execution.md +36 -0
  271. package/skill-bundle/insight-cli/references/agent-setup.md +61 -0
  272. package/skill-bundle/insight-die/SKILL.md +49 -0
  273. package/skill-bundle/insight-die/references/agent-execution.md +36 -0
  274. package/skill-bundle/insight-dnspy/SKILL.md +65 -0
  275. package/skill-bundle/insight-dnspy/references/agent-execution.md +36 -0
  276. package/skill-bundle/insight-dotnet-dump/SKILL.md +46 -0
  277. package/skill-bundle/insight-dotnet-dump/references/agent-execution.md +36 -0
  278. package/skill-bundle/insight-dotnet-stack/SKILL.md +39 -0
  279. package/skill-bundle/insight-dotnet-stack/references/agent-execution.md +36 -0
  280. package/skill-bundle/insight-dotnet-trace/SKILL.md +45 -0
  281. package/skill-bundle/insight-dotnet-trace/references/agent-execution.md +36 -0
  282. package/skill-bundle/insight-frida/SKILL.md +67 -0
  283. package/skill-bundle/insight-frida/references/agent-execution.md +36 -0
  284. package/skill-bundle/insight-ghidra/SKILL.md +91 -0
  285. package/skill-bundle/insight-ghidra/references/administration.md +34 -0
  286. package/skill-bundle/insight-ghidra/references/agent-execution.md +36 -0
  287. package/skill-bundle/insight-ghidra/references/archive.md +32 -0
  288. package/skill-bundle/insight-ghidra/references/artifacts.md +52 -0
  289. package/skill-bundle/insight-ghidra/references/debugger.md +62 -0
  290. package/skill-bundle/insight-ghidra/references/extensions-and-sync.md +124 -0
  291. package/skill-bundle/insight-ghidra/references/managed-runtime.md +157 -0
  292. package/skill-bundle/insight-ghidra/references/native-workflows.md +112 -0
  293. package/skill-bundle/insight-ghidra/references/query-semantics.md +96 -0
  294. package/skill-bundle/insight-ghidra/references/recovery.md +53 -0
  295. package/skill-bundle/insight-ghidra/references/research.md +101 -0
  296. package/skill-bundle/insight-ghidra/references/setup.md +50 -0
  297. package/skill-bundle/insight-ilspy/SKILL.md +45 -0
  298. package/skill-bundle/insight-ilspy/references/agent-execution.md +36 -0
  299. package/skill-bundle/insight-ilspy/references/ilspy.md +33 -0
  300. package/skill-bundle/insight-interop/SKILL.md +54 -0
  301. package/skill-bundle/insight-interop/references/agent-execution.md +36 -0
  302. package/skill-bundle/insight-lldb/SKILL.md +54 -0
  303. package/skill-bundle/insight-lldb/references/agent-execution.md +36 -0
  304. package/skill-bundle/insight-llvm/SKILL.md +56 -0
  305. package/skill-bundle/insight-llvm/references/agent-execution.md +36 -0
  306. package/skill-bundle/insight-managed-heap/SKILL.md +43 -0
  307. package/skill-bundle/insight-managed-heap/references/agent-execution.md +36 -0
  308. package/skill-bundle/insight-managed-metadata/SKILL.md +52 -0
  309. package/skill-bundle/insight-managed-metadata/references/agent-execution.md +36 -0
  310. package/skill-bundle/insight-mitmproxy/SKILL.md +62 -0
  311. package/skill-bundle/insight-mitmproxy/references/agent-execution.md +36 -0
  312. package/skill-bundle/insight-overview/SKILL.md +79 -0
  313. package/skill-bundle/insight-overview/references/agent-execution.md +36 -0
  314. package/skill-bundle/insight-procmon/SKILL.md +49 -0
  315. package/skill-bundle/insight-procmon/references/agent-execution.md +36 -0
  316. package/skill-bundle/insight-re/SKILL.md +121 -0
  317. package/skill-bundle/insight-re/references/agent-execution.md +36 -0
  318. package/skill-bundle/insight-re/references/artifacts.md +52 -0
  319. package/skill-bundle/insight-re/references/recovery.md +53 -0
  320. package/skill-bundle/insight-sevenzip/SKILL.md +42 -0
  321. package/skill-bundle/insight-sevenzip/references/agent-execution.md +36 -0
  322. package/skill-bundle/insight-strace/SKILL.md +46 -0
  323. package/skill-bundle/insight-strace/references/agent-execution.md +36 -0
  324. package/skill-bundle/insight-tshark/SKILL.md +49 -0
  325. package/skill-bundle/insight-tshark/references/agent-execution.md +36 -0
  326. package/skill-bundle/insight-windbg/SKILL.md +46 -0
  327. package/skill-bundle/insight-windbg/references/agent-execution.md +36 -0
  328. package/skill-bundle/manifest.json +32 -0
  329. package/skills/insight-artifacts/SKILL.md +30 -0
  330. package/skills/insight-artifacts/references/agent-execution.md +36 -0
  331. package/skills/insight-artifacts/references/artifacts.md +52 -0
  332. package/skills/insight-binary/SKILL.md +46 -0
  333. package/skills/insight-binary/references/agent-execution.md +36 -0
  334. package/skills/insight-capture/SKILL.md +56 -0
  335. package/skills/insight-capture/references/agent-execution.md +36 -0
  336. package/skills/insight-die/SKILL.md +49 -0
  337. package/skills/insight-die/references/agent-execution.md +36 -0
  338. package/skills/insight-dnspy/SKILL.md +65 -0
  339. package/skills/insight-dnspy/references/agent-execution.md +36 -0
  340. package/skills/insight-dotnet-dump/SKILL.md +46 -0
  341. package/skills/insight-dotnet-dump/references/agent-execution.md +36 -0
  342. package/skills/insight-dotnet-stack/SKILL.md +39 -0
  343. package/skills/insight-dotnet-stack/references/agent-execution.md +36 -0
  344. package/skills/insight-dotnet-trace/SKILL.md +45 -0
  345. package/skills/insight-dotnet-trace/references/agent-execution.md +36 -0
  346. package/skills/insight-frida/SKILL.md +67 -0
  347. package/skills/insight-frida/references/agent-execution.md +36 -0
  348. package/skills/insight-ghidra/SKILL.md +91 -0
  349. package/skills/insight-ghidra/references/administration.md +34 -0
  350. package/skills/insight-ghidra/references/agent-execution.md +36 -0
  351. package/skills/insight-ghidra/references/archive.md +32 -0
  352. package/skills/insight-ghidra/references/artifacts.md +52 -0
  353. package/skills/insight-ghidra/references/debugger.md +62 -0
  354. package/skills/insight-ghidra/references/extensions-and-sync.md +124 -0
  355. package/skills/insight-ghidra/references/managed-runtime.md +157 -0
  356. package/skills/insight-ghidra/references/native-workflows.md +112 -0
  357. package/skills/insight-ghidra/references/query-semantics.md +96 -0
  358. package/skills/insight-ghidra/references/recovery.md +53 -0
  359. package/skills/insight-ghidra/references/research.md +101 -0
  360. package/skills/insight-ghidra/references/setup.md +50 -0
  361. package/skills/insight-ilspy/SKILL.md +45 -0
  362. package/skills/insight-ilspy/references/agent-execution.md +36 -0
  363. package/skills/insight-ilspy/references/ilspy.md +33 -0
  364. package/skills/insight-interop/SKILL.md +54 -0
  365. package/skills/insight-interop/references/agent-execution.md +36 -0
  366. package/skills/insight-lldb/SKILL.md +54 -0
  367. package/skills/insight-lldb/references/agent-execution.md +36 -0
  368. package/skills/insight-llvm/SKILL.md +56 -0
  369. package/skills/insight-llvm/references/agent-execution.md +36 -0
  370. package/skills/insight-managed-heap/SKILL.md +43 -0
  371. package/skills/insight-managed-heap/references/agent-execution.md +36 -0
  372. package/skills/insight-managed-metadata/SKILL.md +52 -0
  373. package/skills/insight-managed-metadata/references/agent-execution.md +36 -0
  374. package/skills/insight-mitmproxy/SKILL.md +62 -0
  375. package/skills/insight-mitmproxy/references/agent-execution.md +36 -0
  376. package/skills/insight-overview/SKILL.md +79 -0
  377. package/skills/insight-overview/references/agent-execution.md +36 -0
  378. package/skills/insight-procmon/SKILL.md +49 -0
  379. package/skills/insight-procmon/references/agent-execution.md +36 -0
  380. package/skills/insight-re/SKILL.md +22 -9
  381. package/skills/insight-re/references/agent-execution.md +36 -0
  382. package/skills/insight-re/references/artifacts.md +52 -0
  383. package/skills/insight-re/references/recovery.md +53 -0
  384. package/skills/insight-sevenzip/SKILL.md +42 -0
  385. package/skills/insight-sevenzip/references/agent-execution.md +36 -0
  386. package/skills/insight-strace/SKILL.md +46 -0
  387. package/skills/insight-strace/references/agent-execution.md +36 -0
  388. package/skills/insight-tshark/SKILL.md +49 -0
  389. package/skills/insight-tshark/references/agent-execution.md +36 -0
  390. package/skills/insight-windbg/SKILL.md +46 -0
  391. package/skills/insight-windbg/references/agent-execution.md +36 -0
@@ -17,6 +17,15 @@ import ghidra.trace.model.memory.TraceMemoryState;
17
17
  /** Save/restore trace databases independently of the program database and live execution. */
18
18
  public class InsightTraceState extends GhidraScript {
19
19
  static String string(JsonObject p,String key){return p.get(key).getAsString();}
20
+ static void activateAndWait(DebuggerTraceManagerService manager,ghidra.debug.api.tracemgr.DebuggerCoordinates coordinates)throws Exception{
21
+ var pending=new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CompletableFuture<Void>>();
22
+ Runnable activate=()->pending.set(manager.activateAndNotify(coordinates,DebuggerTraceManagerService.ActivationCause.USER));
23
+ if(SwingUtilities.isEventDispatchThread()){
24
+ activate.run();if(!pending.get().isDone())throw new IllegalStateException("Asynchronous trace navigation requires a background script");pending.get().join();
25
+ }else{SwingUtilities.invokeAndWait(activate);pending.get().get(30,java.util.concurrent.TimeUnit.SECONDS);}
26
+ if(manager.getCurrentTrace()!=coordinates.getTrace())throw new IllegalStateException("Trace selection did not settle");
27
+ }
28
+
20
29
  static void bind(Trace trace,JsonObject p,boolean create){
21
30
  var options=trace.getOptions("Insight");String target=options.getString("Target",null),context=options.getString("Context",null);
22
31
  if(target==null&&context==null&&create){int tx=trace.startTransaction("Bind owned trace");try{
@@ -82,31 +91,31 @@ public class InsightTraceState extends GhidraScript {
82
91
  var thread=manager.getCurrentThread();var object=thread==null?null:thread.getObject();
83
92
  if(object==null){var candidates=manager.getCurrentTrace().getObjectManager().getAllObjects().filter(item->item.getSchema().getName().toString().equals("Process")).toList();
84
93
  if(candidates.size()!=1)throw new IllegalStateException("Debugger process selection is ambiguous");object=candidates.get(0);}
85
- var m=manager;final var selectedObject=object;Runnable focus=()->m.activateObject(selectedObject);
86
- if(SwingUtilities.isEventDispatchThread())focus.run();else SwingUtilities.invokeAndWait(focus);
94
+ activateAndWait(manager,manager.resolveObject(object));
87
95
  println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","focused")));return;
88
96
  }
89
97
  if(operation.equals("restore")){
90
98
  var folder=data.getRootFolder().getFolder("__insight_traces");if(folder==null)folder=data.getRootFolder().createFolder("__insight_traces");
91
99
  for(var entry:p.getAsJsonArray("traces")){
92
100
  var saved=entry.getAsJsonObject();String id=string(saved,"id");if(!id.matches("trace_[a-f0-9-]{36}"))throw new IllegalArgumentException();
93
- boolean present=false;for(var trace:manager.getOpenTraces())if(id.equals(trace.getOptions("Insight").getString("Trace ID",null)))present=true;
94
- if(present)continue;
95
- var file=folder.getFile(id);if(file==null)file=folder.createFile(id,Path.of(string(saved,"input")).toFile(),monitor);
96
- Trace trace=manager.openTrace(file,-1);bind(trace,p,false);
97
- if(!id.equals(trace.getOptions("Insight").getString("Trace ID",null)))throw new IllegalArgumentException("Restored trace identity changed");
101
+ Trace trace=null;for(var existing:manager.getOpenTraces())if(id.equals(existing.getOptions("Insight").getString("Trace ID",null)))trace=existing;
102
+ if(trace==null){var file=folder.getFile(id);if(file==null)file=folder.createFile(id,Path.of(string(saved,"input")).toFile(),monitor);trace=manager.openTrace(file,-1);}
103
+ bind(trace,p,false);if(!id.equals(trace.getOptions("Insight").getString("Trace ID",null)))throw new IllegalArgumentException("Restored trace identity changed");
98
104
  relocateMappings(trace,selected);
99
- if(p.has("active")&&id.equals(string(p,"active"))){final var m=manager;Runnable activate=()->{
100
- m.activateTrace(trace);m.activateSnap(Long.parseLong(string(saved,"snap")));
101
- if(saved.has("thread")){var thread=trace.getThreadManager().getThread(Long.parseLong(string(saved,"thread")));if(thread!=null)m.activateThread(thread);}
102
- };if(SwingUtilities.isEventDispatchThread())activate.run();else SwingUtilities.invokeAndWait(activate);}
105
+ var coordinates=manager.resolveTrace(trace).snap(Long.parseLong(string(saved,"snap")));
106
+ if(saved.has("thread")){var thread=trace.getThreadManager().getThread(Long.parseLong(string(saved,"thread")));if(thread!=null)coordinates=coordinates.thread(thread);}
107
+ activateAndWait(manager,coordinates);
108
+ if(manager.getCurrentSnap()!=Long.parseLong(string(saved,"snap")))throw new IllegalStateException("Saved trace snap did not restore");
109
+ }
110
+ if(p.has("active"))for(var trace:manager.getOpenTraces())if(string(p,"active").equals(trace.getOptions("Insight").getString("Trace ID",null))){
111
+ activateAndWait(manager,manager.resolveTrace(trace));
103
112
  }
104
113
  println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","restored")));return;
105
114
  }
106
115
  if(operation.equals("select")){
107
116
  String id=string(p,"id");for(var trace:manager.getOpenTraces()){
108
- bind(trace,p,false);if(id.equals(trace.getOptions("Insight").getString("Trace ID",null))){final var m=manager;
109
- if(SwingUtilities.isEventDispatchThread())m.activateTrace(trace);else SwingUtilities.invokeAndWait(()->m.activateTrace(trace));
117
+ bind(trace,p,false);if(id.equals(trace.getOptions("Insight").getString("Trace ID",null))){
118
+ activateAndWait(manager,manager.resolveTrace(trace));
110
119
  println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","selected","id",id)));return;}
111
120
  }
112
121
  throw new IllegalArgumentException("Trace not found");
@@ -114,15 +123,21 @@ public class InsightTraceState extends GhidraScript {
114
123
  if(!operation.equals("checkpoint"))throw new IllegalArgumentException();
115
124
  Path root=Path.of(string(p,"output")).toRealPath();List<Object> traces=new ArrayList<>();String active=null;
116
125
  if(manager.getOpenTraces().size()>64)throw new IllegalArgumentException("Trace count exceeds 64");
126
+ long lockDeadline=System.nanoTime()+java.util.concurrent.TimeUnit.SECONDS.toNanos(10);
117
127
  for(var trace:manager.getOpenTraces()){
118
128
  bind(trace,p,false);String id=trace.getOptions("Insight").getString("Trace ID",null);if(id==null||!id.matches("trace_[a-f0-9-]{36}"))throw new IllegalArgumentException();
119
129
  Path output=root.resolve(id+".gzf");if(Files.exists(output))throw new IllegalArgumentException();
130
+ while(!trace.lock("Insight consistent trace checkpoint")){
131
+ monitor.checkCancelled();if(System.nanoTime()>=lockDeadline)throw new IllegalStateException("Trace transaction did not release for checkpoint");Thread.sleep(25);
132
+ }
133
+ try{
120
134
  var coordinates=manager.getCurrentFor(trace);trace.saveToPackedFile(output.toFile(),monitor);
121
135
  Map<String,Object> row=new LinkedHashMap<>();row.put("id",id);row.put("name",trace.getName());row.put("snap",Long.toString(coordinates.getSnap()));
122
136
  row.put("modules",trace.getModuleManager().getAllModules().size());row.put("threads",trace.getThreadManager().getAllThreads().size());
123
137
  if(coordinates.getThread()!=null)row.put("thread",Long.toString(coordinates.getThread().getKey()));
124
138
  var targets=selected.getService(DebuggerTargetService.class);var live=targets==null?null:targets.getTarget(trace);row.put("connected",live!=null&&live.isValid());
125
139
  traces.add(row);if(manager.getCurrentTrace()==trace)active=id;
140
+ }finally{trace.unlock();}
126
141
  }
127
142
  Map<String,Object> result=new LinkedHashMap<>();result.put("traces",traces);if(active!=null)result.put("active",active);
128
143
  println("INSIGHT_TRACE_STATE "+new Gson().toJson(result));
@@ -1,7 +1,9 @@
1
1
  # Setup
2
2
 
3
- Use Node 24+, Ghidra 12.1.2 and a Java 21 JDK. Configure the runtime with Factory's profile
4
- commands and generated help: `java` and `ghidraHome` select installed dependencies.
3
+ Use Node 24+ and `ghidra install` to deliver Ghidra 12.1.2, JDK 21, native components and
4
+ server support. See [managed runtime](managed-runtime.md) for download/install/offline archives,
5
+ external executable paths, status/doctor and safe removal. Existing Factory profile `java` and
6
+ `ghidraHome` paths remain supported when no managed/external selection exists.
5
7
  The package contains the verified GhidraMCP 7.0.0 bridge, its Apache-2.0 license/notice and
6
8
  artifact provenance. Its pinned functionality catalog is from source
7
9
  `57e37a8bf388b1279cff46378f85be1554548f61`, with SHA256
@@ -38,7 +40,8 @@ Native acceptance separates macOS GUI/LLDB workflows from selected headless Wind
38
40
  SDK, Version Tracking and FID/BSim workflows. Native Windows/Linux debugger/GUI acceptance
39
41
  remains deferred. The ordinary CI lane stays offline; disposable native CI is explicit.
40
42
 
41
- Debugger execution additionally needs a supported host debugger (local LLDB on macOS). Its
43
+ On macOS 15+ ARM64, `ghidra install` delivers an owned LLDB/Python debugger backend;
44
+ OS debugger authorization remains required. Other host profiles need their supported debugger. Its
42
45
  Ghidra Python dependencies are prepared from the installed SDK wheels into owned GUI storage.
43
46
  `debuggerPython` optionally configures a Python-backed offer; `windbgDir` configures the Windows
44
47
  debugger runtime directory when relevant. These are runtime profile settings, not research scope.
@@ -0,0 +1 @@
1
+ <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net10.0</TargetFramework><OutputType>Exe</OutputType><UseAppHost>false</UseAppHost><AssemblyName>Insight.Heap</AssemblyName><Nullable>enable</Nullable><ImplicitUsings>enable</ImplicitUsings><Deterministic>true</Deterministic><DebugType>none</DebugType><RestorePackagesWithLockFile>true</RestorePackagesWithLockFile></PropertyGroup><ItemGroup><PackageReference Include="Microsoft.Diagnostics.Runtime" Version="4.2.751201" /></ItemGroup></Project>
@@ -0,0 +1,391 @@
1
+ {
2
+ "runtimeTarget": {
3
+ "name": ".NETCoreApp,Version=v10.0",
4
+ "signature": ""
5
+ },
6
+ "compilationOptions": {},
7
+ "targets": {
8
+ ".NETCoreApp,Version=v10.0": {
9
+ "Insight.Heap/1.0.0": {
10
+ "dependencies": {
11
+ "Microsoft.Diagnostics.Runtime": "4.2.751201"
12
+ },
13
+ "runtime": {
14
+ "Insight.Heap.dll": {}
15
+ }
16
+ },
17
+ "Azure.Core/1.53.0": {
18
+ "dependencies": {
19
+ "Microsoft.Bcl.AsyncInterfaces": "10.0.3",
20
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
21
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.3",
22
+ "Microsoft.Identity.Client": "4.83.1",
23
+ "Microsoft.Identity.Client.Extensions.Msal": "4.83.1",
24
+ "System.ClientModel": "1.10.0",
25
+ "System.Memory.Data": "10.0.3"
26
+ },
27
+ "runtime": {
28
+ "lib/net10.0/Azure.Core.dll": {
29
+ "assemblyVersion": "1.53.0.0",
30
+ "fileVersion": "1.5300.26.21006"
31
+ }
32
+ }
33
+ },
34
+ "Azure.Identity/1.21.0": {
35
+ "dependencies": {
36
+ "Azure.Core": "1.53.0"
37
+ },
38
+ "runtime": {
39
+ "lib/net10.0/Azure.Identity.dll": {
40
+ "assemblyVersion": "1.21.0.0",
41
+ "fileVersion": "1.2100.26.21009"
42
+ }
43
+ }
44
+ },
45
+ "Microsoft.Bcl.AsyncInterfaces/10.0.3": {
46
+ "runtime": {
47
+ "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
48
+ "assemblyVersion": "10.0.0.3",
49
+ "fileVersion": "10.0.326.7603"
50
+ }
51
+ }
52
+ },
53
+ "Microsoft.Diagnostics.NETCore.Client/0.2.661903": {
54
+ "dependencies": {
55
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.3"
56
+ },
57
+ "runtime": {
58
+ "lib/net8.0/Microsoft.Diagnostics.NETCore.Client.dll": {
59
+ "assemblyVersion": "0.2.13.11903",
60
+ "fileVersion": "0.2.13.11903"
61
+ }
62
+ }
63
+ },
64
+ "Microsoft.Diagnostics.Runtime/4.2.751201": {
65
+ "dependencies": {
66
+ "Azure.Identity": "1.21.0",
67
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.661903",
68
+ "Microsoft.Security.AntiSSRF": "1.0.0"
69
+ },
70
+ "runtime": {
71
+ "lib/net10.0/Microsoft.Diagnostics.Runtime.dll": {
72
+ "assemblyVersion": "4.2.15.1201",
73
+ "fileVersion": "4.2.15.1201"
74
+ }
75
+ }
76
+ },
77
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
78
+ "dependencies": {
79
+ "Microsoft.Extensions.Primitives": "10.0.3"
80
+ },
81
+ "runtime": {
82
+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
83
+ "assemblyVersion": "10.0.0.0",
84
+ "fileVersion": "10.0.326.7603"
85
+ }
86
+ }
87
+ },
88
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
89
+ "runtime": {
90
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
91
+ "assemblyVersion": "10.0.0.0",
92
+ "fileVersion": "10.0.326.7603"
93
+ }
94
+ }
95
+ },
96
+ "Microsoft.Extensions.Diagnostics.Abstractions/10.0.3": {
97
+ "dependencies": {
98
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
99
+ "Microsoft.Extensions.Options": "10.0.3"
100
+ },
101
+ "runtime": {
102
+ "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
103
+ "assemblyVersion": "10.0.0.0",
104
+ "fileVersion": "10.0.326.7603"
105
+ }
106
+ }
107
+ },
108
+ "Microsoft.Extensions.FileProviders.Abstractions/10.0.3": {
109
+ "dependencies": {
110
+ "Microsoft.Extensions.Primitives": "10.0.3"
111
+ },
112
+ "runtime": {
113
+ "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
114
+ "assemblyVersion": "10.0.0.0",
115
+ "fileVersion": "10.0.326.7603"
116
+ }
117
+ }
118
+ },
119
+ "Microsoft.Extensions.Hosting.Abstractions/10.0.3": {
120
+ "dependencies": {
121
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
122
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
123
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.3",
124
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.3",
125
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.3"
126
+ },
127
+ "runtime": {
128
+ "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
129
+ "assemblyVersion": "10.0.0.0",
130
+ "fileVersion": "10.0.326.7603"
131
+ }
132
+ }
133
+ },
134
+ "Microsoft.Extensions.Logging.Abstractions/10.0.3": {
135
+ "dependencies": {
136
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3"
137
+ },
138
+ "runtime": {
139
+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
140
+ "assemblyVersion": "10.0.0.0",
141
+ "fileVersion": "10.0.326.7603"
142
+ }
143
+ }
144
+ },
145
+ "Microsoft.Extensions.Options/10.0.3": {
146
+ "dependencies": {
147
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
148
+ "Microsoft.Extensions.Primitives": "10.0.3"
149
+ },
150
+ "runtime": {
151
+ "lib/net10.0/Microsoft.Extensions.Options.dll": {
152
+ "assemblyVersion": "10.0.0.0",
153
+ "fileVersion": "10.0.326.7603"
154
+ }
155
+ }
156
+ },
157
+ "Microsoft.Extensions.Primitives/10.0.3": {
158
+ "runtime": {
159
+ "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
160
+ "assemblyVersion": "10.0.0.0",
161
+ "fileVersion": "10.0.326.7603"
162
+ }
163
+ }
164
+ },
165
+ "Microsoft.Identity.Client/4.83.1": {
166
+ "dependencies": {
167
+ "Microsoft.IdentityModel.Abstractions": "8.14.0"
168
+ },
169
+ "runtime": {
170
+ "lib/net8.0/Microsoft.Identity.Client.dll": {
171
+ "assemblyVersion": "4.83.1.0",
172
+ "fileVersion": "4.83.1.0"
173
+ }
174
+ }
175
+ },
176
+ "Microsoft.Identity.Client.Extensions.Msal/4.83.1": {
177
+ "dependencies": {
178
+ "Microsoft.Identity.Client": "4.83.1",
179
+ "System.Security.Cryptography.ProtectedData": "4.5.0"
180
+ },
181
+ "runtime": {
182
+ "lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
183
+ "assemblyVersion": "4.83.1.0",
184
+ "fileVersion": "4.83.1.0"
185
+ }
186
+ }
187
+ },
188
+ "Microsoft.IdentityModel.Abstractions/8.14.0": {
189
+ "runtime": {
190
+ "lib/net9.0/Microsoft.IdentityModel.Abstractions.dll": {
191
+ "assemblyVersion": "8.14.0.0",
192
+ "fileVersion": "8.14.0.60815"
193
+ }
194
+ }
195
+ },
196
+ "Microsoft.Security.AntiSSRF/1.0.0": {
197
+ "runtime": {
198
+ "lib/net8.0/Microsoft.Security.AntiSSRF.dll": {
199
+ "assemblyVersion": "1.0.0.0",
200
+ "fileVersion": "1.0.0.0"
201
+ }
202
+ }
203
+ },
204
+ "System.ClientModel/1.10.0": {
205
+ "dependencies": {
206
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
207
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.3",
208
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.3",
209
+ "System.Memory.Data": "10.0.3"
210
+ },
211
+ "runtime": {
212
+ "lib/net10.0/System.ClientModel.dll": {
213
+ "assemblyVersion": "1.10.0.0",
214
+ "fileVersion": "1.1000.26.16607"
215
+ }
216
+ }
217
+ },
218
+ "System.Memory.Data/10.0.3": {
219
+ "runtime": {
220
+ "lib/net10.0/System.Memory.Data.dll": {
221
+ "assemblyVersion": "10.0.0.3",
222
+ "fileVersion": "10.0.326.7603"
223
+ }
224
+ }
225
+ },
226
+ "System.Security.Cryptography.ProtectedData/4.5.0": {
227
+ "runtime": {
228
+ "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
229
+ "assemblyVersion": "4.0.3.0",
230
+ "fileVersion": "4.6.26515.6"
231
+ }
232
+ },
233
+ "runtimeTargets": {
234
+ "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
235
+ "rid": "win",
236
+ "assetType": "runtime",
237
+ "assemblyVersion": "4.0.3.0",
238
+ "fileVersion": "4.6.26515.6"
239
+ }
240
+ }
241
+ }
242
+ }
243
+ },
244
+ "libraries": {
245
+ "Insight.Heap/1.0.0": {
246
+ "type": "project",
247
+ "serviceable": false,
248
+ "sha512": ""
249
+ },
250
+ "Azure.Core/1.53.0": {
251
+ "type": "package",
252
+ "serviceable": true,
253
+ "sha512": "sha512-x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==",
254
+ "path": "azure.core/1.53.0",
255
+ "hashPath": "azure.core.1.53.0.nupkg.sha512"
256
+ },
257
+ "Azure.Identity/1.21.0": {
258
+ "type": "package",
259
+ "serviceable": true,
260
+ "sha512": "sha512-GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==",
261
+ "path": "azure.identity/1.21.0",
262
+ "hashPath": "azure.identity.1.21.0.nupkg.sha512"
263
+ },
264
+ "Microsoft.Bcl.AsyncInterfaces/10.0.3": {
265
+ "type": "package",
266
+ "serviceable": true,
267
+ "sha512": "sha512-TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==",
268
+ "path": "microsoft.bcl.asyncinterfaces/10.0.3",
269
+ "hashPath": "microsoft.bcl.asyncinterfaces.10.0.3.nupkg.sha512"
270
+ },
271
+ "Microsoft.Diagnostics.NETCore.Client/0.2.661903": {
272
+ "type": "package",
273
+ "serviceable": true,
274
+ "sha512": "sha512-3ISv5jXar4dHBt/7Rz3YdnR3VpnC94BhSdSvuq8ZuKgCOcVuTdmgRnq0hUzJyL/z8Ge4VekFjhui2aufUXPdvg==",
275
+ "path": "microsoft.diagnostics.netcore.client/0.2.661903",
276
+ "hashPath": "microsoft.diagnostics.netcore.client.0.2.661903.nupkg.sha512"
277
+ },
278
+ "Microsoft.Diagnostics.Runtime/4.2.751201": {
279
+ "type": "package",
280
+ "serviceable": true,
281
+ "sha512": "sha512-9rg4pJnc46e7QvUYC8Pxu5VqPJhKEO2ILGEZy1LOKrwurLC8iSAAzamDVLd/cYPb3zGbM9RE4Zo41Tis8OxCyA==",
282
+ "path": "microsoft.diagnostics.runtime/4.2.751201",
283
+ "hashPath": "microsoft.diagnostics.runtime.4.2.751201.nupkg.sha512"
284
+ },
285
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
286
+ "type": "package",
287
+ "serviceable": true,
288
+ "sha512": "sha512-xVDHL0+SIgemfh95fTO9cGLe17TWv/ZP0n7m01z8X6pzt2DmQpucioWR/mYZA1sRlkWnkXzfl0JweLNWmE9WMg==",
289
+ "path": "microsoft.extensions.configuration.abstractions/10.0.3",
290
+ "hashPath": "microsoft.extensions.configuration.abstractions.10.0.3.nupkg.sha512"
291
+ },
292
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
293
+ "type": "package",
294
+ "serviceable": true,
295
+ "sha512": "sha512-bwGMrRcAMWx2s/RDgja97p27rxSz2pEQW0+rX5cWAUWVETVJ/eyxGfjAl8vuG5a+lckWmPIE+vcuaZNVB5YDdw==",
296
+ "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.3",
297
+ "hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.3.nupkg.sha512"
298
+ },
299
+ "Microsoft.Extensions.Diagnostics.Abstractions/10.0.3": {
300
+ "type": "package",
301
+ "serviceable": true,
302
+ "sha512": "sha512-mQiTzAj7PIJ2A9YXR5QhgulS1fTWhmQc3ckd1Mrf3hKW07d03fBDqx8vVaFw+cRTebDOeB6pNqdWdnRxsi1hBA==",
303
+ "path": "microsoft.extensions.diagnostics.abstractions/10.0.3",
304
+ "hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.3.nupkg.sha512"
305
+ },
306
+ "Microsoft.Extensions.FileProviders.Abstractions/10.0.3": {
307
+ "type": "package",
308
+ "serviceable": true,
309
+ "sha512": "sha512-4TD9AXDRsipTmaemwnjt/DM5Ri0de2JzHQhvZ4woBTjUtL4XrPNsMrOk5oiLJAx1gTrE6pOIhxv+lEde5F6CZA==",
310
+ "path": "microsoft.extensions.fileproviders.abstractions/10.0.3",
311
+ "hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.3.nupkg.sha512"
312
+ },
313
+ "Microsoft.Extensions.Hosting.Abstractions/10.0.3": {
314
+ "type": "package",
315
+ "serviceable": true,
316
+ "sha512": "sha512-GdMpC10Jf6poxSvUJ4lgYpJ5F/kJeaAoJmrPufjBoPYyCTKKY5Dyl0rZA+LBNvFqTq1cZa/lhlptlUhNvU6xrg==",
317
+ "path": "microsoft.extensions.hosting.abstractions/10.0.3",
318
+ "hashPath": "microsoft.extensions.hosting.abstractions.10.0.3.nupkg.sha512"
319
+ },
320
+ "Microsoft.Extensions.Logging.Abstractions/10.0.3": {
321
+ "type": "package",
322
+ "serviceable": true,
323
+ "sha512": "sha512-lxl0WLk7ROgBFAsjcOYjQ8/DVK+VMszxGBzUhgtQmAsTNldLL5pk9NG/cWTsXHq0lUhUEAtZkEE7jOGOA8bGKQ==",
324
+ "path": "microsoft.extensions.logging.abstractions/10.0.3",
325
+ "hashPath": "microsoft.extensions.logging.abstractions.10.0.3.nupkg.sha512"
326
+ },
327
+ "Microsoft.Extensions.Options/10.0.3": {
328
+ "type": "package",
329
+ "serviceable": true,
330
+ "sha512": "sha512-hU6WzGTPvPoLA2ng1ILvWQb3g0qORdlHNsxI8IcPLumJb3suimYUl+bbDzdo1V4KFsvVhnMWzysHpKbZaoDQPQ==",
331
+ "path": "microsoft.extensions.options/10.0.3",
332
+ "hashPath": "microsoft.extensions.options.10.0.3.nupkg.sha512"
333
+ },
334
+ "Microsoft.Extensions.Primitives/10.0.3": {
335
+ "type": "package",
336
+ "serviceable": true,
337
+ "sha512": "sha512-GEcpTwo7sUoLGGNTqV1FZEuL+tTD9m81NX/mh099dqGNna07/UGZShKQNZRw4hv6nlliSUwYQgSYc7OR99Jufg==",
338
+ "path": "microsoft.extensions.primitives/10.0.3",
339
+ "hashPath": "microsoft.extensions.primitives.10.0.3.nupkg.sha512"
340
+ },
341
+ "Microsoft.Identity.Client/4.83.1": {
342
+ "type": "package",
343
+ "serviceable": true,
344
+ "sha512": "sha512-jOLIrZ3cynoqHLLO1cXplFFabrhrMEYs/EuKHvmCyrOm1axqiVFT6nCSnHxk7w5+d2BeQfCdM12Yf/0X7OeS1g==",
345
+ "path": "microsoft.identity.client/4.83.1",
346
+ "hashPath": "microsoft.identity.client.4.83.1.nupkg.sha512"
347
+ },
348
+ "Microsoft.Identity.Client.Extensions.Msal/4.83.1": {
349
+ "type": "package",
350
+ "serviceable": true,
351
+ "sha512": "sha512-I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==",
352
+ "path": "microsoft.identity.client.extensions.msal/4.83.1",
353
+ "hashPath": "microsoft.identity.client.extensions.msal.4.83.1.nupkg.sha512"
354
+ },
355
+ "Microsoft.IdentityModel.Abstractions/8.14.0": {
356
+ "type": "package",
357
+ "serviceable": true,
358
+ "sha512": "sha512-iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==",
359
+ "path": "microsoft.identitymodel.abstractions/8.14.0",
360
+ "hashPath": "microsoft.identitymodel.abstractions.8.14.0.nupkg.sha512"
361
+ },
362
+ "Microsoft.Security.AntiSSRF/1.0.0": {
363
+ "type": "package",
364
+ "serviceable": true,
365
+ "sha512": "sha512-V0AJQt8FC5HXkvFhBqB0WgMADVL+vG+qiMK9p39OHdqfNwYOh1durk8j9rKPklWasBxpk8ifVdzoJmEgUWVoeg==",
366
+ "path": "microsoft.security.antissrf/1.0.0",
367
+ "hashPath": "microsoft.security.antissrf.1.0.0.nupkg.sha512"
368
+ },
369
+ "System.ClientModel/1.10.0": {
370
+ "type": "package",
371
+ "serviceable": true,
372
+ "sha512": "sha512-lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==",
373
+ "path": "system.clientmodel/1.10.0",
374
+ "hashPath": "system.clientmodel.1.10.0.nupkg.sha512"
375
+ },
376
+ "System.Memory.Data/10.0.3": {
377
+ "type": "package",
378
+ "serviceable": true,
379
+ "sha512": "sha512-MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==",
380
+ "path": "system.memory.data/10.0.3",
381
+ "hashPath": "system.memory.data.10.0.3.nupkg.sha512"
382
+ },
383
+ "System.Security.Cryptography.ProtectedData/4.5.0": {
384
+ "type": "package",
385
+ "serviceable": true,
386
+ "sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==",
387
+ "path": "system.security.cryptography.protecteddata/4.5.0",
388
+ "hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512"
389
+ }
390
+ }
391
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "runtimeOptions": {
3
+ "tfm": "net10.0",
4
+ "framework": {
5
+ "name": "Microsoft.NETCore.App",
6
+ "version": "10.0.0"
7
+ },
8
+ "configProperties": {
9
+ "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
10
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
11
+ }
12
+ }
13
+ }
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="utf-8"?><configuration><packageSources><clear/><add key="nuget.org" value="https://api.nuget.org/v3/index.json"/></packageSources></configuration>
@@ -0,0 +1,20 @@
1
+ // MIT first-party bounded offline ClrMD queries. No attachment or expression evaluation.
2
+ using Microsoft.Diagnostics.Runtime;
3
+ using System.Collections.Immutable;
4
+ using System.Runtime.InteropServices;
5
+ using System.Text.Json;
6
+ using System.Text.Json.Serialization;
7
+ sealed class Plan {public int Schema{get;set;}public string Input{get;set;}="";public string Dac{get;set;}="";public string View{get;set;}="overview";public string? Type{get;set;}public string? Address{get;set;}public uint? Thread{get;set;}public int Runtime{get;set;}public int Limit{get;set;}=50;public int Offset{get;set;}public int MaxObjects{get;set;}=1000000;}
8
+ sealed class NoFiles:IFileLocator {public string? FindPEImage(string f,int t,int s,bool c)=>null;public string? FindPEImage(string f,SymbolProperties p,ImmutableArray<byte>b,OSPlatform o,bool c)=>null;}
9
+ static class Program {
10
+ static readonly JsonSerializerOptions Json=new(){PropertyNamingPolicy=JsonNamingPolicy.CamelCase,DefaultIgnoreCondition=JsonIgnoreCondition.WhenWritingNull};
11
+ static string Address(ulong address)=>"0x"+address.ToString("x");
12
+ static object Field(ClrObject obj,ClrInstanceField field){try{object? value=field.ElementType switch{ClrElementType.Boolean=>obj.ReadField<bool>(field),ClrElementType.Char=>obj.ReadField<char>(field).ToString(),ClrElementType.Int8=>obj.ReadField<sbyte>(field),ClrElementType.UInt8=>obj.ReadField<byte>(field),ClrElementType.Int16=>obj.ReadField<short>(field),ClrElementType.UInt16=>obj.ReadField<ushort>(field),ClrElementType.Int32=>obj.ReadField<int>(field),ClrElementType.UInt32=>obj.ReadField<uint>(field),ClrElementType.Int64=>obj.ReadField<long>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.UInt64=>obj.ReadField<ulong>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.Float=>obj.ReadField<float>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.Double=>obj.ReadField<double>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.String=>obj.ReadStringField(field,257),_=>field.IsObjectReference?Address(obj.ReadObjectField(field).Address):null};bool truncated=value is string str&&field.ElementType==ClrElementType.String&&str.Length>256;if(truncated)value=((string)value!)[..256];return new{name=field.Name,type=field.Type?.Name,kind=field.ElementType.ToString(),value,available=value is not null,truncated};}catch(Exception error){return new{name=field.Name,type=field.Type?.Name,kind=field.ElementType.ToString(),available=false,error=error.Message};}}
13
+ static object Query(Plan p){using var target=DataTarget.LoadDump(p.Input,new DataTargetOptions{FileLocator=new NoFiles(),SymbolPaths=[]});if(p.Runtime<0||p.Runtime>=target.ClrVersions.Length)throw new InvalidOperationException("No selected CLR runtime in this dump");var info=target.ClrVersions[p.Runtime];using var runtime=info.CreateRuntime(p.Dac,false);var heap=runtime.Heap;object observation;bool complete=true;string? reason=null;
14
+ if(p.View=="overview"){observation=new{architecture=target.DataReader.Architecture.ToString(),pointerSize=target.DataReader.PointerSize,runtime=info.Version.ToString(),flavor=info.Flavor.ToString(),runtimeIndex=p.Runtime,availableRuntimes=target.ClrVersions.Select((c,n)=>new{index=n,version=c.Version.ToString(),flavor=c.Flavor.ToString()}).ToArray(),canWalkHeap=heap.CanWalkHeap,threads=runtime.Threads.Length};}
15
+ else if(p.View=="objects"){if(!heap.CanWalkHeap)throw new InvalidOperationException("Heap cannot be walked in this dump; capture a compatible Heap or Full dump");var items=new List<object>();int scanned=0,matching=0;foreach(var obj in heap.EnumerateObjects()){if(scanned>=p.MaxObjects){complete=false;reason="object_scan_bound";break;}scanned++;if(obj.IsFree||!obj.IsValid||p.Type is not null&&obj.Type?.Name!=p.Type)continue;if(matching>=p.Offset&&items.Count<p.Limit)items.Add(new{address=Address(obj.Address),type=obj.Type?.Name,size=obj.Size.ToString()});matching++;}observation=new{items,scannedObjects=scanned,matchingInScannedPrefix=matching,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<matching,maxObjects=p.MaxObjects};}
16
+ else if(p.View=="object"){var obj=heap.GetObject(Convert.ToUInt64(p.Address![2..],16));if(!obj.IsValid||obj.IsFree||obj.Type is null)throw new InvalidOperationException("Address is not a readable managed object in this exact dump");if(p.Type is not null&&p.Type!=obj.Type.Name)throw new InvalidOperationException("Object type differs from the explicit expected type");observation=new{address=Address(obj.Address),type=obj.Type.Name,size=obj.Size.ToString(),fields=obj.Type.Fields.Skip(p.Offset).Take(p.Limit).Select(f=>Field(obj,f)).ToArray(),totalFields=obj.Type.Fields.Length,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<obj.Type.Fields.Length};}
17
+ else if(p.View=="stacks"){var threads=runtime.Threads.Where(t=>!p.Thread.HasValue||t.OSThreadId==p.Thread).ToArray();var rows=threads.Skip(p.Offset).Take(p.Limit).Select(t=>{var frames=t.EnumerateStackTrace(false,129).ToArray();if(frames.Length>128){complete=false;reason="stack_frame_bound";}return new{osThreadId=t.OSThreadId,managedThreadId=t.ManagedThreadId,isAlive=t.IsAlive,frames=frames.Take(128).Select(s=>new{instructionPointer=Address(s.InstructionPointer),stackPointer=Address(s.StackPointer),method=s.Method?.Signature,kind=s.Kind.ToString()}).ToArray(),truncated=frames.Length>128};}).ToArray();if(p.Thread.HasValue&&threads.Length==0)throw new InvalidOperationException("Selected OS thread was not found");observation=new{items=rows,total=threads.Length,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<threads.Length};}
18
+ else throw new InvalidOperationException("Unknown offline dump view");return new{state=complete?"completed":"partial",complete,reason,view=p.View,observation,scope="One immutable dump and explicitly selected matching native DAC. No live attachment, automatic file/symbol download or expression evaluation. Unreadable fields remain unknown; addresses belong only to this dump. A bounded prefix cannot establish global absence."};}
19
+ public static int Main(string[] args){try{if(args.Length!=1||!Path.IsPathFullyQualified(args[0])||new FileInfo(args[0]).Length>16384)throw new InvalidOperationException("A bounded absolute private plan is required");var p=JsonSerializer.Deserialize<Plan>(File.ReadAllText(args[0]),new JsonSerializerOptions{PropertyNameCaseInsensitive=true})??throw new InvalidOperationException("Missing plan");if(p.Schema!=1||!Path.IsPathFullyQualified(p.Input)||!Path.IsPathFullyQualified(p.Dac)||p.Limit<1||p.Limit>500||p.Offset<0||p.MaxObjects<1||p.MaxObjects>1000000)throw new InvalidOperationException("Invalid dump query bounds");Console.WriteLine(JsonSerializer.Serialize(Query(p),Json));return 0;}catch(Exception error){Console.WriteLine(JsonSerializer.Serialize(new{state="failed",error=error.Message.Length>4096?error.Message[..4096]:error.Message},Json));return 70;}}
20
+ }
@@ -0,0 +1,16 @@
1
+ # First-party structured managed heap capability
2
+
3
+ ClrMD 4.2.751201 and its locked dependency closure are implementation libraries behind
4
+ `dotnet-dump query`, not new applications. Consumers reuse a private .NET 10 runtime and
5
+ an explicitly matching native CoreCLR DAC; no SDK is required. No live attachment,
6
+ expression evaluation, automatic file lookup or symbol server is enabled.
7
+
8
+ `dependencies.json` records all exact original package SHA256/content hashes, source
9
+ commits and full retained license notices. Microsoft authentication libraries are
10
+ upstream transitive dependencies; this helper never creates credentials or symbol
11
+ server clients. The no-files locator returns no external image or downloaded symbol.
12
+
13
+ The maintainer builder compiles twice in independent temporary directories with SDK
14
+ 10.0.303, locked restore and canonical source paths, compares every shipped output,
15
+ and records source, notices and binary hashes. Parsing runs under the common owned
16
+ process deadline. Heap scan, field, string, stack and output bounds remain explicit.