Repository navigation
fix(mcp): declare Frida status session mutation - #3902
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
[Medium impact] This PR appears safe to merge. SummaryCorrects
Tests were not run during this review. Checking whether another PR replaces this one was blocked because GitHub credentials were unavailable. Reviews (1) · Last reviewed commit: "style(test): format hook-normalized canc..." · Reviewed by Greptile |
|
The |
Summary
Fixes #3326. Match Frida status effect metadata to its existing Evidence recording.
Problem and expected behavior
Successful status queries retain Evidence, but the catalog advertised them as
read-only. REA's read-only definition includes session state. Ordinary additive
Evidence recording should remain non-destructive.
Change and scope
Reuse the existing
evidenceeffect declaration intoolEffects.ts. Extend theexisting MCP lifecycle regression; no handler, Frida engine, target behavior,
runtime permission, or lifecycle change. Advance maintainer scope decision is not
applicable to this ordinary metadata correction.
Contract and boundary impact
and the one-shot CLI are unchanged.
generated outputs are not included. No version, package or installation edit.
Expected effect of the corrected status operation: additive in-memory session
Evidence recording. It does not introduce target execution, instrumentation,
target/file/configuration mutation, network access, or protection recovery.
Evidence and regression coverage
788964d52, the new MCP regression failed atreadOnlyHint: trueversus expected false (1 failed / 25 passed).tools/list advertises non-read-only/non-destructive behavior and binary_session
declares mutatesSession. An unknown session adds no Evidence.
Windows. This proves the metadata/retention boundary, not real-engine behavior.
Validation performed
Windows x64; pinned Node 24.18.0 / npm 11.16.0:
npm ci— passed; 0 vulnerabilities reported.npm run test:focused -- src/contracts/toolEffects.test.ts src/contracts/fridaToolContracts.test.ts tests/boundary/mcp/fridaMcp.test.ts tests/boundary/mcp/fridaLifecycleMcp.test.ts— 40 passed, 0 skipped.
npm run check— passed, including build dependencies, typecheck, lint,format, knip, metadata, module boundaries and architecture guards. Warnings remain.
npm run docs:check— passed, including catalog generation/checks and 5 READMEconsistency tests.
git diff --check— passed.destructiveHint false; binary_session advertises mutatesSession, without an
injected provider. No real Frida target was selected or executed.
Compatibility, safety, and release
No payload/schema-shape change or migration. MCP clients may now seek confirmation
for this correctly classified operation, depending on their own policies.
No real Frida/device lane or full-suite run; native implementation is unchanged.
Merge Danger
Door: two-way. Blast radius: narrow — one tool's effect classification and the
derived catalog identity; no persistent-data migration or native behavior change.
Author readiness
Human owner: @z2Ace0107
Before merge
type(scope): outcome.