github morluto/rea rea-agents-6.5.0
rea-agents: v6.5.0

5 hours ago

6.5.0 (2026-10-13)

Provider prerequisites and recorded verification scope are listed in the testing guide.

Highlights

  • Analyze selected JavaScript files and recover cross-bundle relationships without expanding the selected source scope.
  • Read compact summaries and page retained Evidence across binary, managed, Android, Dart, WASM and network workflows.
  • Inspect SQLite snapshots, packet and signal recordings, WebAssembly, Rust dependency metadata and Electron fuses offline.
  • Keep completed Evidence and partial observations available when analysis or cleanup fails.

Changes

  • JavaScript source selection: analyze exact application paths without expanding imports into the selected scope. Unselected files retain identity and explicit unknown coverage; summary delivery remains separate from source selection. (#1944, issue morluto/rea#1848). Thanks @kaoru0822-kitauji, @N0zoM1z0.

  • Code-split recovery: recover related bundles from multiple selected inputs, retaining per-file provenance and downstream cross-chunk imports. Recorded CLI/MCP coverage is Linux x64 with Wakaru 1.14.0 and source-owned esbuild/webpack fixtures; other hosts, releases and arbitrary application equivalence remain unverified. (#1686, issue morluto/rea#1605). Thanks @JingHao-Leon, @pionxzh.

  • Package imports: resolve exact package import aliases using the selected loader and package ancestry, rather than guessing sibling files. (#1862, issue morluto/rea#1838). Thanks @AWUQAQ, @mvanhorn.

  • Retained analysis views: opt into compact inventory/WASM, managed metadata, Android manifest, Dart AOT, Mach-O and EVM summaries, then page retained Evidence without rerunning analysis. Summary delivery preserves the complete recorded result and its original coverage. (#2122, #2193, #2413, #2438, #2455, #2634, #2308, 9a18251). Thanks @kaoru0822-kitauji, @N0zoM1z0.

  • Managed assemblies: Select declaring types when inspecting members, decode inspected ldstr literals with independent coverage, and page retained member summaries. Call and field targets expose target_declaring_type and field_declaring_type, including supported generic method targets; unresolved metadata remains unknown. (#1706, #2125, issue morluto/rea#2121, #2162, issue morluto/rea#2158, #3061, issue morluto/rea#3010, #2163, issue morluto/rea#2160). Thanks @kaoru0822-kitauji, @N0zoM1z0, @Nelglor, @skoodster.

  • Packet captures: inspect saved packets with bounded TShark output, compact capture summaries and retained pages; discover installed protocol/field definitions. Recorded real-engine coverage uses Linux and Wireshark 4.6.6; native Windows/macOS and Bun behavior remain unverified. (#2318, #2340, #2496). Thanks @3QL, @N0zoM1z0, @Olorinm.

  • Recorded signals: decode existing recordings and discover installed decoders/options through caller-supplied sigrok-cli 0.7.2. This is Linux-only and requires util-linux prlimit; it acquires no hardware samples. (#2339, #2487). Thanks @N0zoM1z0, @Olorinm.

  • Web captures: derive an inferred method/origin/path-template API surface from retained HAR data including observed query-parameter names while retaining unknowns; query values, headers and bodies remain excluded. (#1891, #2982, issue morluto/rea#2913). Thanks @mvanhorn, @wunianze666-netizen, @zhangguiping-xydt.

  • QUIC captures: inspect retained aioquic 1.5.0 JSON qlog 0.3 objects and page traces/streams/observations. Other qlog layouts remain unsupported; overlap and loss declarations do not prove retransmission or network loss. (#2277). Thanks @LuisTaffelli, @N0zoM1z0.

  • Fiddler captures: inspect native SAZ archives with retained HTTP provenance and bounded decoding. Recorded producer coverage is the pinned public encoding corpus; current Fiddler Everywhere variants and Bun-native execution remain unverified. (#2409). Thanks @N0zoM1z0, @zahhak.

  • SQLite snapshots: inspect an explicitly selected offline database with table/column selection and bounded Evidence. This operation requires Node 24.x >=24.15 or 26+ with DatabaseSync.limits; supported Node 22 and earlier 24 runtimes cannot use it. A live database/WAL copy does not establish an atomic snapshot. (#2271). Thanks @N0zoM1z0, @Y0UW1SH.

  • WASM artifacts: Inspect local modules with bring-your-own WABT 1.0.42 without executing them. Compare imports/exports from two complete core-module inspection Evidence records without requiring an active WABT installation; unsupported signatures and duplicate identities remain unknown, and comparisons do not establish runtime compatibility. Recorded real-tool inspection coverage is macOS arm64. (#1533, issue morluto/rea#884, #2464, issue morluto/rea#2356). Thanks @matbrgz, @N0zoM1z0, @thangldw.

  • Go binaries: inspect embedded build metadata, including file-backed unmapped Mach-O debug segments. (#1363, 7fb097d). Thanks @Y0UW1SH.

  • Flutter APKs: identify snapshot/engine builds and inspect AOT structure without an external engine. Recorded real APK coverage uses the documented Flutter Gallery fixture; macOS/Windows and complete pool semantics remain unverified, and pool coverage stays partial. (#1582). Thanks @3QL.

  • HarmonyOS packages: inventory HAP/HSP/App Pack structures without executing code. The recorded real workflow covers one pinned HAP through repository-built CLI/MCP; installed-package and real HSP/App Pack coverage remain unverified. (#1447). Thanks @BaaRai.

  • Ghidra raw inputs and references: compatible Linux/macOS Ghidra profiles accept caller-selected raw architecture/entry information and expose typed incoming references at exact addresses. Windows Ghidra P0 admits the raw NMOS 6502 profile described below; other raw targets and the incoming-reference facet remain outside Windows P0. (#1868, issue morluto/rea#1836, #1715, issue morluto/rea#1245). Thanks @bugstan, @casesolved-co-uk, @mvanhorn, @N0zoM1z0.

  • Ghidra MIPS: Add bounded MIPS32r2/o32 relocatable objects, soft-float integer-register storage, admitted MIPS16 shared ELF, and a narrowly admitted recordless legacy MIPS32 executable profile. The latter pins an endian-matched 32-bit language and records inferred o32 as an analysis assumption. Admission follows each documented ABI/flag/relocation boundary. (#1949, issue morluto/rea#1937, #1950, issue morluto/rea#1938, #1991, issue morluto/rea#1851, #1898, issue morluto/rea#1620). Thanks @AurelioB, @BaaRai, @bqw371, @kaoru0822-kitauji, @N0zoM1z0.

  • Ghidra RISC-V: admit little-endian RV32/RV64 ET_EXEC ELF declaring the supported double-float ABI. Relocatable/shared, big-endian and other ABI profiles remain refused; see the profile and recorded lane. (#2151). Thanks @NIU-123370.

  • PSP static ELF profile: the Ghidra profile is Linux x64, bounded little-endian ELF32 ET_EXEC with the documented PSP/ABI declarations and a compatible caller-installed Allegrex extension. PRX, shared/relocatable images, PBP/ISO/CSO and runtime emulation are outside scope. Historical extension experiments are separate from public-provider verification; real public Ghidra PSP coverage remains unverified. (#1599). Thanks @jaelliot.

  • Ghidra analysis settings: apply validated analyzer overrides before analysis while retaining the selected analysis profile. (#1913). Thanks @akushonkamen, @kaoru0822-kitauji, @N0zoM1z0.

  • Attached native IDA MCP: add an optional native bridge alongside existing legacy/headless profiles. Recorded native runs use Linux IDA Free 9.4 with a navigation correction and Windows IDA Pro 9.3 with a loopback-listener change; stock native switching, native macOS and Windows IDA Free remain unverified. Attached databases remain read-only and are never saved or closed. (#1544). Thanks @imissapixel, @N0zoM1z0.

  • Frida instrumentation: add explicit local/remote target selection, caller-supplied scripts and retained messages, with script-read/input diagnostics and bounded message eviction. Recorded real coverage is the Linux local Node marker workflow; macOS, Windows and remote devices/servers remain unverified. Instrumentation executes foreign code and is destructive, not read-only. (#1359, #2211, issue morluto/rea#2209, #2217, issue morluto/rea#2213, #2628). Thanks @dandgabr, @kaoru0822-kitauji, @N0zoM1z0.

  • Client setup: register Qoder, Trae, ZCode, DeepSeek Harness, Kimi Code, Factory Droid and WorkBuddy through the existing scoped setup flow. DeepSeek is included from 6.5.0; the historical npm 6.4 check did not cover it. Live Trae and DeepSeek API integration remain unverified. (#1564, #1572, #1573, #1929, issue morluto/rea#1839, #2744, #2309, #3041, issue morluto/rea#3040). Thanks @0xRafie, @BaaRai, @cainiao1992, @IvenKooLab, @whoishaha, @ysntony.

  • Website: Add maintained language editions, persistent/system-aware themes, keyboard styling and nested Evidence indentation, plus the reverse-engineering models essay. A simpler home page and beginner journey connect platform prerequisites, client/provider setup and a supplied first investigation. (#1779, issue morluto/rea#1022, #1699, #1714, #1894, #2250, #2432, #2732, #3274). Thanks @CassieFox23, @kaoru0822-kitauji, @N0zoM1z0.

  • Rust dependency metadata: Inspect embedded cargo-auditable package/dependency records in ELF, PE and thin Mach-O without executing the file. Missing metadata and inferred compiler hashes retain explicit limitations; universal Mach-O requires a selected thin slice. (#2456). Thanks @mvanhorn.

  • Electron fuses: Read packaged fuse bytes and per-slice runtime implications without launching or modifying the app. Missing, truncated and unknown wires remain explicit; fuse observations do not prove other Inspector-enablement paths. (#2399). Thanks @kaoru0822-kitauji, @mvanhorn, @N0zoM1z0.

  • Ghidra PowerPC: Admit bounded ELF32 big-endian ET_EXEC PowerPC with an explicit language profile on supported Linux/macOS hosts. PPC64, DOL and other variants remain outside this lane; see the profile and verification prerequisites. (#1747). Thanks @arielfikru.

  • Reference-source summaries: Use CLI import-reference-source --detail summary for compact manifest, count, state and path-outline output. The complete graph remains available and is still the default; hidden outline entries retain separate coverage counts. (#2768, issue morluto/rea#2442). Thanks @matbrgz, @To3akaRin.

  • Recorded AArch64 crashes: Decode 34 ABI register values per thread from supported Linux ELF64 little-endian core notes using the documented caller-provided Python dependencies. These are recorded facts, not proof of current process or library identity. (#2505, issue morluto/rea#2353). Thanks @matbrgz, @NIU-123370.

  • Ghidra byte search: Search initialized analyzed memory using wildcards, bit masks, address bounds and paged results. Unloaded, overlay and uninitialized blocks retain skipped coverage; this is not a raw-file search. (#2341). Thanks @mvanhorn.

  • Raw NMOS 6502 images: Analyze explicitly selected headerless images with Ghidra, including Windows P0, using a caller-selected entry and source mapping within the 16-bit address space. Cartridge parsing, reset-vector inference and 65C02/65816 are outside this profile. (#2079). Thanks @Zhong-fan.

  • Swift String observations: Ghidra function dossiers derive supported AArch64 Swift String literals from constant-register pairs at recognized use sites, retaining instruction/register provenance and explicit omissions. This is a bounded derivation, not a complete string inventory. (#2049, issue morluto/rea#2030). Thanks @thefolahan.

  • Headless IDA procedure lookup: Resolve addresses to canonical containing-procedure entries and identify the session’s admitted program document in the modern headless profile. Incomplete surveys remain errors; attached profiles do not advertise this containment capability. (#2374, issue morluto/rea#2335). Thanks @nikolay-dementiev.

  • Passive browser attachment: Six existing passive browser tools accept an explicit-port loopback browser WebSocket endpoint when HTTP target discovery is unavailable. Existing consent and target/origin checks remain required; this does not launch a browser or enable runtime instrumentation. (#2346). Thanks @all-black-493.

  • Android DEX references: Retain exact method descriptors and individual direct-invoke observations with source method, DEX entry, opcode and code-unit offset. These are static references; unavailable instruction facts remain separate from method-level usage totals. (#2439). Thanks @LcokHcak.

  • Offline EVM metadata: Retain bounded, lossless facts from plausible terminal Solidity CBOR root-map candidates. Candidates do not prove Solidity origin or source/compiler identity, and linked metadata is not fetched. (#2790). Thanks @matbrgz.

Fixes

⚠ BREAKING CHANGES

  • Runtime attachment state: attached may be null in JavaScript, browser and Electron discovery/inspection results. Treat null as unknown; do not coerce it to false. (e55ef72).

  • Source maps: original-source and mapping rows preserve a null source name when unavailable. Handle null explicitly instead of expecting an invented unknown-source string; new index fields remain optional when reading older Evidence. (ee50ed1).

  • Streamed filtered JSON: --filter-output now emits JSON null instead of {} when the selected value is null; consumers must distinguish a present null from a missing selection. Use --full-output when an object envelope is required. (#2333). Thanks @Jackmeson1.

  • Call graphs: get_call_graph.normalized_result is now { graph, limitations }; read traversal-depth groups under graph and retain relationship-specific caveats. Contract/fixture validation does not establish new Ghidra or IDA engine coverage. (5dfb9d0).

  • MCP discovery: binary_session no longer repeats server_identity.catalog.tools. Use the connected server tool list, grouped tool_availability and provider capabilities; see MCP contracts. Origin: 6395e8d. (#1988). Thanks @kaoru0822-kitauji, @N0zoM1z0.

  • Provider admission: MIPS targets with unresolved GNU ABI attributes are refused. Supply supported ABI declarations. Saved Hopper databases on macOS are unavailable because the launcher cannot run the analysis bridge when opening a database; select an executable target instead. Database support requires a script-capable database launch route. (d4bd65c).

  • Segment extents: binary_overview segment length may be null when Hopper coordinates cannot establish a finite extent in one address space. Preserve unknown rather than converting it to zero or a saturated value. (36db19c).

  • Invocation identity: server.command_path may be null, and registration/setup statuses or doctor classifications may be unknown. Preserve these states and establish the actual invocation before treating a registration as aligned. (187f113). Thanks @hemv-857, @qorvr.

  • ADB installation: the optional replace input is unchanged. Results now require replace_requested to record the requested adb install -r mode; replaced is nullable because prior device package state was not observed. Update result readers to accept null instead of treating reinstall intent as proof of replacement. (864314a).

  • Managed/native verification: unresolved P/Invoke results may retain matched_native and candidate facts when module identity is unknown. Interpret status, basis and limitations; module-identity-unknown does not verify correspondence, and unresolved no longer implies empty observations. (3f6b575).

Full contribution record: 893 commits and 529 merged PRs.

Don't miss a new rea release

NewReleases is sending notifications on new releases.