fix: redact MCP invalid JSON errors when tool logging is disabled#3088
fix: redact MCP invalid JSON errors when tool logging is disabled#3088Aphroq wants to merge 2 commits intoopenai:mainfrom
Conversation
|
@codex review |
1 similar comment
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07c2d8ef82
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if _debug.DONT_LOG_TOOL_DATA: | ||
| logger.debug(f"Invalid JSON input for tool {tool.name}") | ||
| logger.debug(error_message) | ||
| raise ModelBehaviorError(error_message) from None |
There was a problem hiding this comment.
Remove hidden JSON context in redacted error path
In redaction mode, raise ModelBehaviorError(error_message) from None suppresses traceback display but still leaves the original JSONDecodeError in __context__, whose .doc contains the full input_json (including secrets). Any telemetry/introspection that serializes exception context can still leak tool payloads, so the redaction fix is incomplete.
Useful? React with 👍 / 👎.
Summary
Redacts malformed MCP tool input from
ModelBehaviorErrorinsrc/agents/mcp/util.pywhenDONT_LOG_TOOL_DATAis enabled.Previously,
invoke_mcp_tool()suppressed debug logging in no-tool-data mode but still embedded the rawinput_jsonin the raised exception, which could leak secrets through logs, traces, or error reporting pipelines. This change makes the exception path follow the same redaction policy as logging, while preserving the existing full-payload behavior when tool-data logging is explicitly enabled.Also adds regression coverage in
tests/mcp/test_mcp_util.pyfor both redacted and non-redacted modes.Test plan
bash .agents/skills/code-change-verification/scripts/run.shtests/mcp/test_mcp_util.pyIssue number
Closes #3087
Checks
make lintandmake format