Commit Graph

215 Commits

Author SHA1 Message Date
N0zoM1z0 c52a8223c6 fix(managed): emit valid x64 conformance PE 2026-07-17 20:06:07 +08:00
morluto d4be3e7f9a docs(cli): describe every command input 2026-07-17 02:50:31 +00:00
morluto 1581e40fce fix(mcp): clarify advertised schema fields 2026-07-17 02:23:22 +00:00
morluto 8cf0dd2bf6 refactor(skill): remove legacy skill compatibility 2026-07-17 01:28:42 +00:00
morluto 4c69e6120a fix(skill): disclose retired skill cleanup 2026-07-17 00:49:48 +00:00
morluto 2d22731ebb fix(ci): remove retired native rebuild steps 2026-07-17 00:45:33 +00:00
morluto 9356634ccb feat(skill): rename skill to reverse-engineer-anything 2026-07-17 00:35:19 +00:00
morluto 34252f55e9 fix(npm): use latest entry points without install scripts 2026-07-17 00:16:46 +00:00
morluto 98540c8a12 test(ci): guard Windows Ghidra workflow isolation 2026-07-16 23:23:40 +00:00
morluto 194349683a feat: add managed characterization and coverage closure 2026-07-16 22:53:50 +00:00
N0zoM1z0 00a3078148 fix(build): preserve native generated-file line endings
Treat CRLF and LF as equivalent when checking committed text artifacts so Windows package lifecycles do not report false drift.

When real generated content changes, retain the existing artifact's line-ending convention and cover both check and update behavior with a focused regression test.
2026-07-17 03:05:19 +09:00
N0zoM1z0 0ac418dd8b fix(ghidra): preserve Windows batch invocation semantics 2026-07-17 03:05:19 +09:00
N0zoM1z0 8b5ae417f3 docs(ghidra): define the experimental Windows P0 2026-07-17 03:05:19 +09:00
N0zoM1z0 32dda0c19e feat(doctor): admit the Windows x64 Ghidra boundary 2026-07-17 03:05:19 +09:00
N0zoM1z0 0b3551076d ci(ghidra): add Windows P0 acceptance and real-engine lanes
Add a hosted Windows x64 lane for named host capabilities, portable provider tests, and packed CLI/MCP verification. Add a default-branch-only repository-dispatch workflow for a controlled self-hosted Ghidra 12.1.2 runner, backed by a deterministic source-owned native PE fixture and a verifier that exercises all 18 admitted operations, target digest linkage, authenticated loopback transport, and complete runtime cleanup.
2026-07-17 03:05:19 +09:00
N0zoM1z0 bc0fb45f16 feat(ghidra): launch bounded Windows headless sessions
Invoke analyzeHeadless.bat through an absolute cmd.exe with fixed interpreter switches, quoted arguments, delayed expansion disabled, and fail-closed metacharacter and length checks. Isolate Windows home and temporary coordinates, hide provider windows, and terminate the P0 launcher tree through bounded taskkill cleanup. Advertise explicit limitations that this preview does not provide Job Object ownership, DACL enforcement, reparse-point authority, or hostile-target safety.
2026-07-17 03:05:19 +09:00
N0zoM1z0 629ffc3872 feat(ghidra): add authenticated Windows loopback transport
Keep private Unix sockets on supported POSIX hosts and add a Windows P0 transport that binds the Java bridge to IPv4 loopback on an ephemeral port. Publish only a strict, token-free endpoint record through an atomic rename, validate it before connecting, and retain the same authenticated request protocol, bounded queue, handshake, cancellation, and shutdown semantics across both transports.
2026-07-17 03:05:19 +09:00
N0zoM1z0 be19c3fd12 feat(ghidra): bind imports to admitted target bytes
Copy each selected target into the ephemeral Ghidra runtime and reject the snapshot unless its SHA-256 matches the provider-neutral target identity. Advance the Java bridge protocol to v4, require Ghidra's imported executable digest to match again, and include that digest in the authenticated session handshake and diagnostics. Preserve bounded streaming hashes and remove mismatched snapshots before launch.
2026-07-17 03:05:19 +09:00
N0zoM1z0 86e44bef08 feat(ghidra): inspect Windows headless installations
Recognize the official Windows analyzeHeadless.bat launcher and java.exe/javac.exe layout while retaining the exact Ghidra 12.1.2, JDK 21, x64 admission contract. Build paths and PATH delimiters from the inspected host platform so deterministic Linux tests can exercise Windows coordinates without weakening discovery checks.
2026-07-17 03:05:19 +09:00
N0zoM1z0 6b1fd166b0 feat(ghidra): define the Windows P0 admission boundary
Admit only native x86-64 PE applications when the Ghidra candidate runs on Windows while preserving the existing Linux format matrix. Add precise rejection codes for executable roles and managed targets, publish a machine-readable Windows capability report, and keep missing no-follow, ACL, Unix-socket, and PTY controls as independent observations rather than inferred support.
2026-07-17 03:05:19 +09:00
N0zoM1z0 24274fe6b6 feat(target): classify Windows PE admission metadata
Parse PE optional-header commitments before provider selection and expose provider-neutral executable role and managed-code observations. Hash targets through the same open file handle used for classification so later provider snapshots can reject path replacement by digest. Cover native applications, DLLs, managed images, malformed directory declarations, and delayed PE headers while preserving managed-provider behavior.
2026-07-17 03:05:19 +09:00
N0zoM1z0 735973b08b fix(dotnet): admit real CLI GUID and fat CIL bodies 2026-07-17 00:42:46 +09:00
N0zoM1z0 aa200ce8ca feat(dotnet): add BYO ILSpy oracle diagnostics 2026-07-16 23:56:40 +09:00
N0zoM1z0 fb6964a74e fix(electron): keep missing unpacked ASAR entries unavailable 2026-07-16 23:35:48 +09:00
N0zoM1z0 77178bba54 feat(managed): project static evidence into application graph 2026-07-16 21:36:13 +08:00
morluto 0aef572a26 chore: merge main and resolve MCP contract conflicts 2026-07-16 20:42:14 +08:00
morluto f728295bd0 fix(mcp): remove schema byte compaction 2026-07-16 20:30:33 +08:00
N0zoM1z0 8cbc125b93 feat(dotnet): verify managed native boundaries
Add the verify_managed_native_boundaries workflow for comparing authenticated inspect_managed_native_boundaries Evidence with supplied native export or function Evidence. The workflow verifies only P/Invoke declaration names against observed native symbols, keeps verified, inferred, contradicted, unresolved, and unsupported-native states explicit, and does not translate managed metadata tokens or RVAs into native addresses.

Expose schema-identical MCP and CLI surfaces, update managed workflow contracts, product catalog facts, TypeDoc output, README/localized docs, ADR status, package verification, and the REA analysis skill metadata for the 90-tool/50-command inventory.

Verification: npx vitest run tests/managedNativeVerification.test.ts --coverage=false; npm run typecheck; npm run docs:generate; npm run check (first run hit a load-sensitive sessionMcp timeout, isolated rerun passed); npx vitest run tests/sessionMcp.test.ts --coverage=false; npm run check; npm run knip; npm run jscpd; npm run scan:todos; npm run verify:managed; CXX=/usr/bin/g++-13 CC=/usr/bin/gcc-13 npm run verify:package.
2026-07-16 21:26:38 +09:00
morluto d36af5d0f7 feat(mcp)!: require Evidence for managed reconstruction 2026-07-16 20:15:24 +08:00
morluto fd08025dcd fix(mcp): remove arbitrary schema byte gate 2026-07-16 20:09:14 +08:00
morluto cab7c4a521 test(mcp): derive sessionless managed inventory 2026-07-16 19:53:08 +08:00
morluto 412bbaf05e fix(mcp): hide managed workflows without a session 2026-07-16 19:53:03 +08:00
morluto 9c4a93d9b1 fix(mcp): integrate managed contracts after rebase 2026-07-16 19:52:35 +08:00
morluto 6e6827cd76 test(hopper): avoid scheduler-sensitive exit timing 2026-07-16 19:51:25 +08:00
morluto 37c0f39954 fix(mcp): parse adapter inputs exactly once 2026-07-16 19:51:25 +08:00
morluto d1e72207f4 fix(mcp): align runtime unknown argument validation 2026-07-16 19:51:25 +08:00
morluto 8a1c128b67 fix(deps): run freshness check from escaped paths 2026-07-16 19:51:25 +08:00
morluto f23f52903c fix(test): make host fixtures portable 2026-07-16 19:51:25 +08:00
morluto b2d1f2affd feat(setup): verify installed skill catalog identity 2026-07-16 19:51:25 +08:00
morluto 8de25d0230 test(mcp): cover strict compact wire contracts 2026-07-16 19:50:16 +08:00
morluto ad398a17f5 chore(deps): detect stale direct dependency installs 2026-07-16 19:49:57 +08:00
N0zoM1z0 c506664744 feat(dotnet): import managed reconstructions 2026-07-16 20:37:42 +09:00
N0zoM1z0 5f66cfd57a feat(dotnet): add managed runtime correlation planning 2026-07-16 20:10:36 +09:00
N0zoM1z0 466b1bbebe feat(dotnet): add managed native boundary inspection 2026-07-16 18:57:56 +09:00
N0zoM1z0 55794d6083 feat(dotnet): add managed member comparison 2026-07-16 18:27:08 +09:00
N0zoM1z0 98cad3788d feat(dotnet): add managed member inspection 2026-07-16 17:44:36 +09:00
N0zoM1z0 c251c38aa2 feat(dotnet): add managed artifact triage 2026-07-16 17:05:03 +09:00
N0zoM1z0 3183f47c0f test(replay): use portable seam executables 2026-07-16 15:45:55 +09:00
N0zoM1z0 d86231ad33 feat(application): add isolated JavaScript replay
Expose one plan/execute replay contract through both CLI and MCP with exact source, input, runtime, sandbox, limit, and export commitments.

Run selected ESM and extracted CommonJS/Rspack factories in a disposable Linux x64 Bubblewrap namespace with a content-addressed Node ELF closure, architecture-checked seccomp, delegated systemd cgroup limits, bounded protocol capture, cancellation, and observable cleanup.

Preserve left and right observations as Evidence, derive differential comparisons without erasing unknowns, add optional separately authorized reproducers, and fail closed on stale plans or unavailable host boundaries.

Add source-owned parser, sanitizer, clipboard, denial, timeout, OOM, protocol-forgery, and cancellation coverage; a real Linux verifier and workflow; regenerated catalogs and TypeDoc; and updated the packaged REA analysis skill for the 83-tool inventory.
2026-07-16 15:45:55 +09:00
N0zoM1z0 778b995bbf feat(application): add cross-layer graph workflows 2026-07-16 11:29:54 +09:00