@eyeauras/insight-cli 0.2.0 → 0.2.2

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 (387) hide show
  1. package/.cli-package-build.json +1 -1
  2. package/README.md +25 -0
  3. package/SKILL.md +38 -54
  4. package/dist/src/binary.d.ts +3 -0
  5. package/dist/src/binary.js +74 -0
  6. package/dist/src/capture.d.ts +3 -0
  7. package/dist/src/capture.js +220 -0
  8. package/dist/src/cli.js +57 -12
  9. package/dist/src/contexts.d.ts +5 -0
  10. package/dist/src/contexts.js +42 -16
  11. package/dist/src/debugger-caller.d.ts +17 -0
  12. package/dist/src/debugger-caller.js +129 -0
  13. package/dist/src/debugger-launch.d.ts +2 -0
  14. package/dist/src/debugger-launch.js +17 -0
  15. package/dist/src/debugger-results.d.ts +1 -0
  16. package/dist/src/debugger-results.js +8 -0
  17. package/dist/src/debugger-supervisor.js +56 -13
  18. package/dist/src/debugger.js +16 -7
  19. package/dist/src/die.d.ts +12 -0
  20. package/dist/src/die.js +127 -0
  21. package/dist/src/dnspy-runtime.d.ts +8 -0
  22. package/dist/src/dnspy-runtime.js +46 -0
  23. package/dist/src/dnspy.d.ts +22 -0
  24. package/dist/src/dnspy.js +160 -0
  25. package/dist/src/dotnet-diagnostics.d.ts +13 -0
  26. package/dist/src/dotnet-diagnostics.js +101 -0
  27. package/dist/src/frida-worker.d.ts +1 -0
  28. package/dist/src/frida-worker.js +125 -0
  29. package/dist/src/frida.d.ts +16 -0
  30. package/dist/src/frida.js +125 -0
  31. package/dist/src/ghidra-debugger-runtime.d.ts +7 -0
  32. package/dist/src/ghidra-debugger-runtime.js +31 -0
  33. package/dist/src/ghidra-processes.d.ts +6 -0
  34. package/dist/src/ghidra-processes.js +121 -0
  35. package/dist/src/ghidra.js +6 -6
  36. package/dist/src/ilspy.d.ts +7 -0
  37. package/dist/src/ilspy.js +122 -0
  38. package/dist/src/lldb.d.ts +10 -0
  39. package/dist/src/lldb.js +99 -0
  40. package/dist/src/llvm.d.ts +6 -0
  41. package/dist/src/llvm.js +133 -0
  42. package/dist/src/managed-heap.d.ts +4 -0
  43. package/dist/src/managed-heap.js +73 -0
  44. package/dist/src/managed-metadata.d.ts +11 -0
  45. package/dist/src/managed-metadata.js +66 -0
  46. package/dist/src/mitmproxy.d.ts +55 -0
  47. package/dist/src/mitmproxy.js +172 -0
  48. package/dist/src/native-inputs.d.ts +3 -2
  49. package/dist/src/native-inputs.js +9 -4
  50. package/dist/src/package-version.d.ts +1 -0
  51. package/dist/src/package-version.js +3 -0
  52. package/dist/src/procmon-config.d.ts +2 -0
  53. package/dist/src/procmon-config.js +15 -0
  54. package/dist/src/procmon-events.d.ts +13 -0
  55. package/dist/src/procmon-events.js +82 -0
  56. package/dist/src/procmon.d.ts +4 -0
  57. package/dist/src/procmon.js +107 -0
  58. package/dist/src/research.d.ts +11 -2
  59. package/dist/src/research.js +5 -3
  60. package/dist/src/runtime-catalog.d.ts +5 -10
  61. package/dist/src/runtime-catalog.js +4 -5
  62. package/dist/src/runtime-manager.d.ts +27 -3
  63. package/dist/src/runtime-manager.js +100 -159
  64. package/dist/src/runtime-selection.js +21 -4
  65. package/dist/src/server.d.ts +13 -0
  66. package/dist/src/server.js +21 -45
  67. package/dist/src/sevenzip.d.ts +15 -0
  68. package/dist/src/sevenzip.js +119 -0
  69. package/dist/src/strace.d.ts +10 -0
  70. package/dist/src/strace.js +71 -0
  71. package/dist/src/text-window.d.ts +11 -0
  72. package/dist/src/text-window.js +6 -0
  73. package/dist/src/tool-runtime/archives.d.ts +10 -0
  74. package/dist/src/{runtime-archives.js → tool-runtime/archives.js} +91 -24
  75. package/dist/src/tool-runtime/catalog.d.ts +3 -0
  76. package/dist/src/tool-runtime/catalog.js +13 -0
  77. package/dist/src/tool-runtime/commands.d.ts +9 -0
  78. package/dist/src/tool-runtime/commands.js +39 -0
  79. package/dist/src/tool-runtime/deadline.d.ts +11 -0
  80. package/dist/src/tool-runtime/deadline.js +32 -0
  81. package/dist/src/tool-runtime/definition.d.ts +73 -0
  82. package/dist/src/tool-runtime/definition.js +49 -0
  83. package/dist/src/tool-runtime/dotnet.d.ts +4 -0
  84. package/dist/src/tool-runtime/dotnet.js +22 -0
  85. package/dist/src/tool-runtime/identity.d.ts +6 -0
  86. package/dist/src/tool-runtime/identity.js +50 -0
  87. package/dist/src/tool-runtime/installer.d.ts +101 -0
  88. package/dist/src/tool-runtime/installer.js +180 -0
  89. package/dist/src/tool-runtime/java-arguments.d.ts +6 -0
  90. package/dist/src/tool-runtime/java-arguments.js +44 -0
  91. package/dist/src/tool-runtime/launch-worker.d.ts +1 -0
  92. package/dist/src/tool-runtime/launch-worker.js +58 -0
  93. package/dist/src/tool-runtime/run.d.ts +51 -0
  94. package/dist/src/tool-runtime/run.js +159 -0
  95. package/dist/src/tool-runtime/store.d.ts +15 -0
  96. package/dist/src/tool-runtime/store.js +219 -0
  97. package/dist/src/tool-runtime/supervisor.d.ts +57 -0
  98. package/dist/src/tool-runtime/supervisor.js +269 -0
  99. package/dist/src/tool-runtime/windows-job.d.ts +22 -0
  100. package/dist/src/tool-runtime/windows-job.js +43 -0
  101. package/dist/src/toolbox.d.ts +84 -0
  102. package/dist/src/toolbox.js +35 -0
  103. package/dist/src/tshark.d.ts +23 -0
  104. package/dist/src/tshark.js +174 -0
  105. package/dist/src/windbg.d.ts +14 -0
  106. package/dist/src/windbg.js +119 -0
  107. package/dist/src/workspace.d.ts +1 -0
  108. package/dist/src/workspace.js +6 -0
  109. package/package.json +5 -4
  110. package/references/agent-execution.md +36 -0
  111. package/references/agent-setup.md +61 -0
  112. package/references/artifacts.md +5 -0
  113. package/references/debugger.md +22 -0
  114. package/references/ilspy.md +33 -0
  115. package/references/managed-runtime.md +53 -7
  116. package/references/native/InsightPythonWheels.java +283 -2
  117. package/references/native/InsightTraceState.java +28 -13
  118. package/references/native-workflows.md +10 -0
  119. package/references/setup.md +2 -1
  120. package/runtime/managed/insight-heap/Azure.Core.dll +0 -0
  121. package/runtime/managed/insight-heap/Azure.Identity.dll +0 -0
  122. package/runtime/managed/insight-heap/Insight.Heap.csproj +1 -0
  123. package/runtime/managed/insight-heap/Insight.Heap.deps.json +391 -0
  124. package/runtime/managed/insight-heap/Insight.Heap.dll +0 -0
  125. package/runtime/managed/insight-heap/Insight.Heap.runtimeconfig.json +13 -0
  126. package/runtime/managed/insight-heap/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
  127. package/runtime/managed/insight-heap/Microsoft.Diagnostics.NETCore.Client.dll +0 -0
  128. package/runtime/managed/insight-heap/Microsoft.Diagnostics.Runtime.dll +0 -0
  129. package/runtime/managed/insight-heap/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  130. package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  131. package/runtime/managed/insight-heap/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  132. package/runtime/managed/insight-heap/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  133. package/runtime/managed/insight-heap/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  134. package/runtime/managed/insight-heap/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  135. package/runtime/managed/insight-heap/Microsoft.Extensions.Options.dll +0 -0
  136. package/runtime/managed/insight-heap/Microsoft.Extensions.Primitives.dll +0 -0
  137. package/runtime/managed/insight-heap/Microsoft.Identity.Client.Extensions.Msal.dll +0 -0
  138. package/runtime/managed/insight-heap/Microsoft.Identity.Client.dll +0 -0
  139. package/runtime/managed/insight-heap/Microsoft.IdentityModel.Abstractions.dll +0 -0
  140. package/runtime/managed/insight-heap/Microsoft.Security.AntiSSRF.dll +0 -0
  141. package/runtime/managed/insight-heap/NuGet.Config +1 -0
  142. package/runtime/managed/insight-heap/Program.cs +20 -0
  143. package/runtime/managed/insight-heap/README.md +16 -0
  144. package/runtime/managed/insight-heap/System.ClientModel.dll +0 -0
  145. package/runtime/managed/insight-heap/System.Memory.Data.dll +0 -0
  146. package/runtime/managed/insight-heap/System.Security.Cryptography.ProtectedData.dll +0 -0
  147. package/runtime/managed/insight-heap/dependencies.json +436 -0
  148. package/runtime/managed/insight-heap/notices/Azure.Core-LICENSE.txt +21 -0
  149. package/runtime/managed/insight-heap/notices/Azure.Identity-LICENSE.txt +21 -0
  150. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-LICENSE.txt +23 -0
  151. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-THIRD-PARTY-NOTICES.TXT +1418 -0
  152. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.NETCore.Client-LICENSE.txt +23 -0
  153. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.Runtime-LICENSE.txt +23 -0
  154. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-LICENSE.txt +23 -0
  155. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  156. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-LICENSE.txt +23 -0
  157. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  158. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-LICENSE.txt +23 -0
  159. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  160. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-LICENSE.txt +23 -0
  161. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  162. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-LICENSE.txt +23 -0
  163. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  164. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-LICENSE.txt +23 -0
  165. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  166. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-LICENSE.txt +23 -0
  167. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-THIRD-PARTY-NOTICES.TXT +1418 -0
  168. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-LICENSE.txt +23 -0
  169. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-THIRD-PARTY-NOTICES.TXT +1418 -0
  170. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client-LICENSE.txt +21 -0
  171. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client.Extensions.Msal-LICENSE.txt +21 -0
  172. package/runtime/managed/insight-heap/notices/Microsoft.IdentityModel.Abstractions-LICENSE.txt +21 -0
  173. package/runtime/managed/insight-heap/notices/Microsoft.Security.AntiSSRF-LICENSE.txt +21 -0
  174. package/runtime/managed/insight-heap/notices/System.ClientModel-LICENSE.txt +21 -0
  175. package/runtime/managed/insight-heap/notices/System.Memory.Data-LICENSE.txt +23 -0
  176. package/runtime/managed/insight-heap/notices/System.Memory.Data-THIRD-PARTY-NOTICES.TXT +1418 -0
  177. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-LICENSE.TXT +23 -0
  178. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-THIRD-PARTY-NOTICES.TXT +309 -0
  179. package/runtime/managed/insight-heap/packages.lock.json +165 -0
  180. package/runtime/managed/insight-heap/provenance.json +146 -0
  181. package/runtime/managed/insight-heap/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  182. package/runtime/managed/insight-managed/Insight.Managed.csproj +4 -0
  183. package/runtime/managed/insight-managed/Insight.Managed.deps.json +41 -0
  184. package/runtime/managed/insight-managed/Insight.Managed.dll +0 -0
  185. package/runtime/managed/insight-managed/Insight.Managed.runtimeconfig.json +13 -0
  186. package/runtime/managed/insight-managed/LICENSE.dnlib.txt +20 -0
  187. package/runtime/managed/insight-managed/NuGet.Config +1 -0
  188. package/runtime/managed/insight-managed/Program.cs +31 -0
  189. package/runtime/managed/insight-managed/README.md +16 -0
  190. package/runtime/managed/insight-managed/dnlib.dll +0 -0
  191. package/runtime/managed/insight-managed/packages.lock.json +13 -0
  192. package/runtime/managed/insight-managed/provenance.json +40 -0
  193. package/runtime/native/binary/README.md +22 -0
  194. package/runtime/native/binary/dependencies.json +166 -0
  195. package/runtime/native/binary/helper.cpp +44 -0
  196. package/runtime/native/binary/insight-binary-darwin-arm64 +0 -0
  197. package/runtime/native/binary/notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt +23 -0
  198. package/runtime/native/binary/notices/LIEF-LICENSE.txt +202 -0
  199. package/runtime/native/binary/notices/LIEF-attribution.txt +37 -0
  200. package/runtime/native/binary/notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt +674 -0
  201. package/runtime/native/binary/notices/expected-1.3.1--expected-1.3.1__COPYING +121 -0
  202. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS +3 -0
  203. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE +202 -0
  204. package/runtime/native/binary/notices/json-LICENSE.MIT +21 -0
  205. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE +553 -0
  206. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE +553 -0
  207. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE +552 -0
  208. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE +553 -0
  209. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE +26 -0
  210. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE +21 -0
  211. package/runtime/native/binary/notices/span-LICENSE_1_0.txt +23 -0
  212. package/runtime/native/binary/notices/span-attribution.txt +11 -0
  213. package/runtime/native/binary/notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE +25 -0
  214. package/runtime/native/binary/notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE +23 -0
  215. package/runtime/native/binary/provenance.json +48 -0
  216. package/runtime/native/child-deadline-linux-x64 +0 -0
  217. package/runtime/native/child-deadline-linux.c +24 -0
  218. package/runtime/native/child-deadline-linux.provenance.json +17 -0
  219. package/runtime/native/deadline-alarm-darwin-universal.dylib +0 -0
  220. package/runtime/native/deadline-alarm.c +33 -0
  221. package/runtime/native/deadline-alarm.provenance.json +22 -0
  222. package/runtime/native/deadline-exec-darwin-arm64 +0 -0
  223. package/runtime/native/deadline-exec.c +24 -0
  224. package/runtime/native/deadline-exec.provenance.json +17 -0
  225. package/runtime/native/dnspy-extension/Bridge.cs +58 -0
  226. package/runtime/native/dnspy-extension/Insight.DnSpy.csproj +13 -0
  227. package/runtime/native/dnspy-extension/Insight.DnSpy.x.dll +0 -0
  228. package/runtime/native/dnspy-extension/NuGet.Config +1 -0
  229. package/runtime/native/dnspy-extension/UNICODE-LOADER.md +26 -0
  230. package/runtime/native/dnspy-extension/packages.lock.json +6 -0
  231. package/runtime/native/dnspy-extension/provenance.json +27 -0
  232. package/runtime/native/dnspy-extension/upstream-public-build.snk +0 -0
  233. package/runtime/native/dnspy-extension/vendor-files.json +4341 -0
  234. package/runtime/native/file-version.ps1 +7 -0
  235. package/runtime/native/insight-registry-win-x64.dll +0 -0
  236. package/runtime/native/mitmproxy/bridge.py +180 -0
  237. package/runtime/native/mitmproxy/notices.json +476 -0
  238. package/runtime/native/sources/detours-LICENSE.md +23 -0
  239. package/runtime/native/sources/detours-e4bfd6b.tar.gz +0 -0
  240. package/runtime/native/sources/detours-provenance.json +10 -0
  241. package/runtime/native/tshark-layout.json +2247 -0
  242. package/runtime/native/windows-job/DirectoryAlias.cs +24 -0
  243. package/runtime/native/windows-job/Insight.WindowsJob.csproj +1 -0
  244. package/runtime/native/windows-job/Insight.WindowsJob.dll +0 -0
  245. package/runtime/native/windows-job/NuGet.Config +1 -0
  246. package/runtime/native/windows-job/OwnedJob.cs +79 -0
  247. package/runtime/native/windows-job/RegistryRedirect.cs +45 -0
  248. package/runtime/native/windows-job/packages.lock.json +21 -0
  249. package/runtime/native/windows-job/provenance.json +16 -0
  250. package/runtime/native/windows-job/windows-job.ps1 +8 -0
  251. package/runtime/native/windows-registry.c +21 -0
  252. package/runtime/native/windows-registry.def +3 -0
  253. package/runtime/native/windows-registry.provenance.json +14 -0
  254. package/runtime/notices/diagnostics-10.0.750501.txt +23 -0
  255. package/runtime/tool-catalog.json +290 -0
  256. package/runtime/toolbox.json +1401 -0
  257. package/skill-bundle/insight-artifacts/SKILL.md +30 -0
  258. package/skill-bundle/insight-artifacts/references/agent-execution.md +36 -0
  259. package/skill-bundle/insight-artifacts/references/artifacts.md +52 -0
  260. package/skill-bundle/insight-binary/SKILL.md +46 -0
  261. package/skill-bundle/insight-binary/references/agent-execution.md +36 -0
  262. package/skill-bundle/insight-capture/SKILL.md +56 -0
  263. package/skill-bundle/insight-capture/references/agent-execution.md +36 -0
  264. package/skill-bundle/insight-cli/SKILL.md +42 -0
  265. package/skill-bundle/insight-cli/references/agent-execution.md +36 -0
  266. package/skill-bundle/insight-cli/references/agent-setup.md +61 -0
  267. package/skill-bundle/insight-die/SKILL.md +49 -0
  268. package/skill-bundle/insight-die/references/agent-execution.md +36 -0
  269. package/skill-bundle/insight-dnspy/SKILL.md +65 -0
  270. package/skill-bundle/insight-dnspy/references/agent-execution.md +36 -0
  271. package/skill-bundle/insight-dotnet-dump/SKILL.md +46 -0
  272. package/skill-bundle/insight-dotnet-dump/references/agent-execution.md +36 -0
  273. package/skill-bundle/insight-dotnet-stack/SKILL.md +39 -0
  274. package/skill-bundle/insight-dotnet-stack/references/agent-execution.md +36 -0
  275. package/skill-bundle/insight-dotnet-trace/SKILL.md +45 -0
  276. package/skill-bundle/insight-dotnet-trace/references/agent-execution.md +36 -0
  277. package/skill-bundle/insight-frida/SKILL.md +67 -0
  278. package/skill-bundle/insight-frida/references/agent-execution.md +36 -0
  279. package/skill-bundle/insight-ghidra/SKILL.md +91 -0
  280. package/skill-bundle/insight-ghidra/references/administration.md +34 -0
  281. package/skill-bundle/insight-ghidra/references/agent-execution.md +36 -0
  282. package/skill-bundle/insight-ghidra/references/archive.md +32 -0
  283. package/skill-bundle/insight-ghidra/references/artifacts.md +52 -0
  284. package/skill-bundle/insight-ghidra/references/debugger.md +62 -0
  285. package/skill-bundle/insight-ghidra/references/extensions-and-sync.md +124 -0
  286. package/skill-bundle/insight-ghidra/references/managed-runtime.md +162 -0
  287. package/skill-bundle/insight-ghidra/references/native-workflows.md +122 -0
  288. package/skill-bundle/insight-ghidra/references/query-semantics.md +96 -0
  289. package/skill-bundle/insight-ghidra/references/recovery.md +53 -0
  290. package/skill-bundle/insight-ghidra/references/research.md +101 -0
  291. package/skill-bundle/insight-ghidra/references/setup.md +50 -0
  292. package/skill-bundle/insight-ilspy/SKILL.md +45 -0
  293. package/skill-bundle/insight-ilspy/references/agent-execution.md +36 -0
  294. package/skill-bundle/insight-ilspy/references/ilspy.md +33 -0
  295. package/skill-bundle/insight-interop/SKILL.md +54 -0
  296. package/skill-bundle/insight-interop/references/agent-execution.md +36 -0
  297. package/skill-bundle/insight-lldb/SKILL.md +54 -0
  298. package/skill-bundle/insight-lldb/references/agent-execution.md +36 -0
  299. package/skill-bundle/insight-llvm/SKILL.md +56 -0
  300. package/skill-bundle/insight-llvm/references/agent-execution.md +36 -0
  301. package/skill-bundle/insight-managed-heap/SKILL.md +43 -0
  302. package/skill-bundle/insight-managed-heap/references/agent-execution.md +36 -0
  303. package/skill-bundle/insight-managed-metadata/SKILL.md +52 -0
  304. package/skill-bundle/insight-managed-metadata/references/agent-execution.md +36 -0
  305. package/skill-bundle/insight-mitmproxy/SKILL.md +62 -0
  306. package/skill-bundle/insight-mitmproxy/references/agent-execution.md +36 -0
  307. package/skill-bundle/insight-overview/SKILL.md +79 -0
  308. package/skill-bundle/insight-overview/references/agent-execution.md +36 -0
  309. package/skill-bundle/insight-procmon/SKILL.md +49 -0
  310. package/skill-bundle/insight-procmon/references/agent-execution.md +36 -0
  311. package/skill-bundle/insight-re/SKILL.md +121 -0
  312. package/skill-bundle/insight-re/references/agent-execution.md +36 -0
  313. package/skill-bundle/insight-re/references/artifacts.md +52 -0
  314. package/skill-bundle/insight-re/references/recovery.md +53 -0
  315. package/skill-bundle/insight-sevenzip/SKILL.md +42 -0
  316. package/skill-bundle/insight-sevenzip/references/agent-execution.md +36 -0
  317. package/skill-bundle/insight-strace/SKILL.md +46 -0
  318. package/skill-bundle/insight-strace/references/agent-execution.md +36 -0
  319. package/skill-bundle/insight-tshark/SKILL.md +49 -0
  320. package/skill-bundle/insight-tshark/references/agent-execution.md +36 -0
  321. package/skill-bundle/insight-windbg/SKILL.md +46 -0
  322. package/skill-bundle/insight-windbg/references/agent-execution.md +36 -0
  323. package/skill-bundle/manifest.json +32 -0
  324. package/skills/insight-artifacts/SKILL.md +30 -0
  325. package/skills/insight-artifacts/references/agent-execution.md +36 -0
  326. package/skills/insight-artifacts/references/artifacts.md +52 -0
  327. package/skills/insight-binary/SKILL.md +46 -0
  328. package/skills/insight-binary/references/agent-execution.md +36 -0
  329. package/skills/insight-capture/SKILL.md +56 -0
  330. package/skills/insight-capture/references/agent-execution.md +36 -0
  331. package/skills/insight-die/SKILL.md +49 -0
  332. package/skills/insight-die/references/agent-execution.md +36 -0
  333. package/skills/insight-dnspy/SKILL.md +65 -0
  334. package/skills/insight-dnspy/references/agent-execution.md +36 -0
  335. package/skills/insight-dotnet-dump/SKILL.md +46 -0
  336. package/skills/insight-dotnet-dump/references/agent-execution.md +36 -0
  337. package/skills/insight-dotnet-stack/SKILL.md +39 -0
  338. package/skills/insight-dotnet-stack/references/agent-execution.md +36 -0
  339. package/skills/insight-dotnet-trace/SKILL.md +45 -0
  340. package/skills/insight-dotnet-trace/references/agent-execution.md +36 -0
  341. package/skills/insight-frida/SKILL.md +67 -0
  342. package/skills/insight-frida/references/agent-execution.md +36 -0
  343. package/skills/insight-ghidra/SKILL.md +91 -0
  344. package/skills/insight-ghidra/references/administration.md +34 -0
  345. package/skills/insight-ghidra/references/agent-execution.md +36 -0
  346. package/skills/insight-ghidra/references/archive.md +32 -0
  347. package/skills/insight-ghidra/references/artifacts.md +52 -0
  348. package/skills/insight-ghidra/references/debugger.md +62 -0
  349. package/skills/insight-ghidra/references/extensions-and-sync.md +124 -0
  350. package/skills/insight-ghidra/references/managed-runtime.md +162 -0
  351. package/skills/insight-ghidra/references/native-workflows.md +122 -0
  352. package/skills/insight-ghidra/references/query-semantics.md +96 -0
  353. package/skills/insight-ghidra/references/recovery.md +53 -0
  354. package/skills/insight-ghidra/references/research.md +101 -0
  355. package/skills/insight-ghidra/references/setup.md +50 -0
  356. package/skills/insight-ilspy/SKILL.md +45 -0
  357. package/skills/insight-ilspy/references/agent-execution.md +36 -0
  358. package/skills/insight-ilspy/references/ilspy.md +33 -0
  359. package/skills/insight-interop/SKILL.md +54 -0
  360. package/skills/insight-interop/references/agent-execution.md +36 -0
  361. package/skills/insight-lldb/SKILL.md +54 -0
  362. package/skills/insight-lldb/references/agent-execution.md +36 -0
  363. package/skills/insight-llvm/SKILL.md +56 -0
  364. package/skills/insight-llvm/references/agent-execution.md +36 -0
  365. package/skills/insight-managed-heap/SKILL.md +43 -0
  366. package/skills/insight-managed-heap/references/agent-execution.md +36 -0
  367. package/skills/insight-managed-metadata/SKILL.md +52 -0
  368. package/skills/insight-managed-metadata/references/agent-execution.md +36 -0
  369. package/skills/insight-mitmproxy/SKILL.md +62 -0
  370. package/skills/insight-mitmproxy/references/agent-execution.md +36 -0
  371. package/skills/insight-overview/SKILL.md +79 -0
  372. package/skills/insight-overview/references/agent-execution.md +36 -0
  373. package/skills/insight-procmon/SKILL.md +49 -0
  374. package/skills/insight-procmon/references/agent-execution.md +36 -0
  375. package/skills/insight-re/SKILL.md +22 -9
  376. package/skills/insight-re/references/agent-execution.md +36 -0
  377. package/skills/insight-re/references/artifacts.md +52 -0
  378. package/skills/insight-re/references/recovery.md +53 -0
  379. package/skills/insight-sevenzip/SKILL.md +42 -0
  380. package/skills/insight-sevenzip/references/agent-execution.md +36 -0
  381. package/skills/insight-strace/SKILL.md +46 -0
  382. package/skills/insight-strace/references/agent-execution.md +36 -0
  383. package/skills/insight-tshark/SKILL.md +49 -0
  384. package/skills/insight-tshark/references/agent-execution.md +36 -0
  385. package/skills/insight-windbg/SKILL.md +46 -0
  386. package/skills/insight-windbg/references/agent-execution.md +36 -0
  387. package/dist/src/runtime-archives.d.ts +0 -5
@@ -0,0 +1,24 @@
1
+ // MIT; temporary process-owned DOS object alias. Files remain under profile AppData.
2
+ using System;using System.ComponentModel;using System.IO;using System.Runtime.InteropServices;
3
+ namespace Insight.WindowsJob {
4
+ internal sealed class DirectoryAlias:IDisposable {
5
+ [StructLayout(LayoutKind.Sequential)] struct Unicode {public ushort Length,MaximumLength;public IntPtr Buffer;}
6
+ [StructLayout(LayoutKind.Sequential)] struct Attributes {public int Length;public IntPtr RootDirectory,ObjectName;public uint Flags;public IntPtr Security,Quality;}
7
+ [DllImport("ntdll.dll")] static extern int NtCreateSymbolicLinkObject(out IntPtr handle,uint access,ref Attributes attributes,ref Unicode target);
8
+ [DllImport("ntdll.dll")] static extern uint RtlNtStatusToDosError(int status);
9
+ [DllImport("kernel32.dll")] static extern bool CloseHandle(IntPtr handle);
10
+ IntPtr handle;public readonly string Path;
11
+ public DirectoryAlias(string directory,string nonce){
12
+ string name=@"\??\insight-cli-"+nonce,target=directory.StartsWith(@"\\?\UNC\",StringComparison.OrdinalIgnoreCase)?@"\??\UNC\"+directory.Substring(8):directory.StartsWith(@"\\?\",StringComparison.Ordinal)?@"\??\"+directory.Substring(4):directory.StartsWith(@"\\",StringComparison.Ordinal)?@"\??\UNC\"+directory.Substring(2):@"\??\"+directory;
13
+ var nameBuffer=Marshal.StringToHGlobalUni(name);var targetBuffer=Marshal.StringToHGlobalUni(target);var namePointer=Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Unicode)));
14
+ try{
15
+ var nameValue=new Unicode{Length=checked((ushort)(name.Length*2)),MaximumLength=checked((ushort)(name.Length*2+2)),Buffer=nameBuffer};Marshal.StructureToPtr(nameValue,namePointer,false);
16
+ var targetValue=new Unicode{Length=checked((ushort)(target.Length*2)),MaximumLength=checked((ushort)(target.Length*2+2)),Buffer=targetBuffer};var attributes=new Attributes{Length=Marshal.SizeOf(typeof(Attributes)),ObjectName=namePointer,Flags=0x40};
17
+ // No OBJ_PERMANENT or inherited handle: owner death removes the alias automatically.
18
+ int status=NtCreateSymbolicLinkObject(out handle,0xf0001,ref attributes,ref targetValue);if(status<0)throw new Win32Exception((int)RtlNtStatusToDosError(status));Path=@"\\.\insight-cli-"+nonce+@"\";
19
+ }finally{Marshal.FreeHGlobal(namePointer);Marshal.FreeHGlobal(targetBuffer);Marshal.FreeHGlobal(nameBuffer);}
20
+ }
21
+ public string File(string name)=>Path+name;
22
+ public void Dispose(){if(handle!=IntPtr.Zero){CloseHandle(handle);handle=IntPtr.Zero;}}
23
+ }
24
+ }
@@ -0,0 +1 @@
1
+ <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework><AssemblyName>Insight.WindowsJob</AssemblyName><LangVersion>latest</LangVersion><Nullable>disable</Nullable><DebugType>none</DebugType><DebugSymbols>false</DebugSymbols><Deterministic>true</Deterministic><GenerateAssemblyInfo>false</GenerateAssemblyInfo><RestorePackagesWithLockFile>true</RestorePackagesWithLockFile></PropertyGroup></Project>
@@ -0,0 +1 @@
1
+ <configuration><packageSources><clear/><add key="nuget.org" value="https://api.nuget.org/v3/index.json" /></packageSources></configuration>
@@ -0,0 +1,79 @@
1
+ // MIT; first-party Windows Job Object executor. It never attaches another process to the job.
2
+ using System;
3
+ using System.ComponentModel;
4
+ using System.Diagnostics;
5
+ using System.Runtime.InteropServices;
6
+ using System.Text;
7
+ using System.IO;
8
+ using System.Runtime.Serialization;
9
+ using System.Runtime.Serialization.Json;
10
+ using System.Threading;
11
+ namespace Insight.WindowsJob {
12
+ public sealed class Started { public int LauncherPid; public uint ChildPid; public long ChildBirthTicks; }
13
+ public sealed class Result { public string Kind; public uint ExitCode; public Started Started; }
14
+ [DataContract] public sealed class Specification {
15
+ [DataMember] public int schema;[DataMember] public string nonce,executable,cwd,ownerBirthTicks,observedBirthTicks,nativeMutex,registryShim,registryShimSha256;[DataMember] public string[] arguments;[DataMember] public int ownerPid,timeoutMs,observedPid;
16
+ }
17
+ [DataContract] public sealed class Receipt {
18
+ [DataMember] public int schema=1;[DataMember] public string nonce,phase,childBirthTicks;[DataMember] public int launcherPid;[DataMember] public uint childPid,childExitCode;
19
+ }
20
+ public static class OwnedJob {
21
+ static void Save(string path,Receipt value){using(var file=new FileStream(path,FileMode.CreateNew,FileAccess.Write,FileShare.Read)){new DataContractJsonSerializer(typeof(Receipt)).WriteObject(file,value);file.Flush(true);}}
22
+ public static void RunSpecification(string path){
23
+ path=Path.GetFullPath(path);var root=Path.GetDirectoryName(path);Specification spec;
24
+ using(var file=File.OpenRead(path))spec=(Specification)new DataContractJsonSerializer(typeof(Specification)).ReadObject(file);
25
+ long birth;Guid nonce;if(spec.schema!=1||!Guid.TryParse(spec.nonce,out nonce)||!long.TryParse(spec.ownerBirthTicks,out birth)||spec.arguments==null||spec.arguments.Length>256)throw new ArgumentException("Invalid owned job specification");
26
+ Environment.SetEnvironmentVariable("TEMP",root);Environment.SetEnvironmentVariable("TMP",root);
27
+ Process observed=null;Mutex mutex=null;RegistryRedirect registry=null;bool held=false;
28
+ try{
29
+ if(spec.observedPid!=0){long expected;if(!long.TryParse(spec.observedBirthTicks,out expected))throw new ArgumentException("Observed process birth identity is missing");observed=Process.GetProcessById(spec.observedPid);var handle=observed.Handle;if(observed.StartTime.ToUniversalTime().Ticks!=expected||WaitForSingleObject(handle,0)!=258)throw new InvalidOperationException("Observed process identity changed or exited");}
30
+ if(spec.nativeMutex!=null){if(spec.nativeMutex!=@"Local\insight-cli-procmon-capture")throw new ArgumentException("Invalid native capture mutex");mutex=new Mutex(false,spec.nativeMutex);try{held=mutex.WaitOne(0);}catch(AbandonedMutexException){held=true;}if(!held)throw new InvalidOperationException("Another owned Process Monitor capture is active");foreach(var name in new[]{"Procmon","Procmon64","Procmon64a"}){var foreign=Process.GetProcessesByName(name);try{if(foreign.Length!=0)throw new InvalidOperationException("An existing Process Monitor instance is not owned by this capture");}finally{foreach(var process in foreign)process.Dispose();}}}
31
+ if(spec.registryShim!=null){if(!string.Equals(Path.GetFileName(spec.executable),"Procmon64.exe",StringComparison.OrdinalIgnoreCase))throw new ArgumentException("Registry isolation is admitted only for the owned ProcMon child");if(!string.Equals(Path.GetFullPath(spec.cwd),root,StringComparison.OrdinalIgnoreCase))throw new ArgumentException("Owned registry loading requires its private run directory");registry=new RegistryRedirect(root,spec.registryShim,spec.registryShimSha256,spec.nonce);}
32
+ var result=Run(spec.executable,spec.arguments,spec.cwd,spec.ownerPid,birth,spec.timeoutMs,origin=>Save(Path.Combine(root,"job-started.json"),new Receipt{nonce=spec.nonce,launcherPid=origin.LauncherPid,childPid=origin.ChildPid,childBirthTicks=origin.ChildBirthTicks.ToString(),phase="assigned_suspended"}),registry==null?null:new Action<IntPtr,uint>(registry.Prepare),registry==null?null:new Action<IntPtr,uint>(registry.Verify));
33
+ Save(Path.Combine(root,"job-result.json"),new Receipt{nonce=spec.nonce,launcherPid=Process.GetCurrentProcess().Id,childPid=result.Started.ChildPid,childBirthTicks=result.Started.ChildBirthTicks.ToString(),phase=result.Kind,childExitCode=result.ExitCode});
34
+ }finally{if(registry!=null)registry.Dispose();if(held)mutex.ReleaseMutex();if(mutex!=null)mutex.Dispose();if(observed!=null)observed.Dispose();}
35
+ }
36
+
37
+ [StructLayout(LayoutKind.Sequential)] struct Limits { public long ProcessTime,JobTime;public uint Flags;public UIntPtr MinWorkingSet,MaxWorkingSet;public uint ActiveProcesses;public UIntPtr Affinity;public uint Priority,Scheduling; }
38
+ [StructLayout(LayoutKind.Sequential)] struct IO { public ulong ReadOps,WriteOps,OtherOps,ReadBytes,WriteBytes,OtherBytes; }
39
+ [StructLayout(LayoutKind.Sequential)] struct Extended { public Limits Basic;public IO Io;public UIntPtr ProcessMemory,JobMemory,PeakProcessMemory,PeakJobMemory; }
40
+ [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Unicode)] struct Startup { public uint Size;public string Reserved,Desktop,Title;public uint X,Y,XSize,YSize,XChars,YChars,Fill,Flags;public ushort Show,ReservedSize;public IntPtr ReservedBytes,Input,Output,Error; }
41
+ [StructLayout(LayoutKind.Sequential)] struct PI { public IntPtr Process,Thread;public uint Pid,Tid; }
42
+ [DllImport("kernel32.dll",CharSet=CharSet.Unicode,SetLastError=true)] static extern IntPtr CreateJobObject(IntPtr attributes,string name);
43
+ [DllImport("kernel32.dll",SetLastError=true)] static extern bool SetInformationJobObject(IntPtr job,int type,ref Extended value,uint size);
44
+ [DllImport("kernel32.dll",SetLastError=true)] static extern bool AssignProcessToJobObject(IntPtr job,IntPtr process);
45
+ [DllImport("kernel32.dll",CharSet=CharSet.Unicode,SetLastError=true)] static extern bool CreateProcess(string app,StringBuilder command,IntPtr processAttributes,IntPtr threadAttributes,bool inherit,uint flags,IntPtr environment,string directory,ref Startup startup,out PI process);
46
+ [DllImport("kernel32.dll",SetLastError=true)] static extern uint ResumeThread(IntPtr thread);
47
+ [DllImport("kernel32.dll",SetLastError=true)] static extern uint WaitForMultipleObjects(uint count,IntPtr[] handles,bool all,uint timeout);
48
+ [DllImport("kernel32.dll",SetLastError=true)] static extern uint WaitForSingleObject(IntPtr handle,uint timeout);
49
+ [DllImport("kernel32.dll",SetLastError=true)] static extern bool TerminateJobObject(IntPtr job,uint code);
50
+ [DllImport("kernel32.dll",SetLastError=true)] static extern bool TerminateProcess(IntPtr process,uint code);
51
+ [DllImport("kernel32.dll",SetLastError=true)] static extern bool GetExitCodeProcess(IntPtr process,out uint code);
52
+ [DllImport("kernel32.dll")] static extern IntPtr GetStdHandle(int id);
53
+ [DllImport("kernel32.dll")] static extern bool CloseHandle(IntPtr handle);
54
+ static void Check(bool ok){if(!ok)throw new Win32Exception(Marshal.GetLastWin32Error());}
55
+ static string Quote(string text){var b=new StringBuilder("\"");int slashes=0;foreach(char c in text){if(c=='\\'){slashes++;continue;}if(c=='\"'){b.Append('\\',slashes*2+1);b.Append(c);}else{b.Append('\\',slashes);b.Append(c);}slashes=0;}b.Append('\\',slashes*2);return b.Append('"').ToString();}
56
+ public static Result Run(string executable,string[] arguments,string directory,int ownerPid,long ownerBirthTicks,int timeoutMs,Action<Started> started,Action<IntPtr,uint> prepare=null,Action<IntPtr,uint> initialized=null){
57
+ if(timeoutMs<1000||timeoutMs>600000||!System.IO.Path.IsPathRooted(executable))throw new ArgumentException("Invalid owned job specification");
58
+ using(var owner=Process.GetProcessById(ownerPid)){
59
+ if(owner.StartTime.ToUniversalTime().Ticks!=ownerBirthTicks)throw new InvalidOperationException("Owner birth identity changed");
60
+ var ownerHandle=owner.Handle;if(WaitForSingleObject(ownerHandle,0)!=258)throw new InvalidOperationException("Owner already exited");
61
+ var job=CreateJobObject(IntPtr.Zero,null);if(job==IntPtr.Zero)throw new Win32Exception(Marshal.GetLastWin32Error());var child=new PI();bool assigned=false;
62
+ try{
63
+ var limits=new Extended();limits.Basic.Flags=0x2000;Check(SetInformationJobObject(job,9,ref limits,(uint)Marshal.SizeOf(typeof(Extended))));
64
+ var startup=new Startup {Size=(uint)Marshal.SizeOf(typeof(Startup)),Flags=0x100,Input=GetStdHandle(-10),Output=GetStdHandle(-11),Error=GetStdHandle(-12)};
65
+ var command=new StringBuilder(Quote(executable));foreach(var argument in arguments)command.Append(' ').Append(Quote(argument));if(command.Length>=32767)throw new ArgumentException("Windows command line exceeds its bound");
66
+ Check(CreateProcess(executable,command,IntPtr.Zero,IntPtr.Zero,true,0x08000004,IntPtr.Zero,directory,ref startup,out child));Check(AssignProcessToJobObject(job,child.Process));assigned=true;
67
+ long childBirth;using(var process=Process.GetProcessById((int)child.Pid))childBirth=process.StartTime.ToUniversalTime().Ticks;
68
+ var origin=new Started {LauncherPid=Process.GetCurrentProcess().Id,ChildPid=child.Pid,ChildBirthTicks=childBirth};started(origin);if(prepare!=null)prepare(child.Process,child.Pid);
69
+ if(WaitForSingleObject(ownerHandle,0)!=258){Check(TerminateJobObject(job,130));return new Result {Kind="owner_lost",ExitCode=130,Started=origin};}
70
+ if(ResumeThread(child.Thread)==0xffffffff)throw new Win32Exception(Marshal.GetLastWin32Error());if(initialized!=null)initialized(child.Process,child.Pid);
71
+ var outcome=WaitForMultipleObjects(2,new[]{child.Process,ownerHandle},false,(uint)timeoutMs);
72
+ if(outcome==0){uint code;Check(GetExitCodeProcess(child.Process,out code));return new Result {Kind="completed",ExitCode=code,Started=origin};}
73
+ if(outcome==1||outcome==258){uint code=outcome==1?130u:124u;Check(TerminateJobObject(job,code));WaitForSingleObject(child.Process,5000);return new Result {Kind=outcome==1?"owner_lost":"timeout",ExitCode=code,Started=origin};}
74
+ throw new Win32Exception(Marshal.GetLastWin32Error());
75
+ }finally{if(child.Process!=IntPtr.Zero&&!assigned)TerminateProcess(child.Process,125);CloseHandle(job);if(child.Thread!=IntPtr.Zero)CloseHandle(child.Thread);if(child.Process!=IntPtr.Zero)CloseHandle(child.Process);}
76
+ }
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,45 @@
1
+ // MIT; inject only the reviewed registry shim into the child handle returned by our own CreateProcess.
2
+ using System;using System.ComponentModel;using System.IO;using System.Runtime.InteropServices;using System.Security.Cryptography;using System.Text;
3
+ namespace Insight.WindowsJob {
4
+ internal sealed class RegistryRedirect:IDisposable {
5
+ [StructLayout(LayoutKind.Sequential)] struct Security {public int Size;public IntPtr Descriptor;public int Inherit;}
6
+ [DllImport("advapi32.dll",CharSet=CharSet.Unicode)] static extern int RegLoadAppKey(string file,out IntPtr key,uint rights,uint options,uint reserved);
7
+ [DllImport("advapi32.dll",CharSet=CharSet.Unicode)] static extern int RegCreateKeyEx(IntPtr root,string name,int reserved,string type,int options,uint rights,ref Security security,out IntPtr key,out int disposition);
8
+ [DllImport("advapi32.dll")] static extern int RegCloseKey(IntPtr key);
9
+ [DllImport("kernel32.dll",CharSet=CharSet.Unicode,SetLastError=true)] static extern IntPtr LoadLibrary(string file);
10
+ [DllImport("kernel32.dll",CharSet=CharSet.Ansi,SetLastError=true)] static extern IntPtr GetProcAddress(IntPtr module,string name);
11
+ [DllImport("kernel32.dll",CharSet=CharSet.Unicode,SetLastError=true)] static extern uint GetFileAttributes(string file);
12
+ [DllImport("kernel32.dll")] static extern bool FreeLibrary(IntPtr module);
13
+ [UnmanagedFunctionPointer(CallingConvention.Winapi,SetLastError=true)] delegate bool PrepareProcess(IntPtr process,[MarshalAs(UnmanagedType.LPStr)] string name);
14
+ [DllImport("kernel32.dll")] static extern bool GetExitCodeProcess(IntPtr process,out uint code);
15
+ IntPtr hive,user,module;FileStream held;PrepareProcess prepare;readonly string shim,ack,nonce;DirectoryAlias alias;
16
+ static void Check(int code){if(code!=0)throw new Win32Exception(code);}
17
+ public RegistryRedirect(string root,string source,string expected,string nonce){
18
+ this.nonce=nonce;shim=Path.Combine(root,"insight-registry-"+nonce+".dll");ack=Path.Combine(root,"registry-isolated.bin");
19
+ try{
20
+ if(expected==null||expected.Length!=64)throw new ArgumentException("Registry shim identity is missing");
21
+ using(var original=new FileStream(source,FileMode.Open,FileAccess.Read,FileShare.Read)){
22
+ string actual;using(var hash=SHA256.Create())actual=BitConverter.ToString(hash.ComputeHash(original)).Replace("-","").ToLowerInvariant();if(actual!=expected)throw new InvalidOperationException("Registry shim differs from its reviewed build");original.Position=0;
23
+ using(var copy=new FileStream(shim,FileMode.CreateNew,FileAccess.Write,FileShare.None)){original.CopyTo(copy);copy.Flush(true);}
24
+ }
25
+ held=new FileStream(shim,FileMode.Open,FileAccess.Read,FileShare.Read);
26
+ module=LoadLibrary(shim);if(module==IntPtr.Zero)throw new Win32Exception(Marshal.GetLastWin32Error());var entry=GetProcAddress(module,"InsightPrepareProcess");if(entry==IntPtr.Zero)throw new InvalidOperationException("Owned registry loader entry is unavailable");prepare=Marshal.GetDelegateForFunctionPointer<PrepareProcess>(entry);
27
+ Check(RegLoadAppKey(Path.Combine(root,"user-settings.hive"),out hive,0xf003f,0,0));
28
+ var security=new Security{Size=Marshal.SizeOf(typeof(Security)),Inherit=1};int disposition;Check(RegCreateKeyEx(hive,"user",0,null,0,0xf003f,ref security,out user,out disposition));
29
+ alias=new DirectoryAlias(root,nonce);if(GetFileAttributes(alias.File(Path.GetFileName(shim)))==0xffffffff)throw new Win32Exception(Marshal.GetLastWin32Error(),"Owned registry DLL alias is unavailable");
30
+ Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_HANDLE",user.ToInt64().ToString("X"));Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_ACK",ack);Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_NONCE",nonce);
31
+ }catch{Dispose();throw;}
32
+ }
33
+ public void Prepare(IntPtr process,uint pid){if(!prepare(process,alias.File(Path.GetFileName(shim))))throw new Win32Exception(Marshal.GetLastWin32Error());}
34
+ public void Verify(IntPtr process,uint pid){
35
+ for(int i=0;i<100;i++){
36
+ byte[] proof=null;try{proof=File.ReadAllBytes(ack);}catch(IOException){}
37
+ if(proof!=null&&proof.Length==48){if(BitConverter.ToUInt32(proof,0)!=0x49484b31||BitConverter.ToUInt32(proof,4)!=pid||Encoding.ASCII.GetString(proof,12,36)!=nonce)throw new InvalidOperationException("Owned registry initialization receipt is invalid");Check((int)BitConverter.ToUInt32(proof,8));return;}
38
+ uint code;if(GetExitCodeProcess(process,out code)&&code!=259)throw new InvalidOperationException("Owned tool exited before registry initialization (0x"+code.ToString("x8")+")");
39
+ System.Threading.Thread.Sleep(50);
40
+ }
41
+ throw new InvalidOperationException("Owned registry initialization receipt is missing after its deadline");
42
+ }
43
+ public void Dispose(){Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_HANDLE",null);Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_ACK",null);Environment.SetEnvironmentVariable("INSIGHT_PRIVATE_HKCU_NONCE",null);if(user!=IntPtr.Zero){RegCloseKey(user);user=IntPtr.Zero;}if(hive!=IntPtr.Zero){RegCloseKey(hive);hive=IntPtr.Zero;}if(module!=IntPtr.Zero){FreeLibrary(module);module=IntPtr.Zero;}if(alias!=null){alias.Dispose();alias=null;}if(held!=null){held.Dispose();held=null;}}
44
+ }
45
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": 1,
3
+ "dependencies": {
4
+ ".NETStandard,Version=v2.0": {
5
+ "NETStandard.Library": {
6
+ "type": "Direct",
7
+ "requested": "[2.0.3, )",
8
+ "resolved": "2.0.3",
9
+ "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
10
+ "dependencies": {
11
+ "Microsoft.NETCore.Platforms": "1.1.0"
12
+ }
13
+ },
14
+ "Microsoft.NETCore.Platforms": {
15
+ "type": "Transitive",
16
+ "resolved": "1.1.0",
17
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "sdk": "10.0.303",
3
+ "target": "netstandard2.0",
4
+ "inputs": {
5
+ "OwnedJob.cs": "396b15ff5ac0931bec5f8a1d4f8f5175f6ffa0cb20a8b775eb07fd4c773a1542",
6
+ "RegistryRedirect.cs": "b1ae1b2c0ea5190245fe898296526c01eb6e83500f7be89929b221358eff905d",
7
+ "DirectoryAlias.cs": "3bf0b3ce5117faa3b6b5fb0e8b1de0bc317a1631c0d9b4cc3361e2a490cf85a1",
8
+ "Insight.WindowsJob.csproj": "90217b0c46f3eaeeecce73e9b8daaf47d14f07fd51f85c94395959f6ec4be114",
9
+ "NuGet.Config": "17f8588bd0874138a10e92eb9efee6e346a173591124ab57872f019475f8f81a",
10
+ "packages.lock.json": "00d9e92c7bc1e7939bc82114d870ab6657841901237cab1daa8ed01cac976e5e"
11
+ },
12
+ "sha256": "a911a603979efa6b75d3d7e90c8eb5313ef9ad8e94bd948f0a28800ece0b1c45",
13
+ "size": 17408,
14
+ "launcherSha256": "d600cdbc701d3ec652d32d4518b5b0737f193770e81fe44106bfbacf73e4f0c9",
15
+ "reproducibility": "Two independent temporary-directory builds produced identical bytes; private registry prototype remains pending native validation."
16
+ }
@@ -0,0 +1,8 @@
1
+ param([Parameter(Mandatory=$true)][string]$Specification)
2
+ $ErrorActionPreference='Stop'
3
+ try {
4
+ # No module autoload, profiles, JSON cmdlets or compiler in this minimal host.
5
+ [void][Reflection.Assembly]::LoadFrom([IO.Path]::Combine($PSScriptRoot,'Insight.WindowsJob.dll'))
6
+ [Insight.WindowsJob.OwnedJob]::RunSpecification($Specification)
7
+ exit 0
8
+ } catch {[Console]::Error.WriteLine('Owned Windows job failed: '+$_.Exception.Message);exit 70}
@@ -0,0 +1,21 @@
1
+ /* MIT; first-party HKCU redirection, loaded only into a newly created owned suspended tool. */
2
+ #define WIN32_LEAN_AND_MEAN
3
+ #include <windows.h>
4
+ #include "detours.h"
5
+ extern "C" __declspec(dllexport) BOOL WINAPI InsightPrepareProcess(HANDLE process,LPCSTR name){return DetourUpdateProcessWithDll(process,&name,1);}
6
+ static void store(BYTE *at,DWORD value){at[0]=(BYTE)value;at[1]=(BYTE)(value>>8);at[2]=(BYTE)(value>>16);at[3]=(BYTE)(value>>24);}
7
+ extern "C" BOOL WINAPI DllMain(HINSTANCE instance,DWORD reason,LPVOID reserved){
8
+ (void)reserved;if(reason!=DLL_PROCESS_ATTACH)return TRUE;DisableThreadLibraryCalls(instance);if(DetourIsHelperProcess())return TRUE;DetourRestoreAfterWith();
9
+ WCHAR handle[17],nonce[37];DWORD n=GetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_HANDLE",handle,17);
10
+ if(!n)return TRUE;
11
+ if(n>16||GetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_NONCE",nonce,37)!=36)return FALSE;
12
+ WCHAR *path=(WCHAR*)HeapAlloc(GetProcessHeap(),0,4096*sizeof(WCHAR));if(!path)return FALSE;
13
+ DWORD length=GetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_ACK",path,4096);if(!length||length>=4096)return FALSE;
14
+ ULONG_PTR value=0;for(DWORD i=0;i<n;i++){WCHAR c=handle[i];unsigned digit=c>=L'0'&&c<=L'9'?c-L'0':c>=L'A'&&c<=L'F'?c-L'A'+10:16;if(digit>15)return FALSE;value=(value<<4)|digit;}
15
+ LSTATUS error=RegOverridePredefKey(HKEY_CURRENT_USER,(HKEY)value);RegCloseKey((HKEY)value);
16
+ BYTE proof[48];store(proof,0x49484b31);store(proof+4,GetCurrentProcessId());store(proof+8,(DWORD)error);for(DWORD i=0;i<36;i++)proof[12+i]=(BYTE)nonce[i];
17
+ HANDLE file=CreateFileW(path,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);if(file==INVALID_HANDLE_VALUE)return FALSE;
18
+ DWORD written=0;BOOL saved=WriteFile(file,proof,sizeof(proof),&written,NULL)&&written==sizeof(proof)&&FlushFileBuffers(file);CloseHandle(file);HeapFree(GetProcessHeap(),0,path);
19
+ SetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_HANDLE",NULL);SetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_NONCE",NULL);SetEnvironmentVariableW(L"INSIGHT_PRIVATE_HKCU_ACK",NULL);
20
+ return saved&&error==ERROR_SUCCESS;
21
+ }
@@ -0,0 +1,3 @@
1
+ EXPORTS
2
+ DetourFinishHelperProcess @1
3
+ InsightPrepareProcess @2
@@ -0,0 +1,14 @@
1
+ {
2
+ "reproducible": true,
3
+ "compiler": "Microsoft (R) C/C++ Optimizing Compiler Version 19.51.36260 for x64",
4
+ "detoursCommit": "e4bfd6b03e50de46b47abfbd1e46b384f0c5f833",
5
+ "schema": 1,
6
+ "flags": "/LD /TP /O2 /MT /DNDEBUG /DYNAMICBASE /NXCOMPAT /OPT:REF /OPT:ICF /Brepro",
7
+ "definitionSha256": "85aee230d2e3996676fbc52189b4ec4b4831ff783165a4db407877a05b1a531b",
8
+ "detoursSha256": "d24f5dd1f977c33301ebd9f3be064e938a7908954df15b31235c9ca6691cb356",
9
+ "sha256": "7b30875c531aff0a02610f3e828a00bd4afb54028a6f98264881fb27602b9939",
10
+ "size": 126976,
11
+ "sourceSha256": "6bc68b57b97978a45647b5731ce44a005a177b8c251d7ceb8e3ccfffedc56b75",
12
+ "definitionCanonicalSha256": "7c9d9858ebbd5bc5cce17ef7da8d5180cb782f8934e056c5b570db79e7ac4d9e",
13
+ "definitionCheckout": "Native Windows build used CRLF; canonical checked source uses LF with identical exports."
14
+ }
@@ -0,0 +1,23 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) .NET Foundation and Contributors
4
+
5
+ All rights reserved.
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
@@ -0,0 +1,290 @@
1
+ {
2
+ "5fc9f1d870b4c791ae688a07ccbae0dcdf677eedeeb6ae732bbc83eac61148af": {
3
+ "name": "diec-3.21-macos-arm64.tgz",
4
+ "sha256": "5fc9f1d870b4c791ae688a07ccbae0dcdf677eedeeb6ae732bbc83eac61148af",
5
+ "size": 14343048,
6
+ "format": "tgz",
7
+ "root": "diec-3.21",
8
+ "license": "MIT engine/components; Qt LGPL-3.0 and full included third-party notices",
9
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-diec-3.21-r1/diec-3.21-macos-arm64.tgz"
10
+ },
11
+ "958c952691d2c3f8ce21f717f4e911c02b5da0e21ead21bd576368c454b79c77": {
12
+ "name": "dotnet-runtime-10.0.13-linux-x64.tar.gz",
13
+ "sha256": "958c952691d2c3f8ce21f717f4e911c02b5da0e21ead21bd576368c454b79c77",
14
+ "size": 36648012,
15
+ "format": "tgz",
16
+ "root": ".",
17
+ "license": "MIT and included LICENSE/ThirdPartyNotices",
18
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-10.0.13-r1/dotnet-runtime-10.0.13-linux-x64.tar.gz"
19
+ },
20
+ "fdf7ef21688338ad5d1d99d7eca7f3cf2e159c86e552d3f5acd0553b11c80ca6": {
21
+ "name": "dotnet-runtime-10.0.13-osx-arm64.tar.gz",
22
+ "sha256": "fdf7ef21688338ad5d1d99d7eca7f3cf2e159c86e552d3f5acd0553b11c80ca6",
23
+ "size": 33248881,
24
+ "format": "tgz",
25
+ "root": ".",
26
+ "license": "MIT and included LICENSE/ThirdPartyNotices",
27
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-10.0.13-r1/dotnet-runtime-10.0.13-osx-arm64.tar.gz"
28
+ },
29
+ "50fd6ea005731494a6144fd4617746f4155fdc0f3682d0ba7292eac9e9bf46e3": {
30
+ "name": "dotnet-runtime-10.0.13-osx-x64.tar.gz",
31
+ "sha256": "50fd6ea005731494a6144fd4617746f4155fdc0f3682d0ba7292eac9e9bf46e3",
32
+ "size": 35605688,
33
+ "format": "tgz",
34
+ "root": ".",
35
+ "license": "MIT and included LICENSE/ThirdPartyNotices",
36
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-10.0.13-r1/dotnet-runtime-10.0.13-osx-x64.tar.gz"
37
+ },
38
+ "8db74a746baa450925d01325a2108ccf6ac39af4018047475292ae155c013d89": {
39
+ "name": "dotnet-runtime-10.0.13-win-x64.zip",
40
+ "sha256": "8db74a746baa450925d01325a2108ccf6ac39af4018047475292ae155c013d89",
41
+ "size": 36970749,
42
+ "format": "zip",
43
+ "root": ".",
44
+ "license": "MIT and included LICENSE/ThirdPartyNotices",
45
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-10.0.13-r1/dotnet-runtime-10.0.13-win-x64.zip"
46
+ },
47
+ "ae70c9f37548e1e006467893e21ae41a005fefaf2270e29642b415df053324a7": {
48
+ "name": "dotnet-dump.10.0.750501.nupkg",
49
+ "sha256": "ae70c9f37548e1e006467893e21ae41a005fefaf2270e29642b415df053324a7",
50
+ "size": 10482522,
51
+ "format": "zip",
52
+ "root": "tools/net8.0/any",
53
+ "license": "MIT; full matching LICENSE.TXT companion and embedded THIRD-PARTY-NOTICES.txt retained",
54
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-diagnostics-10.0.750501-r1/dotnet-dump.10.0.750501.nupkg"
55
+ },
56
+ "cd35f399fe023f1793b528590a4d723a1f2f1d9b25696386d926a697bd24c0ca": {
57
+ "name": "dotnet-stack.10.0.750501.nupkg",
58
+ "sha256": "cd35f399fe023f1793b528590a4d723a1f2f1d9b25696386d926a697bd24c0ca",
59
+ "size": 6025361,
60
+ "format": "zip",
61
+ "root": "tools/net8.0/any",
62
+ "license": "MIT; full matching LICENSE.TXT companion and embedded THIRD-PARTY-NOTICES.txt retained",
63
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-diagnostics-10.0.750501-r1/dotnet-stack.10.0.750501.nupkg"
64
+ },
65
+ "ef17f25724a55f9685bfaf8506a778ea87c2b62783eca2ca73263226128b0d4e": {
66
+ "name": "dotnet-trace.10.0.750501.nupkg",
67
+ "sha256": "ef17f25724a55f9685bfaf8506a778ea87c2b62783eca2ca73263226128b0d4e",
68
+ "size": 12273543,
69
+ "format": "zip",
70
+ "root": "tools/net8.0/any",
71
+ "license": "MIT; full matching LICENSE.TXT companion and embedded THIRD-PARTY-NOTICES.txt retained",
72
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-dotnet-diagnostics-10.0.750501-r1/dotnet-trace.10.0.750501.nupkg"
73
+ },
74
+ "26e9e7b9a8d9c68c87cb3da879c328edd096d587720039095de6a522d2c8765e": {
75
+ "name": "frida-node-17.24.0-macos-arm64.tgz",
76
+ "sha256": "26e9e7b9a8d9c68c87cb3da879c328edd096d587720039095de6a522d2c8765e",
77
+ "size": 46957847,
78
+ "format": "tgz",
79
+ "root": "frida-node-17.24.0",
80
+ "license": "Frida LGPL-2.0 WITH WxWindows-exception-3.1; included full LGPL/third-party notices apply to dependencies",
81
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-frida-node-17.24.0-r1/frida-node-17.24.0-macos-arm64.tgz"
82
+ },
83
+ "40f68357d6b62a08429c36228907c995e3449283b6d2e08ba5a4e30b53a09725": {
84
+ "name": "ghidra-12.1.2-arm64_sonoma.tar.gz",
85
+ "sha256": "40f68357d6b62a08429c36228907c995e3449283b6d2e08ba5a4e30b53a09725",
86
+ "size": 470315169,
87
+ "format": "tgz",
88
+ "root": "ghidra/12.1.2/libexec",
89
+ "license": "Apache-2.0 and included third-party licenses",
90
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ghidra-12.1.2-r1/ghidra-12.1.2-arm64_sonoma.tar.gz"
91
+ },
92
+ "90aa942184fca2337ad0a123f818f37372ea642e8e69e969d45cc144a6f26fdf": {
93
+ "name": "ghidra-12.1.2-arm64_sequoia.tar.gz",
94
+ "sha256": "90aa942184fca2337ad0a123f818f37372ea642e8e69e969d45cc144a6f26fdf",
95
+ "size": 470268922,
96
+ "format": "tgz",
97
+ "root": "ghidra/12.1.2/libexec",
98
+ "license": "Apache-2.0 and included third-party licenses",
99
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ghidra-12.1.2-r1/ghidra-12.1.2-arm64_sequoia.tar.gz"
100
+ },
101
+ "079007d8a3a477c8d5901e6596947612d86c8641956424a2bcb71ecd798bedcc": {
102
+ "name": "ghidra-12.1.2-arm64_tahoe.tar.gz",
103
+ "sha256": "079007d8a3a477c8d5901e6596947612d86c8641956424a2bcb71ecd798bedcc",
104
+ "size": 470255318,
105
+ "format": "tgz",
106
+ "root": "ghidra/12.1.2/libexec",
107
+ "license": "Apache-2.0 and included third-party licenses",
108
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ghidra-12.1.2-r1/ghidra-12.1.2-arm64_tahoe.tar.gz"
109
+ },
110
+ "e30f8c84b64331f87f6ef1890cbdded6672bb7fcc8b674794ac93e4b3e62ad2b": {
111
+ "name": "ghidra-12.1.2-sonoma.tar.gz",
112
+ "sha256": "e30f8c84b64331f87f6ef1890cbdded6672bb7fcc8b674794ac93e4b3e62ad2b",
113
+ "size": 470418808,
114
+ "format": "tgz",
115
+ "root": "ghidra/12.1.2/libexec",
116
+ "license": "Apache-2.0 and included third-party licenses",
117
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ghidra-12.1.2-r1/ghidra-12.1.2-sonoma.tar.gz"
118
+ },
119
+ "b62e81a0390618466c019c60d8c2f796ced2509c4c1aea4a37644a77272cf99d": {
120
+ "name": "ghidra-12.1.2.zip",
121
+ "sha256": "b62e81a0390618466c019c60d8c2f796ced2509c4c1aea4a37644a77272cf99d",
122
+ "size": 572803866,
123
+ "format": "zip",
124
+ "root": "ghidra_12.1.2_PUBLIC",
125
+ "license": "Apache-2.0 and included third-party licenses",
126
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ghidra-12.1.2-r1/ghidra-12.1.2.zip"
127
+ },
128
+ "74c07facaf1850c78a779fc509031f756e1c0de24b1a536f3363d7ef81ce001f": {
129
+ "name": "ilspycmd.11.1.0.9782.zip",
130
+ "sha256": "74c07facaf1850c78a779fc509031f756e1c0de24b1a536f3363d7ef81ce001f",
131
+ "size": 4632113,
132
+ "format": "zip",
133
+ "root": "tools/net10.0/any",
134
+ "license": "MIT and included dependency notices",
135
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-ilspy-11.1.0.9782-r1/ilspycmd.11.1.0.9782.zip"
136
+ },
137
+ "3df8fefb9f15fd80d250dc78517a659f4ec67159f73fdc5df71b7100709213d5": {
138
+ "name": "lldb-23.1.3-macos-arm64.tgz",
139
+ "sha256": "3df8fefb9f15fd80d250dc78517a659f4ec67159f73fdc5df71b7100709213d5",
140
+ "size": 56154665,
141
+ "format": "tgz",
142
+ "root": "lldb-23.1.3",
143
+ "license": "Apache-2.0 WITH LLVM-exception and included LLVM notices",
144
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-lldb-23.1.3-r1/lldb-23.1.3-macos-arm64.tgz"
145
+ },
146
+ "0f9e88490490fb2f487ad6f02d7aea774629a2839a10497fdcbaad9c6481c839": {
147
+ "name": "lldb-python-23.1.3-macos-arm64.tgz",
148
+ "sha256": "0f9e88490490fb2f487ad6f02d7aea774629a2839a10497fdcbaad9c6481c839",
149
+ "size": 105314583,
150
+ "format": "tgz",
151
+ "root": "lldb-python-23.1.3",
152
+ "license": "Apache-2.0 WITH LLVM-exception; Python-2.0, BSD, MIT and retained third-party notices",
153
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-lldb-python-23.1.3-r2/lldb-python-23.1.3-macos-arm64.tgz"
154
+ },
155
+ "2599cb40282085a61a3d8b50003d75d556010d764c05a9bf30e45a7c7b5b7861": {
156
+ "name": "llvm-utilities-23.1.3-macos-arm64.tgz",
157
+ "sha256": "2599cb40282085a61a3d8b50003d75d556010d764c05a9bf30e45a7c7b5b7861",
158
+ "size": 23318992,
159
+ "format": "tgz",
160
+ "root": "llvm-utilities-23.1.3",
161
+ "license": "Apache-2.0 WITH LLVM-exception and included LLVM notices",
162
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-llvm-utilities-23.1.3-r1/llvm-utilities-23.1.3-macos-arm64.tgz"
163
+ },
164
+ "4bed6d0d2a0bcdc4afeb7408881c9b30e5f81b7c232c2ff9c987babcbed90125": {
165
+ "name": "mitmproxy-12.2.3-macos-arm64.tgz",
166
+ "sha256": "4bed6d0d2a0bcdc4afeb7408881c9b30e5f81b7c232c2ff9c987babcbed90125",
167
+ "size": 54210416,
168
+ "format": "tgz",
169
+ "root": ".",
170
+ "license": "MIT application; PSF Python; LGPL urwid; PyInstaller GPL with bootloader exception; full component notices retained",
171
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-mitmproxy-12.2.3-r2/mitmproxy-12.2.3-macos-arm64.tgz"
172
+ },
173
+ "0a09ee3b82569e8985aff8186e4792618b8e5d0c766098db093d09a87d4b013a": {
174
+ "name": "mitmproxy-12.2.3-macos-arm64.tar.gz",
175
+ "sha256": "0a09ee3b82569e8985aff8186e4792618b8e5d0c766098db093d09a87d4b013a",
176
+ "size": 54227612,
177
+ "format": "tgz",
178
+ "root": ".",
179
+ "license": "MIT application; PSF Python; LGPL urwid; PyInstaller GPL with bootloader exception; full component notices retained",
180
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-mitmproxy-12.2.3-r1/mitmproxy-12.2.3-macos-arm64.tar.gz"
181
+ },
182
+ "7bb52641f2e0dc9b8f5b180be4b0ab46b6d3127361a4e817938175603850c714": {
183
+ "name": "7zip-26.04-macos-universal.tgz",
184
+ "sha256": "7bb52641f2e0dc9b8f5b180be4b0ab46b6d3127361a4e817938175603850c714",
185
+ "size": 2657149,
186
+ "format": "tgz",
187
+ "root": ".",
188
+ "license": "LGPL-2.1-or-later, BSD-3-Clause and unRAR restriction; included License.txt and manual",
189
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-sevenzip-26.04-r1/7zip-26.04-macos-universal.tgz"
190
+ },
191
+ "3f01b360952f9c81dee07b640916115f937685df6d3004f5a3227cb0582d8ca3": {
192
+ "name": "strace-7.2-linux-x64.tgz",
193
+ "sha256": "3f01b360952f9c81dee07b640916115f937685df6d3004f5a3227cb0582d8ca3",
194
+ "size": 612329,
195
+ "format": "tgz",
196
+ "root": "strace-7.2",
197
+ "license": "LGPL-2.1-or-later (strace), MIT (first-party launcher), retained source/UAPI notices",
198
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-strace-7.2-r1/strace-7.2-linux-x64.tgz"
199
+ },
200
+ "6ebcf221c9b41507b14c098e93c6ead6440b8d9bd154f8ec666c4c73abbdb201": {
201
+ "name": "temurin-21.0.11+10-darwin-arm64.tar.gz",
202
+ "sha256": "6ebcf221c9b41507b14c098e93c6ead6440b8d9bd154f8ec666c4c73abbdb201",
203
+ "size": 200030394,
204
+ "format": "tgz",
205
+ "root": "jdk-21.0.11+10.jdk/Contents/Home",
206
+ "license": "GPL-2.0 WITH Classpath-exception-2.0; included legal notices",
207
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-temurin-21.0.11-10-r1/temurin-21.0.11+10-darwin-arm64.tar.gz"
208
+ },
209
+ "34180eb03e6d207c388cce3da668f6cc7cd7508c185c24782fadac2c9c0e66f9": {
210
+ "name": "temurin-21.0.11+10-darwin-x64.tar.gz",
211
+ "sha256": "34180eb03e6d207c388cce3da668f6cc7cd7508c185c24782fadac2c9c0e66f9",
212
+ "size": 194283642,
213
+ "format": "tgz",
214
+ "root": "jdk-21.0.11+10.jdk/Contents/Home",
215
+ "license": "GPL-2.0 WITH Classpath-exception-2.0; included legal notices",
216
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-temurin-21.0.11-10-r1/temurin-21.0.11+10-darwin-x64.tar.gz"
217
+ },
218
+ "4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de": {
219
+ "name": "temurin-21.0.11+10-linux-x64.tar.gz",
220
+ "sha256": "4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de",
221
+ "size": 207513939,
222
+ "format": "tgz",
223
+ "root": "jdk-21.0.11+10",
224
+ "license": "GPL-2.0 WITH Classpath-exception-2.0; included legal notices",
225
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-temurin-21.0.11-10-r1/temurin-21.0.11+10-linux-x64.tar.gz"
226
+ },
227
+ "d3625e7cadf23787ea540229544b6e2ab494b3b54da1801879e583e1dfee0a64": {
228
+ "name": "temurin-21.0.11+10-win32-x64.zip",
229
+ "sha256": "d3625e7cadf23787ea540229544b6e2ab494b3b54da1801879e583e1dfee0a64",
230
+ "size": 205073954,
231
+ "format": "zip",
232
+ "root": "jdk-21.0.11+10",
233
+ "license": "GPL-2.0 WITH Classpath-exception-2.0; included legal notices",
234
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-temurin-21.0.11-10-r1/temurin-21.0.11+10-win32-x64.zip"
235
+ },
236
+ "90a4f106033c74eef38f52985fc168c99a293ae35c9d3d7d1b157558a94d5261": {
237
+ "name": "tshark-4.6.9-macos-console.tgz",
238
+ "sha256": "90a4f106033c74eef38f52985fc168c99a293ae35c9d3d7d1b157558a94d5261",
239
+ "size": 71703877,
240
+ "format": "tgz",
241
+ "root": "tshark-4.6.9",
242
+ "license": "GPL-2.0-or-later Wireshark; LGPL-2.1+/LGPL-3+/GPL-2+ libraries and permissive notices retained",
243
+ "url": "https://github.com/iXab3r/insight-cli/releases/download/tool-tshark-4.6.9-r1/tshark-4.6.9-macos-console.tgz"
244
+ },
245
+ "477754bf299c9e5b311c5666f7a4a48dfdb21265eaa8f0cca70ef9d9552e3a10": {
246
+ "name": "ProcessMonitor-4.12.zip",
247
+ "url": "https://download.sysinternals.com/files/ProcessMonitor.zip",
248
+ "sha256": "477754bf299c9e5b311c5666f7a4a48dfdb21265eaa8f0cca70ef9d9552e3a10",
249
+ "size": 3202206,
250
+ "format": "zip",
251
+ "root": ".",
252
+ "license": "Microsoft Sysinternals license terms; no redistribution by insight-cli",
253
+ "delivery": {
254
+ "kind": "vendor-direct",
255
+ "publisher": "Microsoft",
256
+ "termsUrl": "https://learn.microsoft.com/en-us/sysinternals/license-terms",
257
+ "reason": "Redistribution is prohibited. Explicit vendor acquisition with a pinned SHA256 and local cache was selected by the owner."
258
+ }
259
+ },
260
+ "4662ae17bc0dc77db987b89cccea32c30058baa06268f861d09e0ab4e4f45c20": {
261
+ "name": "WinDbg-1.2610.1001.0.msixbundle",
262
+ "url": "https://windbg.download.prss.microsoft.com/dbazure/prod/1-2610-1001-0/windbg.msixbundle",
263
+ "sha256": "4662ae17bc0dc77db987b89cccea32c30058baa06268f861d09e0ab4e4f45c20",
264
+ "size": 1203512387,
265
+ "format": "zip",
266
+ "root": ".",
267
+ "license": "Microsoft WinDbg license terms embedded in the inspected bundle; no redistribution by insight-cli",
268
+ "delivery": {
269
+ "kind": "vendor-direct",
270
+ "publisher": "Microsoft",
271
+ "termsUrl": "https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/",
272
+ "reason": "The inspected bundled EULA prohibits redistribution. Use the exact vendor-version URL, pinned SHA256 and local cache."
273
+ }
274
+ },
275
+ "8ed48f165dc355e869f3a0037ad4f9216147f995a5ae0258b296eeef1f73aab0": {
276
+ "name": "dnSpyEx-6.6.0-net-win64.zip",
277
+ "url": "https://github.com/dnSpyEx/dnSpy/releases/download/v6.6.0/dnSpy-net-win64.zip",
278
+ "sha256": "8ed48f165dc355e869f3a0037ad4f9216147f995a5ae0258b296eeef1f73aab0",
279
+ "size": 99558585,
280
+ "format": "zip",
281
+ "root": ".",
282
+ "license": "GPL-3.0-or-later application plus retained component notices; six VS 2017 NuGet runtime DLLs have Microsoft terms forbidding our redistribution",
283
+ "delivery": {
284
+ "kind": "vendor-direct",
285
+ "publisher": "dnSpyEx",
286
+ "termsUrl": "https://visualstudio.microsoft.com/license-terms/mlt552233/",
287
+ "reason": "The original pinned dnSpyEx bundle contains Microsoft.VisualStudio.CoreUtility, Language.Intellisense and Text.Data/Logic/UI/UI.Wpf 15.5.27130 with the Microsoft VS 2017 tools/add-ons terms (NuGet licenseUrl aka.ms/pexunj), which prohibit sharing/publishing. Acquire the unmodified upstream bundle explicitly; do not mirror it or those DLLs."
288
+ }
289
+ }
290
+ }