MCP Security란?

모델 컨텍스트 프로토콜(MCP)을 쓰면 AI 에이전트가 표준 방식으로 외부 도구를 호출하고 데이터를 읽을 수 있습니다. 편리한 만큼 실무적인 질문이 생깁니다. 에이전트가 어느 서버에 연결해도 되는지, 각 도구가 무엇을 할 수 있는지, 누구의 자격 증명으로 움직이는지입니다. MCP 보안은 이 질문들을 다룹니다. 흔히 거론되는 위험으로는 도구 설명에 모델을 향한 숨은 지시가 들어가는 도구 오염(tool poisoning), 도구가 돌려준 내용에 숨은 지시로 일어나는 프롬프트 인젝션, 업무에 필요한 범위보다 넓은 권한, 검증되지 않은 외부 서버가 있습니다.

대표적인 관리 방법은 승인된 서버 목록, 도구별 최소 권한, 민감한 작업 전 사용자 확인, 모든 도구 호출 기록입니다. 원격 서버에 대해서는 MCP 명세가 OAuth 2.1 기반의 권한 부여 방식을 정의합니다. 예를 들어 팀은 에이전트가 공유 드라이브를 읽는 것은 허용하되, 이메일을 보내기 전에는 사람이 확인하도록 정할 수 있습니다. 에이전트는 도구가 돌려준 데이터를 근거로 움직이므로, 팀은 그 데이터가 최신인지와 업무에 맞는지도 확인합니다.

자주 묻는 질문

MCP의 도구 오염(tool poisoning)은 무엇입니까?

도구 설명이나 메타데이터에 파일을 읽거나 데이터를 다른 곳으로 보내라는 식의, 모델을 향한 지시가 들어 있는 경우를 말합니다. 모델은 도구 설명을 읽기 때문에 이런 지시가 에이전트의 행동을 바꿀 수 있습니다.

MCP는 권한 부여를 어떻게 처리합니까?

원격 서버에 대해 MCP 명세는 OAuth 2.1 기반의 권한 부여 방식을 정의합니다. 클라이언트는 원래 자격 증명을 들고 있는 대신 범위가 정해진 접근 권한을 받습니다. 로컬 서버는 보통 실행 환경의 권한으로 동작합니다.

MCP는 기본적으로 안전합니까?

프로토콜은 클라이언트와 서버가 통신하고 권한을 주고받는 방식을 정합니다. 어떤 서버를 믿을지, 어떤 권한을 줄지, 무엇을 기록할지는 각 배포에서 정하며, 위험의 대부분은 이 선택에 달려 있습니다.