Skip to content

Strengthen MCP01 layered token and secret controls - #51

Open
mironovisa wants to merge 1 commit into
OWASP:mainfrom
mironovisa:fix/mcp01-layered-token-controls
Open

mironovisa wants to merge 1 commit into
OWASP:mainfrom
mironovisa:fix/mcp01-layered-token-controls

Conversation

@mironovisa

Copy link
Copy Markdown

Summary

  • distinguish MCP client credentials, MCP server authorization grants, and upstream database/API credentials as separate trust boundaries
  • correct the implication that MCP itself defines persistent model memory
  • add token passthrough, audience validation, revocation, credential-isolation, and logging controls
  • replace ambiguous scenarios with implementation-specific memory, log-replay, and upstream-credential examples
  • cite primary MCP, OAuth, and OWASP guidance

This is vendor-neutral and contains no product references.

@mironovisa

Copy link
Copy Markdown
Author

Hi — quick maintainer check on this terminology and control-boundary correction. The change is deliberately vendor-neutral: it separates MCP client credentials, server authorization grants, and upstream credentials; adds token-passthrough and audience-validation controls; and clarifies that MCP does not itself provide persistent model memory. Happy to adjust wording or references to match the project’s preferred format.

@yotampe-pluto

yotampe-pluto commented Aug 22, 2026

Copy link
Copy Markdown

This is a strong improvement. Separating credential classes, correcting the persistent-memory language, and explicitly covering token passthrough and audience validation make MCP01 much more protocol-accurate.

I support merging this. As a follow-up, I suggest cross-linking token passthrough to MCP07, where the project can cover the related OAuth proxy confused deputy case, per-client consent, redirect validation, and preservation of the user/client/server/downstream identity chain. That would keep MCP01 focused on secret handling while MCP07 owns the authorization boundary.

I opened PR #53 to implement that follow-up independently: #53

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants