@eyeauras/insight-cli 0.4.0 → 0.4.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 (59) hide show
  1. package/.cli-package-build.json +1 -1
  2. package/README.md +34 -62
  3. package/SKILL.md +1 -1
  4. package/dist/src/contexts.js +5 -4
  5. package/dist/src/directory-identity.d.ts +4 -0
  6. package/dist/src/directory-identity.js +18 -0
  7. package/dist/src/research.js +10 -4
  8. package/dist/src/runtime-selection.js +4 -3
  9. package/package.json +1 -1
  10. package/skill-bundle/insight-artifacts/SKILL.md +1 -1
  11. package/skill-bundle/insight-binary/SKILL.md +1 -1
  12. package/skill-bundle/insight-capture/SKILL.md +1 -1
  13. package/skill-bundle/insight-cli/SKILL.md +1 -1
  14. package/skill-bundle/insight-die/SKILL.md +1 -1
  15. package/skill-bundle/insight-dnspy/SKILL.md +1 -1
  16. package/skill-bundle/insight-dotnet-dump/SKILL.md +1 -1
  17. package/skill-bundle/insight-dotnet-stack/SKILL.md +1 -1
  18. package/skill-bundle/insight-dotnet-trace/SKILL.md +1 -1
  19. package/skill-bundle/insight-frida/SKILL.md +1 -1
  20. package/skill-bundle/insight-ghidra/SKILL.md +1 -1
  21. package/skill-bundle/insight-ilspy/SKILL.md +1 -1
  22. package/skill-bundle/insight-interop/SKILL.md +1 -1
  23. package/skill-bundle/insight-lldb/SKILL.md +1 -1
  24. package/skill-bundle/insight-llvm/SKILL.md +1 -1
  25. package/skill-bundle/insight-managed-heap/SKILL.md +1 -1
  26. package/skill-bundle/insight-managed-metadata/SKILL.md +1 -1
  27. package/skill-bundle/insight-mitmproxy/SKILL.md +1 -1
  28. package/skill-bundle/insight-overview/SKILL.md +1 -1
  29. package/skill-bundle/insight-procmon/SKILL.md +1 -1
  30. package/skill-bundle/insight-re/SKILL.md +1 -1
  31. package/skill-bundle/insight-sevenzip/SKILL.md +1 -1
  32. package/skill-bundle/insight-strace/SKILL.md +1 -1
  33. package/skill-bundle/insight-tshark/SKILL.md +1 -1
  34. package/skill-bundle/insight-windbg/SKILL.md +1 -1
  35. package/skill-bundle/manifest.json +1 -1
  36. package/skills/insight-artifacts/SKILL.md +1 -1
  37. package/skills/insight-binary/SKILL.md +1 -1
  38. package/skills/insight-capture/SKILL.md +1 -1
  39. package/skills/insight-die/SKILL.md +1 -1
  40. package/skills/insight-dnspy/SKILL.md +1 -1
  41. package/skills/insight-dotnet-dump/SKILL.md +1 -1
  42. package/skills/insight-dotnet-stack/SKILL.md +1 -1
  43. package/skills/insight-dotnet-trace/SKILL.md +1 -1
  44. package/skills/insight-frida/SKILL.md +1 -1
  45. package/skills/insight-ghidra/SKILL.md +1 -1
  46. package/skills/insight-ilspy/SKILL.md +1 -1
  47. package/skills/insight-interop/SKILL.md +1 -1
  48. package/skills/insight-lldb/SKILL.md +1 -1
  49. package/skills/insight-llvm/SKILL.md +1 -1
  50. package/skills/insight-managed-heap/SKILL.md +1 -1
  51. package/skills/insight-managed-metadata/SKILL.md +1 -1
  52. package/skills/insight-mitmproxy/SKILL.md +1 -1
  53. package/skills/insight-overview/SKILL.md +1 -1
  54. package/skills/insight-procmon/SKILL.md +1 -1
  55. package/skills/insight-re/SKILL.md +1 -1
  56. package/skills/insight-sevenzip/SKILL.md +1 -1
  57. package/skills/insight-strace/SKILL.md +1 -1
  58. package/skills/insight-tshark/SKILL.md +1 -1
  59. package/skills/insight-windbg/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":1,"artifact":"034bd833a87d3a9c730b486252e2db09f67b3c6da2377c195389b894b26e12f7"}
1
+ {"version":1,"artifact":"7e87005b361dfdc6efbab8a801e6a2c477c2cc29d9d09dde0af337c4c833c339"}
package/README.md CHANGED
@@ -1,86 +1,58 @@
1
1
  # insight-cli
2
2
 
3
- CLI/API for reverse engineering with durable sessions, isolated Ghidra contexts,
4
- explicit merge/refresh and ordinary saved files. Agents choose the investigation.
3
+ A CLI/API for reverse-engineering agents. Spend more time understanding a program and
4
+ less time managing Ghidra processes or writing scripts around missing analysis metadata.
5
+
6
+ - Search raw strings and code references, and inspect functions in sparse Ghidra databases.
7
+ - Give each agent an isolated research context, with saved work and explicit merge/refresh.
8
+ - Use structured JSON results and a persistent client for sequences of research calls.
5
9
 
6
10
  ## Install
7
11
 
8
- Use Node.js 24 or newer:
12
+ Requires **Node.js 24+**:
9
13
 
10
14
  ```sh
11
15
  npm install --global @eyeauras/insight-cli
12
- insight-cli --help
13
- insight-cli skill insight-re
14
- ```
15
-
16
- The executable is `insight-cli`. Its global npm executable directory must be on PATH.
17
- No source checkout, TypeScript build or separate Factory installation is required.
18
- The pinned Factory IPC runtime is a normal npm dependency fetched from an immutable
19
- GitHub tarball URL; installation therefore needs npm registry and GitHub access.
20
- Use `insight-cli ghidra install` to deliver the pinned Ghidra/JDK/native/server runtime.
21
- External Ghidra launchers and Java paths are also supported.
22
- `insight-cli ilspy install` delivers ILSpy and its private .NET runtime for managed-code
23
- research. Tool downloads use pinned assets retained in our GitHub Releases.
24
- Use `insight-cli tools processes` to inspect owned executions across tools.
25
- Help, skill discovery and saving ordinary files do not need Ghidra or Java.
26
-
27
- Downloading a tool does not expose it in an agent's tool list. Connect the packaged skills
28
- to your agent host, or explicitly give the agent the path returned by `insight-cli skill
29
- insight-re --json`. See [agent setup](references/agent-setup.md) for tested project-local
30
- Codex setup and a practical usability check. Installation leaves agent settings unchanged.
31
-
32
- ## Discover the toolbox
33
-
34
- ```sh
35
- insight-cli tools list --json
36
- insight-cli tools show die --json
37
- insight-cli skill insight-die --json
16
+ insight-cli profile create local
17
+ insight-cli profile set-default local
18
+ insight-cli permissions grant Update
19
+ insight-cli ghidra install
38
20
  ```
39
21
 
40
- The catalog describes the adapters and their packaged skills before any runtime is downloaded.
41
- Use each tool's `status` to check the selected profile, then follow its skill and generated help.
42
- The toolbox includes Ghidra, ILSpy, 7-Zip, LLVM utilities, DiE, LLDB, Frida, WinDbg, strace and .NET dump/stack/trace; platform
43
- and capability limits are explicit per tool. A partial classification or a failed native process
44
- is not a complete finding. Preserve useful output in ordinary project files and checkpoint it
45
- with `artifacts save` when useful. Existing project RE instructions retain precedence.
22
+ The last command downloads and verifies compatible Ghidra and JDK runtimes. No source
23
+ checkout or separate Java installation is needed. See [runtime setup](https://github.com/iXab3r/insight-cli/blob/main/skills/ghidra-coordinator/references/managed-runtime.md)
24
+ for existing installations and offline setup.
46
25
 
47
- ## Start
26
+ For an AI agent, [connect the packaged skills](https://github.com/iXab3r/insight-cli/blob/main/skills/ghidra-coordinator/references/agent-setup.md).
27
+ For repeated API calls, use the [persistent client](https://github.com/iXab3r/insight-cli/blob/main/skills/ghidra-coordinator/references/persistent.md).
48
28
 
49
- ```sh
50
- insight-cli profile create local
51
- insight-cli --profile local permissions grant Update
52
- insight-cli --profile local ghidra install
53
- insight-cli --profile local ghidra status
54
- insight-cli --profile local ghidra open ./client.exe --session new --json
55
- ```
29
+ ## Quick example
56
30
 
57
- Retain the returned `session` and `target` and supply both on research calls:
31
+ Open a binary in a new private research context:
58
32
 
59
33
  ```sh
60
- insight-cli --profile local ghidra strings search --session <session> --target <target> --contains config.json --json
61
- insight-cli --profile local ghidra functions decompile --session <session> --target <target> --address <entry> --json
62
- insight-cli --profile local ghidra merge --session <session> --target <target> --json
34
+ insight-cli ghidra open ./client.exe --session new --json
63
35
  ```
64
36
 
65
- Another agent uses `--session new` for its own context on the same input. It receives
66
- published changes with `ghidra refresh`; local work and conflicts remain explicit.
67
- Managed local startup needs no separately configured Ghidra Server.
68
-
69
- Save a completed project file or folder when a retained checkpoint is useful:
37
+ Reuse the returned session and target IDs in place of `SESSION` and `TARGET`:
70
38
 
71
39
  ```sh
72
- insight-cli --profile local artifacts save ./analysis --json
40
+ insight-cli ghidra strings anchors --session SESSION --target TARGET \
41
+ --text config --encodings ascii,utf16le --json
42
+ insight-cli sessions status SESSION --target TARGET --json
73
43
  ```
74
44
 
75
- The response returns an ordinary saved path and digest. Follow existing project RE
76
- rules, formats and evidence locations; the packaged RE skill fills unspecified gaps.
77
- Installation does not register skills or change agent settings. Use `insight-cli skill`
78
- and `insight-cli skill insight-re` to locate packaged instructions and references.
45
+ The search reads raw literal bytes, so it does not require defined Ghidra strings.
46
+ Results include scan coverage and a continuation cursor when incomplete. New imports
47
+ skip full automatic analysis by default; add `--analysis` to the first `open` to opt in.
48
+ Continue with the [research guide](https://github.com/iXab3r/insight-cli/blob/main/skills/ghidra-coordinator/references/research.md).
79
49
 
80
- Full documentation and verification: [GitHub](https://github.com/iXab3r/insight-cli).
81
- License: MIT. The bundled GhidraMCP bridge has its own Apache-2.0 license and notice.
50
+ ## Benchmarks
82
51
 
83
- Runtime management, local archives and external paths: [managed runtime](references/managed-runtime.md).
84
- The host debugger and OS permissions are checked separately by `ghidra doctor`.
52
+ In a fresh-agent PoE 2 investigation, installed insight-cli 0.4.0 with its persistent
53
+ client finished in **16:35**, versus **19:43** through Ghidra MCP: **15.9% less wall time**,
54
+ with comparable core findings. This is one adaptive research pair, not a general speed guarantee.
85
55
 
86
- Static .NET commands and ordinary output files: [ILSpy](references/ilspy.md).
56
+ [Benchmarks](https://github.com/iXab3r/insight-cli/blob/main/BENCHMARKS.md) includes phases, earlier runs and comparison limits.
57
+ [Development history and detailed reports](https://github.com/iXab3r/insight-cli/blob/main/docs/PROJECT-HISTORY.md) covers architecture,
58
+ acceptance, other experiments and releases. See [Contributing](https://github.com/iXab3r/insight-cli/blob/main/CONTRIBUTING.md) for development.
package/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: insight-cli
3
3
  description: Choose and prepare reverse-engineering capabilities from the insight-cli toolbox for binary, managed-code and runtime investigations. Use to discover the appropriate tool or its packaged skill before installing native runtimes.
4
4
  ---
5
5
 
6
- # insight-cli 0.4.0
6
+ # insight-cli 0.4.2
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,3 +1,4 @@
1
+ import { ownedDirectory } from './directory-identity.js';
1
2
  import { recordLifecycle } from './context-diagnostics.js';
2
3
  import { ghidraBudget } from './budgets.js';
3
4
  import { launchProcess, terminateProcess } from './tool-runtime/supervisor.js';
@@ -7,7 +8,7 @@ import { runtimeProcesses } from './runtime-manager.js';
7
8
  import { randomUUID, randomBytes } from 'node:crypto';
8
9
  import { mkdir, open, readFile, readdir, rename, link, realpath, copyFile, chmod, writeFile } from 'node:fs/promises';
9
10
  import { constants } from 'node:fs';
10
- import { join, delimiter, sep, resolve, dirname } from 'node:path';
11
+ import { join, delimiter, sep, resolve, dirname, basename } from 'node:path';
11
12
  import { createServer } from 'node:net';
12
13
  import { setTimeout as delay } from 'node:timers/promises';
13
14
  import { nativeHelpers, nativeInputs, nativeJvmDirectories, nativeExtensionArguments } from './native-inputs.js';
@@ -178,7 +179,7 @@ export class GhidraContexts {
178
179
  }
179
180
  async verified(binding, target, verifySource = true) {
180
181
  const root = await realpath(binding.root);
181
- if (!root.startsWith(resolve(this.directory()) + sep) || binding.target !== target.id || binding.runtimeFingerprint !== this.inputs.fingerprint)
182
+ if (!ownedDirectory(root, this.directory(), [binding.kind, binding.context ?? binding.target, basename(root)]) || binding.target !== target.id || binding.runtimeFingerprint !== this.inputs.fingerprint)
182
183
  fail('binding', 'Native context receipt does not match its profile, target or runtime.');
183
184
  if (stable(JSON.parse(await readFile(join(root, 'process.json'), 'utf8'))) !== stable(binding))
184
185
  fail('binding', 'Native context receipt changed.');
@@ -233,7 +234,7 @@ export class GhidraContexts {
233
234
  }
234
235
  async debuggerReleased(binding) {
235
236
  const root = await realpath(binding.root);
236
- if (!root.startsWith(resolve(this.directory()) + sep) ||
237
+ if (!ownedDirectory(root, this.directory(), [binding.kind, binding.context ?? binding.target, basename(root)]) ||
237
238
  stable(JSON.parse(await readFile(join(root, 'process.json'), 'utf8'))) !== stable(binding))
238
239
  fail('binding', 'Debugger lifetime binding moved outside its owned context.');
239
240
  const directory = join(root, 'debugger-supervisors'), deadline = Date.now() + 15000;
@@ -902,7 +903,7 @@ public class ${name} extends GhidraScript {
902
903
  async closed(scope) {
903
904
  const context = this.workspace.context(scope), path = join(this.directory(), 'context', context.id, 'current.json');
904
905
  const binding = JSON.parse(await readFile(path, 'utf8')), root = await realpath(binding.root);
905
- if (!root.startsWith(resolve(this.directory()) + sep) || binding.context !== context.id || binding.target !== scope.target ||
906
+ if (!ownedDirectory(root, this.directory(), [binding.kind, binding.context ?? binding.target, basename(root)]) || binding.context !== context.id || binding.target !== scope.target ||
906
907
  stable(JSON.parse(await readFile(join(root, 'process.json'), 'utf8'))) !== stable(binding))
907
908
  fail('binding', 'Closed context receipt changed.');
908
909
  try {
@@ -0,0 +1,4 @@
1
+ /** Windows packaged apps can expose one directory through distinct real paths. */
2
+ export declare function sameDirectory(left: string, right: string): boolean;
3
+ /** Resolve inner links before checking the owner: an inner escape is never an alias. */
4
+ export declare function ownedDirectory(path: string, owner: string, parts: string[]): boolean;
@@ -0,0 +1,18 @@
1
+ import { realpathSync, statSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ /** Windows packaged apps can expose one directory through distinct real paths. */
4
+ export function sameDirectory(left, right) {
5
+ const a = realpathSync.native(left), b = realpathSync.native(right);
6
+ if (a === b)
7
+ return true;
8
+ const x = statSync(a, { bigint: true }), y = statSync(b, { bigint: true });
9
+ return x.isDirectory() && y.isDirectory() && x.ino !== 0n && x.dev === y.dev && x.ino === y.ino;
10
+ }
11
+ /** Resolve inner links before checking the owner: an inner escape is never an alias. */
12
+ export function ownedDirectory(path, owner, parts) {
13
+ const physical = realpathSync.native(path);
14
+ let anchor = physical;
15
+ for (const _ of parts)
16
+ anchor = dirname(anchor);
17
+ return physical === join(anchor, ...parts) && sameDirectory(anchor, owner);
18
+ }
@@ -142,10 +142,13 @@ export class Research {
142
142
  let backend;
143
143
  try {
144
144
  backend = await this.backend();
145
- await this.sharedOrder(target, () => this.reconcile({ session: reserved.context.session, target }, backend));
145
+ await this.sharedOrder(target, () => this.reconcile({ session: reserved.context.session, target }, backend, true));
146
146
  }
147
147
  catch (error) {
148
- throw openingFailure(error, this.workspace.request(reserved.request.id).state);
148
+ const request = this.workspace.request(reserved.request.id);
149
+ if (request.state === 'accepted')
150
+ this.workspace.recordRequest(request.id, 'failed', retained('blocked'));
151
+ throw openingFailure(error, this.workspace.request(request.id).state);
149
152
  }
150
153
  const request = this.workspace.request(reserved.request.id);
151
154
  if (request.state === 'applied')
@@ -475,7 +478,7 @@ export class Research {
475
478
  async reconcileRequests(selected, backend) {
476
479
  return this.sharedOrder(selected.target, () => this.reconcile(selected, backend));
477
480
  }
478
- async reconcile(selected, backend) {
481
+ async reconcile(selected, backend, reportOpenFailure = false) {
479
482
  const active = this.workspace.activePublication(selected.target);
480
483
  if (active) {
481
484
  if (active.state === 'preparing')
@@ -518,7 +521,10 @@ export class Research {
518
521
  sharedRevision: revision(this.workspace.model(selected.target).sharedRevision), pendingChanges: count(context) };
519
522
  this.workspace.completeSavedRequest(selected, request.id, context.generation, {}, result);
520
523
  }
521
- catch { /* Saved/native evidence remains unresolved; no new intent is executed. */ }
524
+ catch (error) {
525
+ if (reportOpenFailure)
526
+ throw error; /* Status retains unresolved evidence without dispatching another intent. */
527
+ }
522
528
  continue;
523
529
  }
524
530
  const execution = request.execution === undefined ? undefined : object(request.execution);
@@ -1,3 +1,4 @@
1
+ import { sameDirectory, ownedDirectory } from './directory-identity.js';
1
2
  import { readFileSync, existsSync, realpathSync } from 'node:fs';
2
3
  import { join, isAbsolute, resolve } from 'node:path';
3
4
  import { fail, object, digest } from './model.js';
@@ -20,11 +21,11 @@ export function runtimeSelection(directory, analysis = directory) {
20
21
  profile = realpathSync.native(directory);
21
22
  recorded = realpathSync.native(recordedProfile);
22
23
  owned = realpathSync.native(analysis);
23
- if (recorded !== profile && recorded !== owned) {
24
+ if (!sameDirectory(recorded, profile) && !sameDirectory(recorded, owned)) {
24
25
  const marker = object(JSON.parse(readFileSync(join(recorded, '.insight-analysis.json'), 'utf8')));
25
26
  retained = marker.schema === 1 && marker.binding === digest(profile);
26
27
  }
27
- if (realpathSync.native(runtimeRoot(directory)) !== join(owned, 'runtime') || realpathSync.native(runtimeRoot(recordedProfile)) !== join(owned, 'runtime'))
28
+ if (!ownedDirectory(runtimeRoot(directory), owned, ['runtime']) || !ownedDirectory(runtimeRoot(recordedProfile), owned, ['runtime']))
28
29
  fail('binding', 'Managed runtime root differs from its configured analysis owner.');
29
30
  if (existsSync(value.ghidraHome))
30
31
  home = realpathSync.native(value.ghidraHome);
@@ -32,7 +33,7 @@ export function runtimeSelection(directory, analysis = directory) {
32
33
  catch {
33
34
  fail('binding', 'Managed runtime profile ownership could not be verified.');
34
35
  }
35
- if (recorded !== profile && recorded !== owned && !retained || home !== undefined && home !== join(runtimeRoot(owned), 'installations', id, 'ghidra'))
36
+ if (!sameDirectory(recorded, profile) && !sameDirectory(recorded, owned) && !retained || home !== undefined && !ownedDirectory(home, owned, ['runtime', 'installations', id, 'ghidra']))
36
37
  fail('binding', 'Managed runtime moved outside its owned installation.');
37
38
  }
38
39
  return value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eyeauras/insight-cli",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "description": "Agent-facing durable sessions and isolated Ghidra research contexts",
6
6
  "main": "./dist/src/index.js",
@@ -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.4.0
6
+ # Insight Artifacts 0.4.2
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.4.0
6
+ # Insight Binary 0.4.2
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.4.0
6
+ # Insight Capture 0.4.2
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-cli
3
3
  description: Choose and prepare reverse-engineering capabilities from the insight-cli toolbox for binary, managed-code and runtime investigations. Use to discover the appropriate tool or its packaged skill before installing native runtimes.
4
4
  ---
5
5
 
6
- # insight-cli 0.4.0
6
+ # insight-cli 0.4.2
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.4.0
6
+ # Insight Detect It Easy 0.4.2
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.4.0
6
+ # Insight dnSpyEx 0.4.2
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.4.0
6
+ # Insight .NET Dump 0.4.2
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.4.0
6
+ # Insight .NET Stack 0.4.2
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.4.0
6
+ # Insight .NET Trace 0.4.2
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.4.0
6
+ # Insight Frida 0.4.2
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.4.0
6
+ # Insight Ghidra 0.4.2
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-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.4.0
6
+ # Insight ILSpy 0.4.2
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.4.0
6
+ # Insight Interop 0.4.2
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.4.0
6
+ # Insight LLDB 0.4.2
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.4.0
6
+ # Insight LLVM 0.4.2
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.4.0
6
+ # Insight Managed Heap 0.4.2
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.4.0
6
+ # Insight Managed Metadata 0.4.2
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.4.0
6
+ # Insight mitmproxy 0.4.2
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.4.0
6
+ # Insight Overview 0.4.2
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.4.0
6
+ # Insight ProcMon 0.4.2
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.4.0
6
+ # Insight RE 0.4.2
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-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.4.0
6
+ # Insight 7-Zip 0.4.2
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.4.0
6
+ # Insight strace 0.4.2
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.4.0
6
+ # Insight TShark 0.4.2
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.4.0
6
+ # Insight WinDbg 0.4.2
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.4.0",
4
+ "version": "0.4.2",
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.4.0
6
+ # Insight Artifacts 0.4.2
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.4.0
6
+ # Insight Binary 0.4.2
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.4.0
6
+ # Insight Capture 0.4.2
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.4.0
6
+ # Insight Detect It Easy 0.4.2
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.4.0
6
+ # Insight dnSpyEx 0.4.2
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.4.0
6
+ # Insight .NET Dump 0.4.2
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.4.0
6
+ # Insight .NET Stack 0.4.2
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.4.0
6
+ # Insight .NET Trace 0.4.2
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.4.0
6
+ # Insight Frida 0.4.2
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.4.0
6
+ # Insight Ghidra 0.4.2
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-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.4.0
6
+ # Insight ILSpy 0.4.2
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.4.0
6
+ # Insight Interop 0.4.2
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.4.0
6
+ # Insight LLDB 0.4.2
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.4.0
6
+ # Insight LLVM 0.4.2
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.4.0
6
+ # Insight Managed Heap 0.4.2
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.4.0
6
+ # Insight Managed Metadata 0.4.2
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.4.0
6
+ # Insight mitmproxy 0.4.2
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.4.0
6
+ # Insight Overview 0.4.2
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.4.0
6
+ # Insight ProcMon 0.4.2
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.4.0
6
+ # Insight RE 0.4.2
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-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.4.0
6
+ # Insight 7-Zip 0.4.2
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.4.0
6
+ # Insight strace 0.4.2
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.4.0
6
+ # Insight TShark 0.4.2
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.4.0
6
+ # Insight WinDbg 0.4.2
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