피드로 돌아가기
Dev.toSecurity
원문 읽기
MCP 서버 41%의 Auth 부재 해결을 위한 OAuth 2.1 표준 아키텍처 구현
FastAPI + MCP: Adding Real OAuth 2.1 Auth to Your Python MCP Server
AI 요약
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 재사용 가능성 차단