rea/src
Mykola Dementiev 5f8af4ee5f
feat(ida): resolve containing procedures and report the admitted program as the document (#2374)
* test(mcp): expect trace_feature to report references the provider truncated

A provider that reports a capped xrefs read makes the trace truncated with a residual unknown for that target. An explicit complete report and a provider that reports nothing leave the trace as before.

* fix(mcp): report references a provider truncated in trace_feature

Executions gain an optional flag for a capped xrefs read, set by the IDA adapter from the upstream cap. trace_feature marks the trace truncated with a residual unknown for that target only when the provider reports a truncation; a provider that reports nothing keeps its previous result. The trace_feature workflow profile is revised so earlier results are not replayed.

* refactor(ida): report reference truncation whenever the runner observed an xrefs cap

* test(mcp): cover session forwarding, per-target state, native reports and failures of the trace coverage

* test(mcp): format the session forwarding test

* test(ida): expect headless IDA to resolve containing procedures from lookups and segment facts

Cover positive and negative containment, segment boundaries including addresses above 2^53, failures of the lookup and of the segment survey, cancellation, input validation and the admitted program as the only document.

* test(ida): expect feature tracing and address context to work on headless IDA

Run trace_feature, including a capped reference read, and inspect_address_context with and without an explicit document through the IDA session client.

* test(mcp): expect trace_feature availability to follow the search operations it calls

* fix(mcp): derive trace_feature availability from the search operations it calls

* feat(ida): resolve containing procedures and report the admitted program as the document

The modern headless profile resolves an address through the function lookup and, when no function contains it, tells a mapped address from an unmapped one using the database-scoped minimal survey. A survey that is missing, truncated or inconsistent fails the read. list_documents reports the single admitted program. The attached profiles do not declare either operation.

* docs(ida): describe containing procedures, the admitted document and truncated feature traces

* test(ida): verify containing procedures, the admitted document and feature tracing on real IDA

* docs(testing): list the headless IDA workflows the real lane verifies

* test(ida): make each survey failure case isolate a single defect

* test(ida): pin large addresses, segment order, document identity, attached refusals and each trace_feature prerequisite

* test(mcp): expect a repeated reference source to be resolved once in trace_feature

* fix(mcp): resolve the containing procedure of a repeated reference source once

* test(ida): trace the fixture procedure and derive probe addresses from its facts in the real lane

* test(process): format processCaptureLifecycle.test.ts after the merge

* test(ida): declare the alignment each synthetic universal slice offset satisfies

* refactor(ida): move the real lane's feature trace assertions into a helper

* test(ida): expect the real lane's feature trace check to accept references to every matched address

* fix(ida): check each trace reference against its own matched address in the real lane

* test(ida): pin that the new operations reject a document other than the admitted program

* refactor(ida): move the real lane's mapped non-function probe into a helper

* test(ida): expect the real lane's mapped data probe to skip strings inside functions

* fix(ida): try the target's strings in order for the mapped non-function probe

* test(ida): declare the real lane helper types for the verifier tests

* test(ida): expect the real lane to reject a listed string that resolves as unmapped

* fix(ida): fail the real lane when a listed string resolves as unmapped
2026-10-13 20:56:20 +08:00
..
adb fix(adb): count requested permissions that the device marks restricted (#2359) 2026-10-13 14:52:48 +08:00
android fix(android): reject malformed UTF-8 at the JADX protocol boundary 2026-10-13 14:56:04 +08:00
apktool fix(filesystem): enforce symlink and decoded-text admission 2026-10-13 13:39:57 +08:00
application feat(ida): resolve containing procedures and report the admitted program as the document (#2374) 2026-10-13 20:56:20 +08:00
artifacts fix(artifacts): distinguish JVM classes from universal Mach-O files (#2327) 2026-10-13 20:27:38 +08:00
browser fix(captures): name the violated HAR schema constraint (#2708) 2026-10-13 16:22:24 +08:00
captures feat(captures): discover installed protocol and field definitions (#2496) 2026-10-13 15:55:25 +09:00
cli fix(cli)!: keep a selected JSON null in --filter-output output (#2333) 2026-10-13 20:43:20 +08:00
composition fix(javascript): retain compiler-dependent module resolution facts 2026-10-13 15:58:25 +08:00
config fix(config): reject NUL bytes in Hopper loader arguments (#2474) 2026-10-13 14:51:29 +08:00
contracts fix(ghidra): resolve file offsets in decompile (#2101) 2026-10-13 18:23:17 +08:00
domain fix(formats): preserve high bits in remaining magic-byte checks (#2384) 2026-10-13 20:54:37 +08:00
dotnet fix(managed): classify 32-bit-preferred assemblies as platform neutral (#2342) 2026-10-13 20:43:39 +08:00
evaluation fix(evaluation): share completed transcript facts across graders 2026-10-13 13:12:12 +08:00
evm fix(artifacts): retain read cleanup ownership through CLI and MCP shutdown 2026-10-13 16:08:41 +08:00
filesystem fix(filesystem): enforce symlink and decoded-text admission 2026-10-13 13:39:57 +08:00
firmware fix(artifacts): honor cancellation at the output publication boundary 2026-10-13 15:12:17 +08:00
flutter fix(pcap): order evidence ties by code point instead of host locale (#2509) 2026-10-13 14:44:09 +08:00
frida perf(frida): evict captured messages without copying the whole queue (#2628) 2026-10-13 00:11:38 -07:00
ghidra fix(ghidra): bound the Java version probe output (#2361) 2026-10-13 20:55:40 +08:00
go fix(artifacts): retain read cleanup ownership through CLI and MCP shutdown 2026-10-13 16:08:41 +08:00
hopper fix(hopper): stop Linux demo children when the REA owner exits (#2499) 2026-10-13 12:59:22 +08:00
ida feat(ida): resolve containing procedures and report the admitted program as the document (#2374) 2026-10-13 20:56:20 +08:00
inspector fix: honor empty URL query and fragment markers (#2091) 2026-10-13 06:05:29 +09:00
javascript fix(javascript): retain compiler-dependent module resolution facts 2026-10-13 15:58:25 +08:00
jeb fix: honor empty URL query and fragment markers (#2091) 2026-10-13 06:05:29 +09:00
main feat(sqlite): inspect offline snapshots with selective evidence (#2271) 2026-10-12 18:33:23 +00:00
native fix: preserve process identities in pwntools cleanup errors (#2284) 2026-10-13 20:28:31 +08:00
pcap fix(pcap): order evidence ties by code point instead of host locale (#2509) 2026-10-13 14:44:09 +08:00
process fix(process): resolve POSIX backslash basenames through PATH (#2471) 2026-10-13 20:51:44 +08:00
reference fix(reference): verify symlink identity around target reads 2026-10-12 04:33:47 +08:00
server fix(artifacts): retain read cleanup ownership through CLI and MCP shutdown 2026-10-13 16:08:41 +08:00
signals feat(signals): discover installed decoders and option help (#2487) 2026-10-13 15:58:19 +09:00
sqlite feat(sqlite): inspect offline snapshots with selective evidence (#2271) 2026-10-12 18:33:23 +00:00
wasm fix(artifacts): retain read cleanup ownership through CLI and MCP shutdown 2026-10-13 16:08:41 +08:00
windows fix(formats): preserve high bits in remaining magic-byte checks (#2384) 2026-10-13 20:54:37 +08:00
catalogIdentity.ts feat(server): frame analysis-target content as untrusted data (#1908) 2026-10-13 06:06:02 +09:00
cli.ts feat(pcap): add bounded capture summaries through CLI and MCP 2026-10-13 04:53:03 +00:00
cliBrowserContext.ts fix(mcp): isolate optional observation adapter failures (#838) 2026-10-07 11:45:17 +08:00
cliBrowserScenarioCommands.ts fix(cli): await browser scenario cleanup on interrupts 2026-10-11 17:33:57 +08:00
cliCommandNames.ts feat(signals): discover installed decoders and option help (#2487) 2026-10-13 15:58:19 +09:00
cliEvidenceCommands.ts perf(mcp): keep Playwright and type-only imports off MCP startup (#1691) 2026-10-10 21:04:05 -07:00
cliHostInputs.test.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
cliJavaScriptRuntimeCommands.ts fix(cli): retain browser and Inspector input correction details (#2230) 2026-10-13 02:29:07 +08:00
cliJsonInput.ts fix(filesystem): bound and verify admitted file and JSON reads 2026-10-11 00:28:24 +08:00
cliJsonPaths.test.ts fix(cli): preserve blank JSON paths for input validation (#1068) 2026-10-08 20:57:54 +08:00
cliLogging.test.ts feat(update): update Bun global installations (#1735) 2026-10-11 17:56:05 +08:00
cliLogging.ts fix(cli): preserve failure semantics across full-output formats 2026-10-13 03:33:27 +08:00
cliObservationOptions.ts fix(javascript): trace wrapped Electron IPC paths in large bundles (#1874) 2026-10-12 09:28:59 +08:00
cliOutput.ts fix(cli): reject unterminated output filter slices (#2315) 2026-10-13 20:04:33 +08:00
config.test.ts fix(config): reject NUL bytes in Hopper loader arguments (#2474) 2026-10-13 14:51:29 +08:00
doctorRuntime.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
generatedPackageMetadata.ts feat(fiddler): inspect native SAZ captures 2026-10-13 02:51:14 +00:00
homeDirectory.test.ts fix(setup): ignore empty home directory selections 2026-10-13 04:11:55 +08:00
identity.ts feat: streamline agent integration and MCP routing 2026-07-20 17:11:06 +08:00
logger.ts fix(cli): report an invalid REA_LOG_LEVEL as configuration (#2140) 2026-10-12 06:07:37 -07:00
main.ts fix(mcp): keep shared optional providers open across discarded probes (#2205) 2026-10-12 06:56:45 -07:00
mcpDoctor.ts fix(mcp): join owned doctor shutdown without signaling saved PIDs 2026-10-13 15:12:08 +08:00
mcpStartupPolicy.ts perf(mcp): reduce cold-start work 2026-07-26 15:02:58 +00:00
serverIdentity.ts refactor: return complete analysis results inline 2026-09-29 08:07:24 +08:00
setupEnvironment.test.ts fix(setup): register a stable launcher when run through bunx (#1731) 2026-10-11 19:17:15 +08:00