Repository navigation
Fix duplicate outer MCP argument validation on HTTP and stdio - #255
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. |
|
The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins. |
…quests Honor finite server body limits, use bounded request buffering, and preserve valid requests above the old inspection cutoff. Cover chunked framing, trailing slashes, large bodies, and pre-execution size rejection.
Proxicon
left a comment
There was a problem hiding this comment.
Follow-up code review and repair at ef67e4d close HTTP framing gaps in the initial guard: unknown Content-Length, the trailing slash route, and accepted bodies above 1 MiB now pass through the same duplicate validation. The 1 MiB setting is a memory threshold, not an execution bypass. Finite server body limits are honored; the finite fallback is 30,000,000 bytes, with 413 before execution above the bound.
Local pinned-SDK validation passed: 12/12 focused framing/size/duplicate cases; 66/66 HTTP/stdio transport regression cases; no skipped results. Slopwatch reports zero issues in changed/new source/tests. Documentation validation and whitespace checks passed. New hosted exact-head CI is required before merge. AI-assisted review and test evidence; live campaign receipts remain unchanged.
Beta.9 failure
Raw JSON-RPC tools/call with duplicate outer params.arguments returns HTTP 500 and stdio -32603 before the existing tool validator runs. See #252.
Fix
Normalize only duplicate params.arguments frames before SDK binding so the existing transport-neutral duplicate-envelope validator returns structured validation_failed. HTTP inspects bounded authenticated JSON posts in memory; stdio filters newline-delimited frames. No tool is invoked for the rejected request.
Verification
Deployed v0.1.2-beta.9 remains failing until a reviewed build is released and retested against the live instance.