Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
f183381
feat(audit): report what a shipped app exposes to static analysis
mvanhorn Nov 1, 2026
d224dfc
fix(audit): keep incomplete coverage unknown across text, fuses, Go f…
mvanhorn Nov 1, 2026
ffc2f23
fix(audit): match package members by source spelling and close remain…
mvanhorn Nov 1, 2026
5cbed6a
fix(release-exposure): bind package members by ordinal and follow nam…
mvanhorn Nov 1, 2026
67c49e9
fix(release-exposure): match data: source map scheme case-insensitively
mvanhorn Nov 1, 2026
3002348
fix(release-exposure): normalize declared map targets and count unrea…
mvanhorn Nov 1, 2026
f553459
fix(release-exposure): recover indexed leaves after any map format fa…
mvanhorn Nov 1, 2026
a8eefe0
fix(release-exposure): count an unexpanded nested package as a readab…
mvanhorn Nov 1, 2026
1222222
fix(release-exposure): bound the indexed leaf fallback by decoder limits
mvanhorn Nov 1, 2026
169c978
fix(release-exposure): collect UNC roots from Go flag paths
mvanhorn Nov 1, 2026
127be46
fix(release-exposure): keep Electron undecided without positive proof
mvanhorn Nov 1, 2026
81fc997
fix(release-exposure): decode wide text members before scanning
mvanhorn Nov 1, 2026
630352b
fix(release-exposure): follow file: URL source map declarations
mvanhorn Nov 1, 2026
957f25d
fix(release-exposure): match backslash-relative Go flag paths
mvanhorn Nov 1, 2026
ec3d2ed
fix(release-exposure): keep fuses unknown on incomplete inventory
mvanhorn Nov 1, 2026
cc96be1
fix(release-exposure): decode binary plists before scanning
mvanhorn Nov 1, 2026
f31c8c5
fix(release-exposure): keep UTF-8 members that hold a NUL
mvanhorn Nov 1, 2026
12d864b
fix(audit): scan every string a binary plist stores
mvanhorn Nov 2, 2026
9e06282
fix(audit): keep packaged native images from ruling out Electron
mvanhorn Nov 2, 2026
45c45c4
fix(audit): keep readable plist text when one object is unreadable
mvanhorn Nov 2, 2026
19b3380
fix(audit): read escaped inline maps and extensionless SEA entries
mvanhorn Nov 2, 2026
49c9e15
fix(audit): check plist text against the budget before decoding it
mvanhorn Nov 2, 2026
bd7e340
fix(audit): count a packaged PE with an unread header as a native image
mvanhorn Nov 2, 2026
2a6415c
fix(audit): keep cleanup-incomplete errors from composed readers
mvanhorn Nov 2, 2026
0981738
fix(audit): keep safe fuses unknown past a packaged native image
mvanhorn Nov 2, 2026
cfd9681
fix(audit): settle fuses only on an identified host, and read Bun and…
mvanhorn Nov 2, 2026
2e9eacb
fix(audit): charge map reads to the count before opening the member
mvanhorn Nov 2, 2026
6f0b971
fix(audit): examine scripts HTML loads whatever they are called
mvanhorn Nov 2, 2026
a250696
fix(audit): charge sibling map reads to the map count
mvanhorn Nov 2, 2026
a765050
fix(audit): report cleanup failures raised by member reads
mvanhorn Nov 2, 2026
c4552f1
fix(audit): charge unsuccessful text reads to the byte allowance
mvanhorn Nov 2, 2026
2cec513
fix(audit): bound the paths kept for HTML script targets
mvanhorn Nov 2, 2026
a7c705b
fix(audit): keep examining a page loaded as a script as HTML
mvanhorn Nov 2, 2026
bdbb070
fix(audit): detect credential markers that end in a hyphen
mvanhorn Nov 2, 2026
8616353
fix(audit): confirm FAT identity for probed package members
mvanhorn Nov 2, 2026
82d2ee4
fix(audit): admit binary plists in package member probes
mvanhorn Nov 2, 2026
2adc01b
fix(audit): locate Go findings only in images that retain build paths
mvanhorn Nov 2, 2026
23fff0a
fix(audit): keep completed findings when member cleanup fails
mvanhorn Nov 2, 2026
c50d0ed
fix(audit): keep coverage unknown for nested ASARs in package hosts
mvanhorn Nov 2, 2026
236f2fb
fix(audit): let native format facts outrank member names
mvanhorn Nov 2, 2026
ab06b3e
fix(audit): report relative paths given to compiler path flags
mvanhorn Nov 2, 2026
8f019c7
Merge remote-tracking branch 'upstream/main' into fix/release-exposur…
mvanhorn Nov 2, 2026
f9eb5e0
test(javascript): expect retained text on SVG inline scripts
mvanhorn Nov 2, 2026
fa91268
fix(audit): keep an unresolved Electron host's fuses unknown
mvanhorn Nov 2, 2026
52c801e
fix(audit): bound the paths kept for local source map targets
mvanhorn Nov 2, 2026
5229e5a
fix(audit): borrow the audit's scope admission for inventory
mvanhorn Nov 2, 2026
5b93dab
fix(audit): run the exposure verifier's commands under supervision
mvanhorn Nov 2, 2026
e136911
fix(audit): read relative -L paths and split flag arguments
mvanhorn Nov 2, 2026
da25b3a
fix(audit): keep embedded leaves beside schema-invalid map fields
mvanhorn Nov 2, 2026
9b34735
fix(audit): keep packaged executables' own packages unknown
mvanhorn Nov 2, 2026
d2aa0e0
fix(audit): read an app's sampled images for fuses
mvanhorn Nov 2, 2026
a7f3b6a
fix(audit): read a Node shebang as script identity
mvanhorn Nov 2, 2026
39e2794
fix(audit): keep linker strings out of Go build paths
mvanhorn Nov 2, 2026
3d0283d
fix(audit): keep a failed probe directory removal owned
mvanhorn Nov 2, 2026
a1919fe
fix(audit): keep a declared .map from reading as a linker map
mvanhorn Nov 2, 2026
ffbba64
test(audit): rethrow typed errors from release exposure checks
mvanhorn Nov 2, 2026
f9240a6
fix(audit): match companions by member identity, not spelling
mvanhorn Nov 2, 2026
1ccbbf2
fix(audit): retract only guessed linker maps on a declaration
mvanhorn Nov 2, 2026
5673500
fix(audit): record an unfollowed map link as skipped
mvanhorn Nov 2, 2026
130a58c
fix(audit): read relative paths in Go compiler and assembler flags
mvanhorn Nov 2, 2026
c5198d0
docs(audit): state the packaged image read allowance
mvanhorn Nov 2, 2026
1753985
docs(audit): say how go.build_paths treats rooted -X values
mvanhorn Nov 2, 2026
c0be177
fix(audit): keep a declared sibling map out of the linker guess
mvanhorn Nov 2, 2026
a37b652
fix(audit): keep undecodable Go and Rust metadata unknown
mvanhorn Nov 2, 2026
b9d8206
fix(audit): keep coverage unknown for a PE header past the probe
mvanhorn Nov 2, 2026
569589a
fix(audit): read the scripts of a standalone SVG
mvanhorn Nov 2, 2026
5d45f63
fix(audit): keep every possible host when no name picks one out
mvanhorn Nov 2, 2026
95e9531
fix(audit): read a text-named native member by its bytes
mvanhorn Nov 2, 2026
9fdb191
fix(audit): let a map or script read identify a native member
mvanhorn Nov 2, 2026
68fe358
fix(audit): name a symlinked sibling debug companion
mvanhorn Nov 3, 2026
1354f58
fix(audit): keep map coverage unknown for a linked script
mvanhorn Nov 3, 2026
03bfcf7
fix(audit): keep a declared JavaScript map beside a selected file unk…
mvanhorn Nov 3, 2026
93beb67
fix(audit): read paths a C compiler forwards to the linker
mvanhorn Nov 3, 2026
5dfcb41
fix(audit): read forwarded linker options by their linker meaning
mvanhorn Nov 3, 2026
4c3d64f
fix(audit): split Go flags as Go does and read external linker flags
mvanhorn Nov 3, 2026
5d8627c
fix(audit): keep a named script beside a selected HTML file unknown
mvanhorn Nov 3, 2026
e1710a0
fix(audit): read a retained -pgo setting as one profile path
mvanhorn Nov 3, 2026
e10f393
fix(audit): read -extldflags paths as the external linker splits them
mvanhorn Nov 3, 2026
ae05674
fix(audit): read the Go linker's other path options
mvanhorn Nov 3, 2026
728be11
fix(audit): keep a quoted Go argument whole
mvanhorn Nov 3, 2026
1d4853f
fix(audit): keep coverage unknown for an unread packaged image
mvanhorn Nov 3, 2026
87af4ef
fix(audit): read rooted Go tool path arguments whole
mvanhorn Nov 3, 2026
3af7940
fix(audit): count an unread packaged member once
mvanhorn Nov 3, 2026
da5ecd8
fix(audit): keep trimpath rewrites and directory fields apart from se…
mvanhorn Nov 3, 2026
02cd0e9
fix(audit): keep a .map unsettled once a declaration was discarded
mvanhorn Nov 3, 2026
412f22e
fix(audit): skip env option arguments when reading a Node shebang
mvanhorn Nov 3, 2026
0cb0d43
fix(audit): keep companion coverage unresolved for a generic .map link
mvanhorn Nov 3, 2026
65292aa
fix(audit): count a dropped linker-map guess as a skipped companion
mvanhorn Nov 3, 2026
c389586
fix(audit): read env settings after -- in a Node shebang
mvanhorn Nov 3, 2026
279254b
fix(audit): route a selected native image named .map by its format
mvanhorn Nov 3, 2026
a44e0e1
fix(audit): read forwarded -rpath and -rpath-link as linker paths
mvanhorn Nov 3, 2026
0afcaea
fix(audit): read each entry of a forwarded linker search list
mvanhorn Nov 3, 2026
198b199
fix(audit): expand loader tokens only in a linker search list
mvanhorn Nov 3, 2026
2cf0df1
fix(audit): count a .map link beside a selected file as a skipped com…
mvanhorn Nov 3, 2026
4241d47
fix(audit): split a linker search list only for an ELF image
mvanhorn Nov 3, 2026
a592efd
fix(audit): expand only the image loader's runtime tokens
mvanhorn Nov 3, 2026
f8c78d1
fix(audit): keep a declared .map link beside a selected script a sour…
mvanhorn Nov 3, 2026
6d9efe6
fix(audit): byte-check members whose kind is only an inventory path role
mvanhorn Nov 4, 2026
615aef5
fix(audit): read Go's linker -r setting as a runtime search list
mvanhorn Nov 4, 2026
73b0522
fix(audit): keep a selected package executable's native carrier format
mvanhorn Nov 4, 2026
08168e8
fix(audit): keep coverage unknown for an unread unclassified member
mvanhorn Nov 4, 2026
803cd09
Merge upstream/main into fix/release-exposure-audit
mvanhorn Nov 4, 2026
93d3c6d
Merge upstream/main into fix/release-exposure-audit
mvanhorn Nov 5, 2026
81f1063
fix(audit): keep ASAR header admission distinct from max_file_bytes
mvanhorn Nov 5, 2026
85fb7a8
fix(audit): thread the shared ASAR header admission into release expo…
mvanhorn Nov 5, 2026
9468c31
fix(audit): keep a nested ASAR probe stopped at the admission undecided
mvanhorn Nov 5, 2026
b2219ee
Merge remote-tracking branch 'upstream/main' into fix/release-exposur…
mvanhorn Nov 8, 2026
8f0b20c
fix(cli): parse audit-release-exposure --max-file-bytes as a decimal …
mvanhorn Nov 8, 2026
fb32c96
docs(specs): add the release exposure audit specification
mvanhorn Nov 8, 2026
ea87cf8
fix(audit): bind unpacked ASAR member reads to their inventoried digests
mvanhorn Nov 8, 2026
1d3f89f
fix(audit): let stated JavaScript roles outrank a .map name
mvanhorn Nov 8, 2026
10c82f4
fix(audit): keep coverage unknown when a packaged text member fails t…
mvanhorn Nov 8, 2026
8a78bb5
fix(audit): keep the unpacked ASAR digest check inside the read allow…
mvanhorn Nov 8, 2026
3fd85de
fix(audit): read a script target whose bytes are a source map as a map
mvanhorn Nov 8, 2026
cf0811a
fix(audit): retract a linker-map guess when a page loads the map as a…
mvanhorn Nov 8, 2026
68657f3
fix(audit): respect script and native identity for sibling linker maps
mvanhorn Nov 8, 2026
7d573ac
fix(audit): read a script-loaded map from the text that recognized it
mvanhorn Nov 8, 2026
6568523
fix(release-exposure): honor byte order marks in binary plist data
mvanhorn Nov 8, 2026
1eaa3f5
fix(audit): keep an unprobed package member past the text allowance u…
mvanhorn Nov 8, 2026
bc86750
fix(release-exposure): require a read host for every Electron layout
mvanhorn Nov 8, 2026
d3d83a5
fix(release-exposure): keep a .map script past the target allowance u…
mvanhorn Nov 8, 2026
3b473ba
fix(release-exposure): read a Node shebang as script in any text member
mvanhorn Nov 8, 2026
dc70c3d
fix(release-exposure): exclude Go search lists by position, not by value
mvanhorn Nov 8, 2026
0cd19ee
fix(release-exposure): keep a probed Node launcher's role past the al…
mvanhorn Nov 8, 2026
3ac3499
fix(release-exposure): decode a map in the encoding its byte order ma…
mvanhorn Nov 8, 2026
4eb9531
fix(release-exposure): keep a lone dash inside a quoted Go path argument
mvanhorn Nov 8, 2026
71de593
fix(release-exposure): choose possible Electron hosts within each layout
mvanhorn Nov 8, 2026
675bf3c
fix(release-exposure): read a relative compiler --sysroot as a build …
mvanhorn Nov 8, 2026
6c18131
fix(release-exposure): recognize Windows Electron layouts by the owne…
mvanhorn Nov 8, 2026
2dba595
fix(release-exposure): read a Bun module by its JavaScript loader
mvanhorn Nov 8, 2026
9ec6e1a
fix(release-exposure): read a Node shebang .map as a script
mvanhorn Nov 8, 2026
7d43921
Detect full-length GitHub refresh tokens
mvanhorn Nov 8, 2026
febd305
fix(release-exposure): bind a negative package probe to the inventori…
mvanhorn Nov 8, 2026
36fa4df
fix(release-exposure): let an app bundle read settle only its own layout
mvanhorn Nov 8, 2026
5180f1a
fix(release-exposure): honor a Node shebang before guessing a sibling…
mvanhorn Nov 8, 2026
f7f0c03
fix(release-exposure): name a bundle's own layout by the owner's path
mvanhorn Nov 8, 2026
630d4ca
fix(release-exposure): read file-valued linker options as build paths
mvanhorn Nov 8, 2026
aa5978f
fix(release-exposure): count a macOS bundle's framework and MacOS hos…
mvanhorn Nov 8, 2026
4924a4a
fix(release-exposure): keep a bundle's launcher out of its fuse hosts
mvanhorn Nov 8, 2026
446b942
fix(release-exposure): keep an undecided PE package member out of lin…
mvanhorn Nov 8, 2026
0f45870
fix(release-exposure): scan the text of an undecided PE map member
mvanhorn Nov 8, 2026
f306ad8
fix(release-exposure): keep an oversized text member's undecided PE h…
mvanhorn Nov 8, 2026
ed5a475
fix(release-exposure): join Electron layouts by caller path and keep …
mvanhorn Nov 8, 2026
b1d9109
fix(release-exposure): keep Electron hosts under a trailing-slash sel…
mvanhorn Nov 8, 2026
18a8851
fix(release-exposure): keep maps unassessed for unread text past the …
mvanhorn Nov 8, 2026
aeda62c
fix(release-exposure): keep an unread packaged map member undecided
mvanhorn Nov 8, 2026
66fac02
fix(release-exposure): keep an undecided sibling PE header out of lin…
mvanhorn Nov 8, 2026
1dda8d4
fix(release-exposure): keep possible fuse hosts when no ASAR layout n…
mvanhorn Nov 8, 2026
900f78e
fix(release-exposure): keep images outside a found ASAR layout as pos…
mvanhorn Nov 8, 2026
71a6c9b
fix(release-exposure): keep a dropped host outside a found ASAR layou…
mvanhorn Nov 9, 2026
1eeda3f
fix(release-exposure): read Go build-path response files named in com…
mvanhorn Nov 9, 2026
11ba5de
fix(release-exposure): keep a dropped host outside an ASAR layout unr…
mvanhorn Nov 9, 2026
3b0b5e3
fix(release-exposure): keep maps unassessed for an unreadable extensi…
mvanhorn Nov 9, 2026
931deb5
fix(release-exposure): read a response file named like a dyld token
mvanhorn Nov 9, 2026
580aec3
fix(release-exposure): keep the partial member scan on ordinary cance…
mvanhorn Nov 9, 2026
6820a4c
docs(release-exposure): describe the partial report kept when the mem…
mvanhorn Nov 9, 2026
aed8c1a
fix(release-exposure): keep maps unassessed when a text header is cut…
mvanhorn Nov 9, 2026
0e729e7
fix(release-exposure): keep dotted executables as possible hosts in A…
mvanhorn Nov 9, 2026
1e17db2
fix(release-exposure): split env -S shebangs on unquoted blanks only
mvanhorn Nov 9, 2026
41929a0
fix(release-exposure): keep owner facts completed before cancellation
mvanhorn Nov 9, 2026
c6a5afb
fix(release-exposure): keep env -S programs named by a variable unass…
mvanhorn Nov 9, 2026
6bf8314
fix(release-exposure): keep the ASAR header admission for selected files
mvanhorn Nov 9, 2026
7bd4927
fix(release-exposure): keep a map member with a variable env -S progr…
mvanhorn Nov 9, 2026
f61a72b
fix(release-exposure): read a forwarded -Map linker map path
mvanhorn Nov 9, 2026
c5d9afc
fix(release-exposure): count unread text in undecided map branches
mvanhorn Nov 9, 2026
6ac1dee
Merge remote-tracking branch 'origin/main' into HEAD
morluto Nov 9, 2026
15bc3db
fix(audit): bound map reads and preserve linker paths
morluto Nov 9, 2026
cdfa3ca
fix(audit): retain unread package uncertainty
morluto Nov 9, 2026
8891afa
fix(audit): retain ambiguous linker operands
morluto Nov 9, 2026
7cf0b69
fix(audit): preserve compiler path separators
morluto Nov 9, 2026
c878c1f
fix(audit): retain distinct linker map occurrences
morluto Nov 9, 2026
61af74a
fix(audit): apply map declarations to their exact source path
mvanhorn Nov 10, 2026
b77c2eb
fix(audit): keep partial inventory from settling fuse-host coverage
mvanhorn Nov 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/skills/reverse-engineer-anything/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ explicit path or endpoint and do not need it.
Facts retain all-recorded-events-before-selection scope. Other qlog layouts
and PCAP correlation are unsupported.
- User-owned Electron runtime already open: `list_electron_targets`. Before an electron-main Inspector attempt, check packaged fuses with `inspect_electron_fuses`; disabled `EnableNodeCliInspectArguments` means the app ignores `--inspect`.
- Shipped application exposure for a local `.app`, install directory, ASAR, or executable: `audit_release_exposure` / `rea audit-release-exposure`. Each check has a stable id, a status, and fixed remediation. Unknown and unassessed checks stay in the report. This does not establish that an application is secure. Credential-marker hits report the rule id and location only. See [release exposure](https://github.com/morluto/rea/blob/main/docs/release-exposure.md).
- Packet-field discovery: `inspect_packet_fields` searches installed protocols
and field names/types before choosing fields for `inspect_packet_capture`.
Query/page the relevant records; registrations do not establish observed traffic.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,16 @@ runtime presence. For compact CLI output, use
`inspect-desktop-application PATH --detail summary --evidence_output BUNDLE`.
See [desktop installations](https://github.com/morluto/rea/blob/main/docs/desktop-applications.md).

## Release exposure

Use `audit_release_exposure` (`rea audit-release-exposure PATH`) when the question is what static analysis of a shipped `.app`, install directory, ASAR, or executable recovers. Each check has a stable id, a status, the observation behind it, and fixed remediation. Unknown and unassessed checks stay in the report. The report does not establish that the application is secure.

`text.credential_markers` reports a rule id and location only. Matched bytes, previews, lengths, and hashes of matched bytes are omitted.

`native.hardening`, `macho.hardened_runtime`, and `android.manifest` are not assessed here. Their next probes are `inspect_binary_hardening`, `inspect_signature`, and `inspect_android_package`.

See [release exposure](https://github.com/morluto/rea/blob/main/docs/release-exposure.md).

## Go build metadata

Use `inspect_go_binary` for an explicit local ELF, PE or Mach-O (universal
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ Additional tools and host support depend on the target:
| EVM bytecode | Dispatch selectors, byte offsets, inferred arguments and mutability | Local raw/hex carrier on Linux x64; [offline EVM guide](docs/guides/evm/evm-bytecode.md) |
| SQLite databases | Tables, columns, indexes, views, triggers and selected ordinary-table rows | Local database/WAL snapshot; Node.js 24.x >=24.15 or 26+ with native SQLite limits |
| Recorded Linux crashes | Raw notes, every recorded thread's registers/signals and optional mapping candidates | Caller-supplied pwntools on Linux x64; optional GDB/pwndbg; [recorded crashes](docs/guides/native/recorded-crashes.md) |
| JavaScript / Electron | Modules, imports, source maps, routes, IPC and native add-on relationships | Node.js and npm; Linux: procps-compatible `ps`; [application analysis](docs/guides/javascript/javascript-application-workflows.md) |
| JavaScript / Electron | Modules, imports, source maps, routes, IPC, native add-ons, `rea audit-release-exposure` | Node.js and npm; Linux: procps-compatible `ps`; [application analysis](docs/guides/javascript/javascript-application-workflows.md) |
| Websites | Page structure, scripts, network observations and requested screenshots | A Chrome-family browser; [browser analysis](docs/guides/web/browser-observation.md) |
| Saved network captures | Requests, responses, exposed payloads and source locations | HAR or Fiddler Everywhere SAZ; mitmdump on Linux for native mitmproxy; [capture guide](docs/guides/web/web-network-captures.md) |
| .NET assemblies | Metadata, CIL instructions, declared native dependencies and build comparisons | None (static only); [managed-code guide](docs/guides/managed/managed-code-analysis.md) |
Expand Down
5 changes: 5 additions & 0 deletions docs/.vitepress/documentation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,11 @@ export const documentationSections = [
source: "reconstruction-coverage.md",
route: "/reconstruction-coverage",
},
{
text: "Release exposure",
source: "release-exposure.md",
route: "/release-exposure",
},
{
text: "Reverse-engineering tool integrations",
source: "reverse-engineering-tools.md",
Expand Down
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ the exact commit messages and references from the release they describe.
- [Python packaged applications](python-packaged-applications.md)
- [CPython pyc inspection](python-pyc.md)
- [Reconstruction coverage](reconstruction-coverage.md)
- [Release exposure](release-exposure.md)
- [Reverse-engineering tool integrations](reverse-engineering-tools.md)
- [Rust binary dependency metadata](rust-binaries.md)
- [U-Boot legacy uImage containers](uimage.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/getting-started/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -1321,6 +1321,7 @@ the CLI result should use JSON; either argument order is accepted.
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `0` | The operation completed. Its result may include partial evidence, warnings or unresolved questions. |
| `1` | The operation could not complete. Structured output identifies invalid input, permissions, cancellation, timeouts or another failure when available. |
| `3` | `audit-release-exposure` completed with `--fail_on` and an exposed check meets that severity. Unknown and unassessed checks do not change this status. |
| `128 + N` | Signal-derived status. An unhandled signal may have ended the process, with the shell or runtime preserving the conventional status; a command may instead have handled the signal, waited for its operation and cleanup to settle, and assigned the same status (`130` for SIGINT, `143` for SIGTERM). In the handled case, it may also have printed a structured `cancelled` result. |

`rea mcp --http` is long-running and prints no structured result. It exits
Expand Down Expand Up @@ -1476,3 +1477,16 @@ Bun standalone executables use the existing `inspect-artifact` and
`extract-artifact` commands to inventory and materialize embedded source,
sourcemaps and bytecode without running the executable. See
[Bun standalone executables](../bun-standalone.md) for layout coverage and limits.

### Release exposure

```sh
rea audit-release-exposure /absolute/path/to/MyApp.app --json
rea audit-release-exposure ./dist/MyApp.app --fail_on high --json
```

Reports what static analysis of a shipped `.app`, install directory, ASAR, or
executable recovers. `--fail_on high|medium|low` exits `3` when a completed
audit has an exposed check at that severity. Unknown and unassessed checks stay
in the report and do not change the exit status. See
[Release exposure](../release-exposure.md).
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The [documentation directory](README.md) lists every guide by domain.
| Inspect native functions, references, or types | [Native binaries](guides/native/native-investigation.md), [Go metadata](guides/native/go-binaries.md), [Rust dependencies](rust-binaries.md), [CPython pyc files](python-pyc.md), [PE certificates](pe-certificates.md), [PE imports](pe-imports.md), [PE TLS/load config](pe-load-config.md), [ELF notes](elf-notes.md), [Linux kernel modules](kernel-modules.md), [Apple IPS](apple-ips.md), [Erlang BEAM](erlang-beam.md), [offline ELF layout](guides/native/binary-diagnostics.md), [recorded crashes](guides/native/recorded-crashes.md) |
| Select a native provider or import format | [Ghidra semantics](providers/ghidra-provider.md), [Windows](providers/windows-ghidra-p0.md), [DOS](providers/ghidra-dos.md), [raw bytes](providers/raw-binary.md), [GameCube DOL](ghidra-dol.md), [MIPS](providers/ghidra-mips.md), [RISC-V](providers/ghidra-riscv.md), [PowerPC](ghidra-ppc.md), [PSP](providers/ghidra-psp.md), [NativeAOT](providers/ghidra-nativeaot.md), [IDA](providers/ida-provider.md), [Kuna](kuna-provider.md), [JEB](providers/jeb-analysis.md) |
| Analyze JavaScript or Electron artifacts | [Static analysis](guides/javascript/javascript-artifact-reconstruction.md), [tracing and comparisons](guides/javascript/javascript-application-workflows.md), [application graph](guides/javascript/javascript-application-graph.md), [source recovery](guides/javascript/javascript-recovery.md) |
| Compare static JavaScript with runtime observations | [Runtime attribution](guides/javascript/javascript-runtime-observation.md), [reconciliation](guides/javascript/javascript-runtime-reconciliation.md), [Electron observation](guides/javascript/electron-observation.md), [Electron fuses](electron-fuses.md) |
| Compare static JavaScript with runtime observations | [Runtime attribution](guides/javascript/javascript-runtime-observation.md), [reconciliation](guides/javascript/javascript-runtime-reconciliation.md), [Electron observation](guides/javascript/electron-observation.md), [Electron fuses](electron-fuses.md), [Release exposure](release-exposure.md) |
| Inspect assemblies, packages, or firmware | [Godot PCK](godot-pck.md), [UnityFS](unityfs.md), [wxapkg](wxapkg.md), [U-Boot uImage](uimage.md), [.NET](guides/managed/managed-code-analysis.md), [Python packages](python-packaged-applications.md), [Android](guides/android/android-analysis.md), [APK signatures](apk-signature.md), [Apktool resources](guides/android/apktool-resource-analysis.md), [ADB acquisition](guides/android/adb-device-analysis.md), [Apple](guides/apple/apple-application-analysis.md), [Harmony](guides/harmony/harmony-analysis.md), [firmware](guides/firmware/firmware-analysis.md), [Device Tree](devicetree.md), [FIT images](fit-images.md), [UF2/DfuSe](uf2-dfuse.md), [Flutter](guides/android/flutter-analysis.md), [ESP images](esp-image.md), [ESP flash images](esp-flash-image.md), [WASM](guides/wasm/wasm-artifacts.md), [EVM](guides/evm/evm-bytecode.md) |
| Observe or compare a browser scenario | [CDP observation](guides/web/browser-observation.md), [scenarios](guides/web/browser-scenario-contract.md), [runtime evidence](guides/web/web-runtime.md), [historical captures](guides/web/web-network-captures.md) |
| Serve recorded behavior as an agent environment | [Agent environments](agent-environments.md) |
Expand Down
Loading