연결 성공은 권한 검증의 끝이 아닙니다
MCP 공식 보안 문서는 권한을 대신 행사하는 과정의 혼동, 토큰 전달, SSRF와 로컬 서버 실행 등 여러 위험을 다룹니다. MCP를 사용한다는 사실만으로 데이터 접근이 안전해지는 것은 아닙니다. 사용자가 누구인지, 어느 조직에 속하는지, 어떤 자원에 어떤 동작을 할 수 있는지를 실제 호출 경로에서 확인해야 합니다.
가상의 사내 비용 관리 서비스를 생각해 보세요. 로그인한 직원이 자신의 지출 내역을 조회하는 권한과 팀 전체의 지출을 승인하는 권한은 다릅니다. 도구가 요청받은 직원 ID를 그대로 신뢰하면 다른 사람의 자료를 조회할 수 있습니다. 서버가 인증된 사용자와 조직 정보를 기준으로 조회 범위를 제한해야 합니다.
토큰의 용도와 대상 서버를 확인합니다
공식 문서는 MCP 서버용으로 발급되지 않은 토큰을 받아 하위 서비스로 그대로 넘기는 token passthrough를 금지합니다. 토큰을 받으면 서명과 만료뿐 아니라 발급자, 대상과 권한 범위를 검증하는 구성이 필요합니다. 외부 서비스 연동에는 해당 서비스의 권한 흐름을 적용하고, 불필요하게 넓은 권한을 요구하지 않도록 점검하세요.
| 영역 | 확인할 내용 | 검수 예시 |
|---|---|---|
| 사용자 권한 | 조직·역할·자원별 접근 범위 | 다른 조직의 문서 ID로 조회 |
| 토큰 | 발급자·대상·만료·권한 | 다른 서비스용 토큰 제출 |
| 외부 요청 | 허용 주소와 리다이렉트 처리 | 내부망 주소를 입력값으로 전달 |
| 로컬 실행 | 패키지 출처·버전·파일 접근 | 불필요한 홈 폴더 접근 확인 |
입력받은 URL과 실행 패키지도 검증 대상입니다
문서를 가져오는 도구가 임의의 URL을 받는다면 내부 서비스나 클라우드 메타데이터 주소에 접근할 수 있는지 점검하세요. 단순히 주소 문자열만 비교하기보다 주소 해석과 리다이렉트 이후의 대상도 검토해야 합니다. 필요한 외부 서비스가 정해져 있다면 허용 대상을 좁히는 구성이 관리에 유리합니다.
로컬 MCP 서버는 사용자 환경에서 코드를 실행할 수 있습니다. 패키지 이름, 배포 주체와 버전을 확인하고 필요한 디렉터리와 자격 증명만 제공하세요. 도구 설명은 사용 방법을 알려주는 자료이며 권한을 새로 부여하는 근거가 아닙니다. 설명에 포함된 명령을 읽었다는 이유로 실행 범위를 넓히지 않도록 설계합니다.
기록에는 추적 정보를 남기고 비밀은 줄입니다
호출자, 도구 이름, 대상 자원 ID, 허용·거절 결과를 연결하면 접근 문제를 추적하기 쉽습니다. 원문 토큰이나 비밀번호를 로그에 남기는 것은 피하세요. 운영 검수에서는 정상 연결뿐 아니라 만료된 토큰, 권한 철회와 조직 변경 직후에도 기존 권한이 남아 있지 않은지 확인합니다.
출시 전 필수 점검
- 조회와 변경 권한을 서버에서 다시 판정하는가
- 토큰이 해당 서버를 대상으로 발급됐는지 확인하는가
- 외부 요청이 내부 자원으로 우회할 수 없는가
- 연결을 해제하면 후속 접근도 차단되는가
- 감사 로그에 자격 증명이 노출되지 않는가
참고 자료
자료 확인일: 2026.10.07 · 본문의 적용 예시와 체크리스트는 참고 자료를 바탕으로 정리한 실무 제안입니다.
기술 동작은 아래 공식 문서를 참고했습니다. 적용 조건과 지원 버전은 프로젝트 환경에 맞게 확인하세요.
작성팀 소개
TOPPING 기술팀 · 개발 · 아키텍처 · QA
웹·앱·백엔드·IoT·데이터 연동을 수행하는 TOPPING의 개발·아키텍처 담당 팀입니다. 시스템 구조 설계, 기술 검수, 인수인계와 운영 안정화를 담당합니다.



