@eyeauras/insight-cli 0.2.1 → 0.2.3

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 (82) hide show
  1. package/.cli-package-build.json +1 -1
  2. package/SKILL.md +1 -1
  3. package/dist/src/budgets.d.ts +2 -0
  4. package/dist/src/budgets.js +13 -0
  5. package/dist/src/cli.js +20 -1
  6. package/dist/src/contexts.js +3 -2
  7. package/dist/src/lifecycle.d.ts +2 -0
  8. package/dist/src/research.d.ts +3 -0
  9. package/dist/src/research.js +36 -6
  10. package/dist/src/server.js +13 -1
  11. package/dist/src/tool-runtime/java-arguments.d.ts +6 -0
  12. package/dist/src/tool-runtime/java-arguments.js +44 -0
  13. package/dist/src/tool-runtime/supervisor.js +3 -0
  14. package/dist/src/transport.d.ts +2 -1
  15. package/dist/src/transport.js +8 -3
  16. package/dist/src/workspace.d.ts +11 -0
  17. package/dist/src/workspace.js +18 -1
  18. package/package.json +1 -1
  19. package/references/managed-runtime.md +5 -0
  20. package/references/native-workflows.md +10 -0
  21. package/references/recovery.md +26 -0
  22. package/references/setup.md +17 -0
  23. package/skill-bundle/insight-artifacts/SKILL.md +1 -1
  24. package/skill-bundle/insight-binary/SKILL.md +1 -1
  25. package/skill-bundle/insight-capture/SKILL.md +1 -1
  26. package/skill-bundle/insight-cli/SKILL.md +1 -1
  27. package/skill-bundle/insight-die/SKILL.md +1 -1
  28. package/skill-bundle/insight-dnspy/SKILL.md +1 -1
  29. package/skill-bundle/insight-dotnet-dump/SKILL.md +1 -1
  30. package/skill-bundle/insight-dotnet-stack/SKILL.md +1 -1
  31. package/skill-bundle/insight-dotnet-trace/SKILL.md +1 -1
  32. package/skill-bundle/insight-frida/SKILL.md +1 -1
  33. package/skill-bundle/insight-ghidra/SKILL.md +3 -1
  34. package/skill-bundle/insight-ghidra/references/managed-runtime.md +5 -0
  35. package/skill-bundle/insight-ghidra/references/native-workflows.md +10 -0
  36. package/skill-bundle/insight-ghidra/references/recovery.md +26 -0
  37. package/skill-bundle/insight-ghidra/references/setup.md +17 -0
  38. package/skill-bundle/insight-ilspy/SKILL.md +1 -1
  39. package/skill-bundle/insight-interop/SKILL.md +1 -1
  40. package/skill-bundle/insight-lldb/SKILL.md +1 -1
  41. package/skill-bundle/insight-llvm/SKILL.md +1 -1
  42. package/skill-bundle/insight-managed-heap/SKILL.md +1 -1
  43. package/skill-bundle/insight-managed-metadata/SKILL.md +1 -1
  44. package/skill-bundle/insight-mitmproxy/SKILL.md +1 -1
  45. package/skill-bundle/insight-overview/SKILL.md +1 -1
  46. package/skill-bundle/insight-procmon/SKILL.md +1 -1
  47. package/skill-bundle/insight-re/SKILL.md +1 -1
  48. package/skill-bundle/insight-re/references/recovery.md +26 -0
  49. package/skill-bundle/insight-sevenzip/SKILL.md +1 -1
  50. package/skill-bundle/insight-strace/SKILL.md +1 -1
  51. package/skill-bundle/insight-tshark/SKILL.md +1 -1
  52. package/skill-bundle/insight-windbg/SKILL.md +1 -1
  53. package/skill-bundle/manifest.json +1 -1
  54. package/skills/insight-artifacts/SKILL.md +1 -1
  55. package/skills/insight-binary/SKILL.md +1 -1
  56. package/skills/insight-capture/SKILL.md +1 -1
  57. package/skills/insight-die/SKILL.md +1 -1
  58. package/skills/insight-dnspy/SKILL.md +1 -1
  59. package/skills/insight-dotnet-dump/SKILL.md +1 -1
  60. package/skills/insight-dotnet-stack/SKILL.md +1 -1
  61. package/skills/insight-dotnet-trace/SKILL.md +1 -1
  62. package/skills/insight-frida/SKILL.md +1 -1
  63. package/skills/insight-ghidra/SKILL.md +3 -1
  64. package/skills/insight-ghidra/references/managed-runtime.md +5 -0
  65. package/skills/insight-ghidra/references/native-workflows.md +10 -0
  66. package/skills/insight-ghidra/references/recovery.md +26 -0
  67. package/skills/insight-ghidra/references/setup.md +17 -0
  68. package/skills/insight-ilspy/SKILL.md +1 -1
  69. package/skills/insight-interop/SKILL.md +1 -1
  70. package/skills/insight-lldb/SKILL.md +1 -1
  71. package/skills/insight-llvm/SKILL.md +1 -1
  72. package/skills/insight-managed-heap/SKILL.md +1 -1
  73. package/skills/insight-managed-metadata/SKILL.md +1 -1
  74. package/skills/insight-mitmproxy/SKILL.md +1 -1
  75. package/skills/insight-overview/SKILL.md +1 -1
  76. package/skills/insight-procmon/SKILL.md +1 -1
  77. package/skills/insight-re/SKILL.md +1 -1
  78. package/skills/insight-re/references/recovery.md +26 -0
  79. package/skills/insight-sevenzip/SKILL.md +1 -1
  80. package/skills/insight-strace/SKILL.md +1 -1
  81. package/skills/insight-tshark/SKILL.md +1 -1
  82. package/skills/insight-windbg/SKILL.md +1 -1
@@ -3,7 +3,7 @@ name: insight-frida
3
3
  description: Observe native call arguments/results or inspect runtime modules and exports in an explicitly selected authorized process with bounded Frida scripts. Use insight-cli frida to corroborate static findings with actual execution on macOS ARM64.
4
4
  ---
5
5
 
6
- # Insight Frida 0.2.1
6
+ # Insight Frida 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-ghidra
3
3
  description: Inspect or edit native binaries with Ghidra through insight-cli; use isolated contexts, multi-agent merge/refresh, server, GUI or debugger workflows. Choose this for static native behavior and references, not C# recovery from managed IL.
4
4
  ---
5
5
 
6
- # Insight Ghidra 0.2.1
6
+ # Insight Ghidra 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -89,3 +89,5 @@ and step out or over the call to inspect its actual return.
89
89
  Repeat mapping and live breakpoint setup for every new launch. A saved breakpoint bookmark
90
90
  does not prove placement in that new process; check its `trace_location_count` before resuming.
91
91
  Use `new` only when creating a session; subsequent calls take its actual returned ID.
92
+
93
+ Long import/save budgets and stopped-worker abandonment: see [recovery](references/recovery.md) and [setup](references/setup.md). Never replay an uncertain script.
@@ -22,6 +22,11 @@ A failed install preserves its stage/diagnostics and the old selection. Retrying
22
22
  completed cached archives are reused. A later install/doctor/uninstall authenticates and stops
23
23
  any leftover disposable probe server before proceeding; an unverified live identity blocks recovery. Interrupted partial downloads are never used as complete files.
24
24
 
25
+ On Windows, long Ghidra Java classpaths use an owned per-execution argument file, retained with
26
+ the process diagnostics. `javac` files use UTF-8; `java` launcher files use the Windows system
27
+ code page. Java 21's launcher still requires paths representable in that code page. Unmappable
28
+ characters fail before launch rather than selecting different files through lossy conversion.
29
+
25
30
  `status` without scope is passive: selection, paths, missing components, installations, retained
26
31
  stages, recorded checks and live process receipts. It works before installation. It does not start
27
32
  Java or create a research workspace. `status --session S --target T` retains the scoped live health
@@ -44,6 +44,16 @@ loader IDs, supported language/compiler specifications and native option definit
44
44
  selects a loader explicitly. Primitive options, native address and HexLong options are converted
45
45
  and validated; unsupported complex option classes fail explicitly. One program belongs to a target.
46
46
 
47
+ For a mixed managed/native or protected PE, first inspect the installed loader options. If the
48
+ task needs its native view and CLI metadata parsing emits repeated warnings or prevents import,
49
+ an explicit PE import may select `--loader <PE-loader-ID-from-discovery>` together with
50
+ `--loader-options '{"Parse CLI headers (if present)":false}'`.
51
+ This is a per-target analysis choice: record it with the findings. For an alternative managed
52
+ import of the same bytes, use a separate disposable profile; targets within one profile reuse
53
+ the same immutable input identity. An output-limit failure means import/analysis is incomplete; inspect
54
+ the retained diagnostics and first-import recovery state before continuing. Do not treat warnings,
55
+ a killed worker or a partial snapshot as a successful analysis or blindly repeat publication.
56
+
47
57
  `formats exporters` lists compatible native exporters and their options. `formats export
48
58
  --exporter 'Raw Bytes' --ranges '[{"start":"0x10001","end":"0x10003"}]'
49
59
  --output-directory <new-directory>` requires a format supporting restricted address sets.
@@ -51,3 +51,29 @@ goto. If its original owned GUI process has exited, continuation reports the unc
51
51
  as disconnected and retains saved program work. It does not recreate the old cursor or re-enable
52
52
  a previous prompt policy. Other unproved live UI effects remain retained until their outcome is
53
53
  established or the original process is known to have ended.
54
+
55
+ ## Abandon an uncertain private program attempt
56
+
57
+ A post-mutation save timeout does not repeat the script or issue another save in the
58
+ error handler. Status exposes the original request identity and retained phase/budget.
59
+ Arbitrary script effects are never inferred from metadata or from an unverified DB.
60
+ After inspecting the retained attempt, explicitly stop only its verified owned worker
61
+ (`tools processes`, then `tools processes kill <process>` if required). Resume the
62
+ last acknowledged private snapshot with:
63
+
64
+ ```sh
65
+ insight-cli permissions grant Destructive
66
+ insight-cli ghidra abandon --session <session> --target <target> \
67
+ --request-id <original-request> --acknowledge-unknown-effects --json
68
+ insight-cli ghidra open --session <session> --target <target> --json
69
+ ```
70
+
71
+ Abandon requires exactly one unresolved private program operation, an unchanged verified
72
+ previous snapshot/generation, a stopped original worker and no active publication or live
73
+ debugger. It retains the native project, candidate artifacts, original intent/execution and
74
+ previous diagnostic result. Its terminal request is `failed` / `state: abandoned` with
75
+ `outcome: unknown`; no effect is marked applied. Repeating abandonment retrieves the same
76
+ result. Earlier saved private edits remain pending. The original changing request ID cannot
77
+ execute again. Abandoning never undoes external effects or establishes what an arbitrary
78
+ script did; the acknowledgement explicitly accepts that uncertainty. Publication recovery,
79
+ initial import, UI and debugger attempts use their own protocols and cannot use this command.
@@ -48,3 +48,20 @@ debugger runtime directory when relevant. These are runtime profile settings, no
48
48
 
49
49
  Archive exchange is opt-in through `archiveUrl`; its optional token uses Factory secrets.
50
50
  See [archive](archive.md) for the service contract and submission recovery behavior.
51
+
52
+ ## Native operation budgets
53
+
54
+ Profile `initialImportSeconds` defaults to 3600 (1–86400 seconds); `saveSeconds`
55
+ defaults to 120 (1–3600 seconds). Configure them with `ghidra budgets set
56
+ --initial-import-seconds 7200 --save-seconds 300`; `ghidra budgets show` reads effective values.
57
+ This uses Factory ProfileStore without invalidating research or stopping native contexts.
58
+ Active requests retain their original budget. Generic `profile set` remains guarded for
59
+ profiles containing research; initial profile creation also accepts these fields. Both are execution policy, independent
60
+ of immutable target/load identity. Save and packed snapshot export use the save budget;
61
+ discovery and ordinary HTTP queries keep their 30-second budget. Each native request has
62
+ its own budget, not a total command deadline. Cancellation remains independent.
63
+
64
+ After an import timeout, wait for the original worker to end, raise its budget and continue
65
+ the original scope. Incomplete private analysis restarts; a completed receipt is reused.
66
+ A save timeout reports `phase: save`, the effective budget and `saveSeconds`. Inspect
67
+ `sessions status`; a native log or broken response stream cannot prove a saved snapshot.
@@ -3,7 +3,7 @@ name: insight-ilspy
3
3
  description: Recover C#, inspect IL/types/metadata, extract resources or export projects from managed .NET assemblies through insight-cli ILSpy. Choose native analysis for NativeAOT or ordinary PE machine code.
4
4
  ---
5
5
 
6
- # Insight ILSpy 0.2.1
6
+ # Insight ILSpy 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-interop
3
3
  description: Trace a .NET P/Invoke declaration to an explicitly supplied native library export and Ghidra function through insight-cli ilspy query, binary query and scoped ghidra APIs. Use for managed/native linkage evidence while keeping static correspondence separate from observed loading or execution.
4
4
  ---
5
5
 
6
- # Insight Interop 0.2.1
6
+ # Insight Interop 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-lldb
3
3
  description: Observe native runtime arguments, return values, registers, stacks and bounded memory at a selected breakpoint using an owned LLDB launch. Use insight-cli lldb on macOS ARM64 when static findings need a concrete execution check.
4
4
  ---
5
5
 
6
- # Insight LLDB 0.2.1
6
+ # Insight LLDB 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-llvm
3
3
  description: Inspect PE, ELF and Mach-O headers, dependencies, exports and symbols; query PDB debug information or a small instruction window with insight-cli LLVM utilities before opening a full analysis project.
4
4
  ---
5
5
 
6
- # Insight LLVM 0.2.1
6
+ # Insight LLVM 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-managed-heap
3
3
  description: Query structured .NET heap objects, primitive fields and managed stacks from a retained CoreCLR dump through insight-cli dotnet-dump query. Use for bounded offline dump investigation with an explicit matching DAC, preserving uncertainty and immutable input identity.
4
4
  ---
5
5
 
6
- # Insight Managed Heap 0.2.1
6
+ # Insight Managed Heap 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-managed-metadata
3
3
  description: Query managed assembly metadata, MethodDef tokens, P/Invoke declarations and bounded IL, or compare two C#/.NET assemblies through insight-cli ilspy query/compare. Use for structured static evidence and changed-method research without executing the target.
4
4
  ---
5
5
 
6
- # Insight Managed Metadata 0.2.1
6
+ # Insight Managed Metadata 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-mitmproxy
3
3
  description: Record, inspect and compare HTTP request/response evidence with insight-cli mitmproxy. Use when an owned client can explicitly use a loopback proxy; read native flow archives or HAR without replaying traffic. System interception and global certificate trust are outside this facade.
4
4
  ---
5
5
 
6
- # Insight mitmproxy 0.2.1
6
+ # Insight mitmproxy 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-overview
3
3
  description: Choose bounded tool overviews and focused drilldown through insight-cli without flooding agent context with whole-program code, traces or dumps. Use for tool discovery, scoped evidence paging and keeping native partial coverage separate from complete results.
4
4
  ---
5
5
 
6
- # Insight Overview 0.2.1
6
+ # Insight Overview 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-procmon
3
3
  description: Observe actual file and registry access by an authorized running Windows process through insight-cli procmon. Use when static paths or configuration guesses need runtime evidence; inspect retained captures without collecting again.
4
4
  ---
5
5
 
6
- # Insight ProcMon 0.2.1
6
+ # Insight ProcMon 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-re
3
3
  description: Investigate shipped programs and binary artifacts with insight-cli and other available tools; retain ordinary research files, coordinate independent agents and publish Ghidra annotations. Use for reverse engineering behavior, not ordinary source-repository browsing.
4
4
  ---
5
5
 
6
- # Insight RE 0.2.1
6
+ # Insight RE 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -51,3 +51,29 @@ goto. If its original owned GUI process has exited, continuation reports the unc
51
51
  as disconnected and retains saved program work. It does not recreate the old cursor or re-enable
52
52
  a previous prompt policy. Other unproved live UI effects remain retained until their outcome is
53
53
  established or the original process is known to have ended.
54
+
55
+ ## Abandon an uncertain private program attempt
56
+
57
+ A post-mutation save timeout does not repeat the script or issue another save in the
58
+ error handler. Status exposes the original request identity and retained phase/budget.
59
+ Arbitrary script effects are never inferred from metadata or from an unverified DB.
60
+ After inspecting the retained attempt, explicitly stop only its verified owned worker
61
+ (`tools processes`, then `tools processes kill <process>` if required). Resume the
62
+ last acknowledged private snapshot with:
63
+
64
+ ```sh
65
+ insight-cli permissions grant Destructive
66
+ insight-cli ghidra abandon --session <session> --target <target> \
67
+ --request-id <original-request> --acknowledge-unknown-effects --json
68
+ insight-cli ghidra open --session <session> --target <target> --json
69
+ ```
70
+
71
+ Abandon requires exactly one unresolved private program operation, an unchanged verified
72
+ previous snapshot/generation, a stopped original worker and no active publication or live
73
+ debugger. It retains the native project, candidate artifacts, original intent/execution and
74
+ previous diagnostic result. Its terminal request is `failed` / `state: abandoned` with
75
+ `outcome: unknown`; no effect is marked applied. Repeating abandonment retrieves the same
76
+ result. Earlier saved private edits remain pending. The original changing request ID cannot
77
+ execute again. Abandoning never undoes external effects or establishes what an arbitrary
78
+ script did; the acknowledgement explicitly accepts that uncertainty. Publication recovery,
79
+ initial import, UI and debugger attempts use their own protocols and cannot use this command.
@@ -3,7 +3,7 @@ name: insight-sevenzip
3
3
  description: Inventory, integrity-check and recover files from archives and supported containers with insight-cli 7-Zip, then hand recovered binaries or configuration to the appropriate research tool.
4
4
  ---
5
5
 
6
- # Insight 7-Zip 0.2.1
6
+ # Insight 7-Zip 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-strace
3
3
  description: Observe actual file reads, writes, process creation and network syscalls in an authorized owned native Linux launch using insight-cli strace. Use when static inference needs concrete operating-system interaction evidence.
4
4
  ---
5
5
 
6
- # Insight strace 0.2.1
6
+ # Insight strace 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-tshark
3
3
  description: Inspect an offline PCAP or PCAPNG with insight-cli tshark to identify protocols, HTTP/DNS/TLS fields, packet evidence and reconstructed TCP/UDP streams. Use for captured traffic questions; live acquisition and TLS decryption are separate tasks.
4
4
  ---
5
5
 
6
- # Insight TShark 0.2.1
6
+ # Insight TShark 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-windbg
3
3
  description: Investigate Windows native user-mode minidumps using bounded stacks, threads, registers, modules, memory and disassembly through insight-cli windbg. Use on Windows x64 when a captured runtime state needs native debugger evidence.
4
4
  ---
5
5
 
6
- # Insight WinDbg 0.2.1
6
+ # Insight WinDbg 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@eyeauras/insight-cli",
4
- "version": "0.2.1",
4
+ "version": "0.2.3",
5
5
  "skills": [
6
6
  "insight-cli",
7
7
  "insight-re",
@@ -3,7 +3,7 @@ name: insight-artifacts
3
3
  description: Retain a completed reverse-engineering evidence file or directory as an ordinary checkpoint using insight-cli artifacts save. Use after Ghidra or any external tool; preserve existing project formats and source of truth.
4
4
  ---
5
5
 
6
- # Insight Artifacts 0.2.1
6
+ # Insight Artifacts 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-binary
3
3
  description: Query structured PE, ELF and thin Mach-O headers, sections, imports and exports, or make an explicitly guarded new PE subsystem copy through insight-cli binary. Use for scoped binary structure, linkage and copy-only header edits without target execution.
4
4
  ---
5
5
 
6
- # Insight Binary 0.2.1
6
+ # Insight Binary 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-capture
3
3
  description: Capture one explicitly authorized native program run, exact stdout/stderr and declared file snapshots through insight-cli capture, then inspect or compare retained reports without replay. Use for controlled input/output research, preserving original files and interrupted or unknown outcomes.
4
4
  ---
5
5
 
6
- # Insight Capture 0.2.1
6
+ # Insight Capture 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-die
3
3
  description: Classify unknown executable or container inputs by format, architecture and compiler/runtime/packer signatures with Detect It Easy before choosing managed or native analysis. Use insight-cli die for static triage and preserve scan uncertainty.
4
4
  ---
5
5
 
6
- # Insight Detect It Easy 0.2.1
6
+ # Insight Detect It Easy 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-dnspy
3
3
  description: Debug a managed Windows EXE at an IL breakpoint and read primitive arguments, or change one expected IL Int32 constant in a new assembly copy through insight-cli dnspy. Use when C# decompilation needs observed execution or a controlled binary edit.
4
4
  ---
5
5
 
6
- # Insight dnSpyEx 0.2.1
6
+ # Insight dnSpyEx 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-dotnet-dump
3
3
  description: Capture a managed heap dump or inspect compatible .NET dumps with SOS to recover waiting stacks, objects, fields and retention evidence.
4
4
  ---
5
5
 
6
- # Insight .NET Dump 0.2.1
6
+ # Insight .NET Dump 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-dotnet-stack
3
3
  description: Inspect live managed thread stacks to identify active or waiting work in an explicitly selected .NET process without taking a dump.
4
4
  ---
5
5
 
6
- # Insight .NET Stack 0.2.1
6
+ # Insight .NET Stack 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-dotnet-trace
3
3
  description: Collect and inspect bounded .NET EventPipe traces to identify sampled thread work, waits or runtime activity; distinguish wall-clock samples from CPU consumption.
4
4
  ---
5
5
 
6
- # Insight .NET Trace 0.2.1
6
+ # Insight .NET Trace 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-frida
3
3
  description: Observe native call arguments/results or inspect runtime modules and exports in an explicitly selected authorized process with bounded Frida scripts. Use insight-cli frida to corroborate static findings with actual execution on macOS ARM64.
4
4
  ---
5
5
 
6
- # Insight Frida 0.2.1
6
+ # Insight Frida 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-ghidra
3
3
  description: Inspect or edit native binaries with Ghidra through insight-cli; use isolated contexts, multi-agent merge/refresh, server, GUI or debugger workflows. Choose this for static native behavior and references, not C# recovery from managed IL.
4
4
  ---
5
5
 
6
- # Insight Ghidra 0.2.1
6
+ # Insight Ghidra 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -89,3 +89,5 @@ and step out or over the call to inspect its actual return.
89
89
  Repeat mapping and live breakpoint setup for every new launch. A saved breakpoint bookmark
90
90
  does not prove placement in that new process; check its `trace_location_count` before resuming.
91
91
  Use `new` only when creating a session; subsequent calls take its actual returned ID.
92
+
93
+ Long import/save budgets and stopped-worker abandonment: see [recovery](references/recovery.md) and [setup](references/setup.md). Never replay an uncertain script.
@@ -22,6 +22,11 @@ A failed install preserves its stage/diagnostics and the old selection. Retrying
22
22
  completed cached archives are reused. A later install/doctor/uninstall authenticates and stops
23
23
  any leftover disposable probe server before proceeding; an unverified live identity blocks recovery. Interrupted partial downloads are never used as complete files.
24
24
 
25
+ On Windows, long Ghidra Java classpaths use an owned per-execution argument file, retained with
26
+ the process diagnostics. `javac` files use UTF-8; `java` launcher files use the Windows system
27
+ code page. Java 21's launcher still requires paths representable in that code page. Unmappable
28
+ characters fail before launch rather than selecting different files through lossy conversion.
29
+
25
30
  `status` without scope is passive: selection, paths, missing components, installations, retained
26
31
  stages, recorded checks and live process receipts. It works before installation. It does not start
27
32
  Java or create a research workspace. `status --session S --target T` retains the scoped live health
@@ -44,6 +44,16 @@ loader IDs, supported language/compiler specifications and native option definit
44
44
  selects a loader explicitly. Primitive options, native address and HexLong options are converted
45
45
  and validated; unsupported complex option classes fail explicitly. One program belongs to a target.
46
46
 
47
+ For a mixed managed/native or protected PE, first inspect the installed loader options. If the
48
+ task needs its native view and CLI metadata parsing emits repeated warnings or prevents import,
49
+ an explicit PE import may select `--loader <PE-loader-ID-from-discovery>` together with
50
+ `--loader-options '{"Parse CLI headers (if present)":false}'`.
51
+ This is a per-target analysis choice: record it with the findings. For an alternative managed
52
+ import of the same bytes, use a separate disposable profile; targets within one profile reuse
53
+ the same immutable input identity. An output-limit failure means import/analysis is incomplete; inspect
54
+ the retained diagnostics and first-import recovery state before continuing. Do not treat warnings,
55
+ a killed worker or a partial snapshot as a successful analysis or blindly repeat publication.
56
+
47
57
  `formats exporters` lists compatible native exporters and their options. `formats export
48
58
  --exporter 'Raw Bytes' --ranges '[{"start":"0x10001","end":"0x10003"}]'
49
59
  --output-directory <new-directory>` requires a format supporting restricted address sets.
@@ -51,3 +51,29 @@ goto. If its original owned GUI process has exited, continuation reports the unc
51
51
  as disconnected and retains saved program work. It does not recreate the old cursor or re-enable
52
52
  a previous prompt policy. Other unproved live UI effects remain retained until their outcome is
53
53
  established or the original process is known to have ended.
54
+
55
+ ## Abandon an uncertain private program attempt
56
+
57
+ A post-mutation save timeout does not repeat the script or issue another save in the
58
+ error handler. Status exposes the original request identity and retained phase/budget.
59
+ Arbitrary script effects are never inferred from metadata or from an unverified DB.
60
+ After inspecting the retained attempt, explicitly stop only its verified owned worker
61
+ (`tools processes`, then `tools processes kill <process>` if required). Resume the
62
+ last acknowledged private snapshot with:
63
+
64
+ ```sh
65
+ insight-cli permissions grant Destructive
66
+ insight-cli ghidra abandon --session <session> --target <target> \
67
+ --request-id <original-request> --acknowledge-unknown-effects --json
68
+ insight-cli ghidra open --session <session> --target <target> --json
69
+ ```
70
+
71
+ Abandon requires exactly one unresolved private program operation, an unchanged verified
72
+ previous snapshot/generation, a stopped original worker and no active publication or live
73
+ debugger. It retains the native project, candidate artifacts, original intent/execution and
74
+ previous diagnostic result. Its terminal request is `failed` / `state: abandoned` with
75
+ `outcome: unknown`; no effect is marked applied. Repeating abandonment retrieves the same
76
+ result. Earlier saved private edits remain pending. The original changing request ID cannot
77
+ execute again. Abandoning never undoes external effects or establishes what an arbitrary
78
+ script did; the acknowledgement explicitly accepts that uncertainty. Publication recovery,
79
+ initial import, UI and debugger attempts use their own protocols and cannot use this command.
@@ -48,3 +48,20 @@ debugger runtime directory when relevant. These are runtime profile settings, no
48
48
 
49
49
  Archive exchange is opt-in through `archiveUrl`; its optional token uses Factory secrets.
50
50
  See [archive](archive.md) for the service contract and submission recovery behavior.
51
+
52
+ ## Native operation budgets
53
+
54
+ Profile `initialImportSeconds` defaults to 3600 (1–86400 seconds); `saveSeconds`
55
+ defaults to 120 (1–3600 seconds). Configure them with `ghidra budgets set
56
+ --initial-import-seconds 7200 --save-seconds 300`; `ghidra budgets show` reads effective values.
57
+ This uses Factory ProfileStore without invalidating research or stopping native contexts.
58
+ Active requests retain their original budget. Generic `profile set` remains guarded for
59
+ profiles containing research; initial profile creation also accepts these fields. Both are execution policy, independent
60
+ of immutable target/load identity. Save and packed snapshot export use the save budget;
61
+ discovery and ordinary HTTP queries keep their 30-second budget. Each native request has
62
+ its own budget, not a total command deadline. Cancellation remains independent.
63
+
64
+ After an import timeout, wait for the original worker to end, raise its budget and continue
65
+ the original scope. Incomplete private analysis restarts; a completed receipt is reused.
66
+ A save timeout reports `phase: save`, the effective budget and `saveSeconds`. Inspect
67
+ `sessions status`; a native log or broken response stream cannot prove a saved snapshot.
@@ -3,7 +3,7 @@ name: insight-ilspy
3
3
  description: Recover C#, inspect IL/types/metadata, extract resources or export projects from managed .NET assemblies through insight-cli ILSpy. Choose native analysis for NativeAOT or ordinary PE machine code.
4
4
  ---
5
5
 
6
- # Insight ILSpy 0.2.1
6
+ # Insight ILSpy 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-interop
3
3
  description: Trace a .NET P/Invoke declaration to an explicitly supplied native library export and Ghidra function through insight-cli ilspy query, binary query and scoped ghidra APIs. Use for managed/native linkage evidence while keeping static correspondence separate from observed loading or execution.
4
4
  ---
5
5
 
6
- # Insight Interop 0.2.1
6
+ # Insight Interop 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-lldb
3
3
  description: Observe native runtime arguments, return values, registers, stacks and bounded memory at a selected breakpoint using an owned LLDB launch. Use insight-cli lldb on macOS ARM64 when static findings need a concrete execution check.
4
4
  ---
5
5
 
6
- # Insight LLDB 0.2.1
6
+ # Insight LLDB 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-llvm
3
3
  description: Inspect PE, ELF and Mach-O headers, dependencies, exports and symbols; query PDB debug information or a small instruction window with insight-cli LLVM utilities before opening a full analysis project.
4
4
  ---
5
5
 
6
- # Insight LLVM 0.2.1
6
+ # Insight LLVM 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-managed-heap
3
3
  description: Query structured .NET heap objects, primitive fields and managed stacks from a retained CoreCLR dump through insight-cli dotnet-dump query. Use for bounded offline dump investigation with an explicit matching DAC, preserving uncertainty and immutable input identity.
4
4
  ---
5
5
 
6
- # Insight Managed Heap 0.2.1
6
+ # Insight Managed Heap 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-managed-metadata
3
3
  description: Query managed assembly metadata, MethodDef tokens, P/Invoke declarations and bounded IL, or compare two C#/.NET assemblies through insight-cli ilspy query/compare. Use for structured static evidence and changed-method research without executing the target.
4
4
  ---
5
5
 
6
- # Insight Managed Metadata 0.2.1
6
+ # Insight Managed Metadata 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-mitmproxy
3
3
  description: Record, inspect and compare HTTP request/response evidence with insight-cli mitmproxy. Use when an owned client can explicitly use a loopback proxy; read native flow archives or HAR without replaying traffic. System interception and global certificate trust are outside this facade.
4
4
  ---
5
5
 
6
- # Insight mitmproxy 0.2.1
6
+ # Insight mitmproxy 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-overview
3
3
  description: Choose bounded tool overviews and focused drilldown through insight-cli without flooding agent context with whole-program code, traces or dumps. Use for tool discovery, scoped evidence paging and keeping native partial coverage separate from complete results.
4
4
  ---
5
5
 
6
- # Insight Overview 0.2.1
6
+ # Insight Overview 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-procmon
3
3
  description: Observe actual file and registry access by an authorized running Windows process through insight-cli procmon. Use when static paths or configuration guesses need runtime evidence; inspect retained captures without collecting again.
4
4
  ---
5
5
 
6
- # Insight ProcMon 0.2.1
6
+ # Insight ProcMon 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized
@@ -3,7 +3,7 @@ name: insight-re
3
3
  description: Investigate shipped programs and binary artifacts with insight-cli and other available tools; retain ordinary research files, coordinate independent agents and publish Ghidra annotations. Use for reverse engineering behavior, not ordinary source-repository browsing.
4
4
  ---
5
5
 
6
- # Insight RE 0.2.1
6
+ # Insight RE 0.2.3
7
7
 
8
8
  If local help/status reports AppData or IPC access denied, retry that **read-only probe**
9
9
  with the agent host's normal permission escalation, then use that route for later authorized