피드로 돌아가기
FastAPI + MCP: Adding Real OAuth 2.1 Auth to Your Python MCP Server
Dev.toDev.to
Security

MCP 서버 41%의 Auth 부재 해결을 위한 OAuth 2.1 표준 아키텍처 구현

FastAPI + MCP: Adding Real OAuth 2.1 Auth to Your Python MCP Server

Peyton Green2026년 4월 10일16intermediate

Context

MCP 서버의 인증 부재로 인한 CVE-2025-6514 등 심각한 보안 취약점 및 Tenant Takeover 리스크 발생. Python SDK의 OAuth 2.1 지원에도 불구하고 구현 가이드 부재로 인한 생산 환경의 낮은 보안 적용률이 병목 지점으로 작용.

Technical Solution

  • RFC 8414 기반의 Authorization Server Metadata 엔드포인트를 구축하여 MCP SDK의 자동 서비스 발견 기능 구현
  • PKCE(Proof Key for Code Exchange)를 강제하는 OAuth 2.1 표준 플로우를 통해 인증 코드 탈취 공격 원천 차단
  • FastMCP 내장 OAuth Proxy의 Resource Parameter 무시 결함(GHSA-5h2m-4q8j-pqpj)을 피하기 위해 OAuthAuthorizationServerProvider 직접 구현
  • RFC 8707 Resource Indicators를 적용하여 특정 MCP 서버에만 유효한 정밀한 Scope 기반 Token 발행 체계 설계
  • SDK가 프로토콜 핸들링을 담당하고 개발자가 Identity 및 Token Storage만 구현하는 책임 분리 구조 채택

1. FastMCP 내장 OAuth Proxy 대신 OAuthAuthorizationServerProvider 직접 구현 검토

2. OAuth

2.1 적용 시 PKCE 및 RS256 알고리즘 사용 여부 확인

3. RFC 8414 준수 여부를 통해 SDK와의 상호운용성 검증

4. Token 발행 시 Resource Indicator를 통해 서버 간 Token 재사용 가능성 차단

원문 읽기