[PR #1359] [MERGED] feat: add Frida instrumentation support #2825

Closed
opened 2026-10-17 21:10:44 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1359
Author: @dandgabr
Created: 10/9/2026
Status: ✅ Merged
Merged: 10/12/2026
Merged by: @N0zoM1z0

Base: main ← Head: feat/frida-instrumentation-upstream


📝 Commits (10+)

  • f20a395 feat: add Frida instrumentation support
  • 0aacd1a fix: resolve Frida CI checks
  • 04000ce test: cover Frida contract validation branches
  • 52e77f1 docs: link Frida instrumentation guide
  • 4e76655 fix(frida): handle cancellation cleanup safely
  • 61e4f9d fix(frida): address PR review findings
  • b4b8f8b chore: merge main into frida instrumentation branch
  • 6fc9c45 Merge branch 'main' of https://github.com/morluto/rea into feat/frida-instrumentation-upstream
  • b2d2b8b fix(frida): preserve resume and message observations
  • 6ba8e31 fix(ci): use canonical registry for rolldown

📊 Changes

34 files changed (+5845 additions, -148 deletions)

View changed files

➕ docs/frida-instrumentation.md (+13 -0)
📝 docs/index.md (+2 -0)
📝 docs/testing.md (+12 -0)
📝 knip.json (+1 -0)
📝 package-lock.json (+304 -146)
📝 package.json (+8 -0)
📝 scripts/lib/catalog-builders.mjs (+9 -0)
📝 scripts/lib/catalog-core.mjs (+2 -0)
➕ scripts/verify-frida.mjs (+198 -0)
➕ scripts/verify/fridaBindingsCompatibility.ts (+28 -0)
📝 src/application/CapabilityInventory.ts (+6 -0)
📝 src/application/OptionalObservationProviders.ts (+4 -1)
➕ src/application/frida/FridaInstrumentationManager.test.ts (+988 -0)
➕ src/application/frida/FridaInstrumentationPort.ts (+117 -0)
➕ src/application/frida/FridaInstrumentationService.test.ts (+508 -0)
➕ src/application/frida/FridaInstrumentationService.ts (+400 -0)
📝 src/cli.ts (+4 -0)
➕ src/cli/fridaCommands.ts (+275 -0)
📝 src/cliCommandNames.ts (+12 -0)
➕ src/contracts/fridaRemoteAddress.ts (+21 -0)

...and 14 more files

📄 Description

Summary

  • Add Frida device and process discovery, attach/spawn sessions, script loading, message capture, and cleanup through the CLI and MCP.
  • Keep Frida bindings optional and lazily loaded; do not install Frida Server on targets.
  • Record bounded instrumentation evidence with source digests while excluding remote authentication values.
  • Document supported behavior and add a real-target verification script.

Verification

  • npm run build:cached
  • npm run test:focused -- src/application/frida/FridaInstrumentationManager.test.ts src/application/frida/FridaInstrumentationService.test.ts src/contracts/fridaToolContracts.test.ts tests/boundary/cli/fridaCli.test.ts tests/boundary/mcp/fridaMcp.test.ts tests/boundary/cli/productCatalog.test.ts
  • npm run check:ci
  • npm run docs:check

Real Frida target verification was not run; it requires a configured Linux host and reachable Frida server.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1359 **Author:** [@dandgabr](https://github.com/dandgabr) **Created:** 10/9/2026 **Status:** ✅ Merged **Merged:** 10/12/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `feat/frida-instrumentation-upstream` --- ### 📝 Commits (10+) - [`f20a395`](https://github.com/morluto/rea/commit/f20a395e3f3fe153170c48a689d81c626bdffbc6) feat: add Frida instrumentation support - [`0aacd1a`](https://github.com/morluto/rea/commit/0aacd1acd66e57b3665e4a48181da31fcf0bbbd3) fix: resolve Frida CI checks - [`04000ce`](https://github.com/morluto/rea/commit/04000ce076ee16f6a964d7349236ddef18221b54) test: cover Frida contract validation branches - [`52e77f1`](https://github.com/morluto/rea/commit/52e77f1a48b7f2fdf8d025718c6dd6b314ddcb8d) docs: link Frida instrumentation guide - [`4e76655`](https://github.com/morluto/rea/commit/4e766550b31b8451121f5d98e2eed6be2ded3e42) fix(frida): handle cancellation cleanup safely - [`61e4f9d`](https://github.com/morluto/rea/commit/61e4f9d76f820a1c70a8c30de33eac34b585a5e8) fix(frida): address PR review findings - [`b4b8f8b`](https://github.com/morluto/rea/commit/b4b8f8bd855743c69bc0acade9771e6eb23269bf) chore: merge main into frida instrumentation branch - [`6fc9c45`](https://github.com/morluto/rea/commit/6fc9c4524205ae43c531bfda1d0427d0b4866311) Merge branch 'main' of https://github.com/morluto/rea into feat/frida-instrumentation-upstream - [`b2d2b8b`](https://github.com/morluto/rea/commit/b2d2b8be80b93d5db45173ca884da78bc41edccb) fix(frida): preserve resume and message observations - [`6ba8e31`](https://github.com/morluto/rea/commit/6ba8e31c21782ebf568f428578941ee5f0e32969) fix(ci): use canonical registry for rolldown ### 📊 Changes **34 files changed** (+5845 additions, -148 deletions) <details> <summary>View changed files</summary> ➕ `docs/frida-instrumentation.md` (+13 -0) 📝 `docs/index.md` (+2 -0) 📝 `docs/testing.md` (+12 -0) 📝 `knip.json` (+1 -0) 📝 `package-lock.json` (+304 -146) 📝 `package.json` (+8 -0) 📝 `scripts/lib/catalog-builders.mjs` (+9 -0) 📝 `scripts/lib/catalog-core.mjs` (+2 -0) ➕ `scripts/verify-frida.mjs` (+198 -0) ➕ `scripts/verify/fridaBindingsCompatibility.ts` (+28 -0) 📝 `src/application/CapabilityInventory.ts` (+6 -0) 📝 `src/application/OptionalObservationProviders.ts` (+4 -1) ➕ `src/application/frida/FridaInstrumentationManager.test.ts` (+988 -0) ➕ `src/application/frida/FridaInstrumentationPort.ts` (+117 -0) ➕ `src/application/frida/FridaInstrumentationService.test.ts` (+508 -0) ➕ `src/application/frida/FridaInstrumentationService.ts` (+400 -0) 📝 `src/cli.ts` (+4 -0) ➕ `src/cli/fridaCommands.ts` (+275 -0) 📝 `src/cliCommandNames.ts` (+12 -0) ➕ `src/contracts/fridaRemoteAddress.ts` (+21 -0) _...and 14 more files_ </details> ### 📄 Description ## Summary - Add Frida device and process discovery, attach/spawn sessions, script loading, message capture, and cleanup through the CLI and MCP. - Keep Frida bindings optional and lazily loaded; do not install Frida Server on targets. - Record bounded instrumentation evidence with source digests while excluding remote authentication values. - Document supported behavior and add a real-target verification script. ## Verification - `npm run build:cached` - `npm run test:focused -- src/application/frida/FridaInstrumentationManager.test.ts src/application/frida/FridaInstrumentationService.test.ts src/contracts/fridaToolContracts.test.ts tests/boundary/cli/fridaCli.test.ts tests/boundary/mcp/fridaMcp.test.ts tests/boundary/cli/productCatalog.test.ts` - `npm run check:ci` - `npm run docs:check` Real Frida target verification was not run; it requires a configured Linux host and reachable Frida server. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:10:44 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2825
No description provided.