Bind gateway approval access to requester metadata [AI]#81380
Conversation
|
Codex review: needs real behavior proof before merge. Summary Reproducibility: yes. at source level. Current main stamps requester metadata on exec approval records, but the list and shared lookup/resolve paths do not filter those records by caller before exposing or resolving them. Real behavior proof Next step before merge Security Review findings
Review detailsBest possible solution: Fix the filtered prefix lookup edge case, then keep the centralized requester-metadata enforcement behind maintainer/security review and real gateway proof before merge. Do we have a high-confidence way to reproduce the issue? Yes, at source level. Current main stamps requester metadata on exec approval records, but the list and shared lookup/resolve paths do not filter those records by caller before exposing or resolving them. Is this the best way to solve the issue? No, not as currently patched. Centralizing requester visibility in shared approval lookup and delivery helpers is the right direction, but the filtered exact-match branch must not prevent prefix lookup across otherwise visible records. Full review comments:
Overall correctness: patch is incorrect Acceptance criteria:
What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against c9b6b0be0e36. |
|
Reviewed by automation; no code change was required for this comment. Quoted comment from @clawsweeper:
|
# Conflicts: # src/gateway/server-plugins.ts
# Conflicts: # src/gateway/node-registry.ts # src/gateway/server.node-invoke-approval-bypass.test.ts
* fix: bind approval access to requester metadata * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing claude review * addressing ci * fix: complete root-cause handling * addressing review-skill * addressing codex review * addressing ci * docs: add changelog entry for PR merge
* fix: bind approval access to requester metadata * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing claude review * addressing ci * fix: complete root-cause handling * addressing review-skill * addressing codex review * addressing ci * docs: add changelog entry for PR merge
* fix: bind approval access to requester metadata * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing review-skill * addressing codex review * addressing codex review * addressing codex review * addressing claude review * addressing ci * fix: complete root-cause handling * addressing review-skill * addressing codex review * addressing ci * docs: add changelog entry for PR merge
Summary
AI-assisted: Yes.
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof (required for external PRs)
transpile parse okRoot Cause (if applicable)
Regression Test Plan (if applicable)
src/gateway/server-methods/server-methods.test.ts,src/gateway/server-methods/plugin-approval.test.tsUser-visible / Behavior Changes
Approval list, get, and resolve calls now hide records bound to another requester identity. Mismatched approval IDs are reported the same way as unknown or expired IDs.
Diagram (if applicable)
Security Impact (required)
Yes/No): NoYes/No): NoYes/No): NoYes/No): NoYes/No): YesYes, explain risk + mitigation: Approval record visibility and resolution are narrowed to matching requester metadata when present. Legacy unbound records remain accessible to avoid breaking records without metadata, and regression tests cover both exec and plugin approval paths.Repro + Verification
Environment
Steps
Expected
Actual
Evidence
Attach at least one:
Evidence snippet:
transpile parse okHuman Verification (required)
What you personally verified (not just CI), and how:
Review Conversations
Compatibility / Migration
Yes/No): YesYes/No): NoYes/No): NoRisks and Mitigations