MCP · 2026년 6월 25일 ★★★

OAuth로 지키는 원격 MCP 서버, 출시하며 잡은 보안 버그 3건

SkillDB라는 서비스를 출시하면서 원격 MCP 서버에 OAuth를 붙이는 과정과 그때 직접 밟은 보안 버그 3건을 정리한 글이에요. ① 이미 탈퇴한 사용자의 캐시된 토큰이 검증을 그냥 통과하던 문제, ② 대칭키로 서명한 내부용 토큰을 외부 API로 흘려보내 누구나 토큰을 위조할 수 있던 문제, ③ 클라이언트 등록을 열어둔 데다 동의 화면이 허술해 로그인한 사용자의 인증 코드를 가로챌 수 있던 문제예요. 사내 도구를 원격 MCP로 노출하려는 팀에 그대로 쓸 출시 전 점검표가 돼요.

용어 풀이
OAuth
비밀번호를 넘기지 않고 제3자 앱에 권한만 위임하는 표준 인증 방식
MCP
Model Context Protocol. AI 에이전트가 외부 도구·데이터에 접속하는 표준 규약
PKCE
인증 코드 탈취를 막기 위해 OAuth에 더하는 보안 절차
JWT
사용자 정보를 서명된 토큰에 담아 주고받는 형식
confused deputy
권한 있는 중간자가 속아서 공격자의 요청을 대신 수행해 버리는 보안 결함
운영자 인사이트

MCP에 OAuth를 붙이는 건 새로운 보안 문제라기보다 웹 인증의 고전적 함정이 그대로 재현되는 자리예요 — 위조 가능한 내부 토큰을 신뢰 경계 밖으로 넘기지 말고, 프록시 뒤에서 호스트·출처를 읽는 모든 지점(토큰 검증·동의 화면·redirect)을 빠짐없이 감사하세요.

여러 관점으로 보기
  • 실무 사례 SkillDB 출시 중 직접 겪은 OAuth 보안 버그 3건을 코드 수준으로 짚어요. SkillDB
  • 커뮤니티 반응 해커뉴스 토론은 점수·댓글이 적어 별다른 여론은 모이지 않았어요. Hacker News

원본 보기 (hn:mcp-server)