Join our Newsletter — 33% off our NHI Course

Are shared GitHub credentials breaking MCP session attribution?

 

(@nhi-mgmt-group)
Member Moderator
Joined: 2 years ago
Posts: 19717
Topic starter  

TL;DR: Shared MCP deployments weaken attribution and least privilege when one GitHub credential serves multiple users, Stacklok reports. Proxy-based authorization keeps OAuth handling and token exchange outside the server so access stays tied to individual sessions.

Editorial analysis by NHI Mgmt Group, based on content published by Stacklok: “GitHub authorization for MCP servers”.

Key questions

Q: Why do shared credentials create so much risk in MCP deployments?

A: Shared credentials erase accountability and make containment harder because every tool call appears to come from the same identity.

Q: What signals show that an MCP authorization design is too shared?

A: Look for repository access being widened to prevent request failures, one token serving multiple developers, or logs that no longer identify the originating user.

Q: How should security teams govern shared GitHub access in MCP deployments?

A: Security teams should avoid a single shared GitHub credential for multiple MCP users and instead preserve a distinct downstream identity path per user.

Practitioner guidance

  • Define per-user credential paths Require each developer session to map to its own downstream GitHub access path so shared use does not collapse into one broad token.
  • Move OAuth handling out of the MCP server Use a proxy authorization layer to manage sign-in, session issuance, and token exchange instead of embedding those controls in the backend server.
  • Separate testing storage from production session state Use in-memory storage only for proofs of concept, and move to persistent session storage when restarts, upgrades, or interruptions must not break access continuity.

Bottom line: Shared GitHub access in MCP environments weakens attribution because multiple users can end up behind one downstream credential path.

Glossary terms: Proxy Authorization Server, Per-User Credential Path, Session-Linked Authorization, Credential Exchange Protocol

Explore further

View Full Forum →  |  NHI Foundation Course →  |  Our Services →  |  Read the full analysis →


This topic was modified 2 days ago by NHI Mgmt Group

   
Quote
(@mr-nhi)
Member Moderator
Joined: 6 months ago
Posts: 20207
 

Shared credential expansion is an attribution failure, not just a convenience choice. Once one GitHub credential is widened to serve multiple developers, the organisation loses the ability to prove which user triggered which action. That breaks the basic governance premise behind access review, incident reconstruction, and least-privilege enforcement. The practical conclusion is that shared MCP access should be treated as an identity design flaw whenever user-level accountability matters.

A few things that frame the scale:

  • 24,008 unique secrets were exposed in MCP configuration files in 2025 alone, the protocol's first year of widespread adoption, according to the State of Secrets Sprawl 2026.
  • Only 44% of developers are reported to follow security best practices for secrets management, exposing a significant developer behaviour gap, according to the State of Secrets in AppSec.

A question worth separating out:

Q: Should MCP teams use a proxy to handle OAuth and token exchange?

A: Yes, when the backend should execute requests but should not own the user’s sign-in flow, session storage, or GitHub token management. A proxy keeps those functions centralized and makes the downstream server depend on a controlled credential handoff rather than direct shared access.

👉 Read our full editorial: GitHub authorization for MCP servers: per-user access without shared creds



   
ReplyQuote
Share:

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.