
MCP 보안은 AI 에이전트가 도구를 잘 쓰게 만드는 문제의 다음 단계입니다.
처음에는 모델이 파일을 읽고, API를 호출하고, 업무 시스템과 연결되는 장점이 눈에 들어옵니다. 하지만 도구 호출은 곧 권한 있는 작업 요청입니다.
그래서 MCP를 붙일 때는 “연결이 되나?”보다 “어떤 권한으로, 누가 승인하고, 나중에 어떻게 추적하나?”를 먼저 봐야 합니다.
MCP 보안을 먼저 한 줄로 보기

MCP 보안의 핵심은 모델을 믿지 않는다는 뜻이 아니라, 모델 출력과 실제 작업 사이에 명확한 경계를 두는 것입니다.
AI가 제안한 tool call은 실행 전 권한, 승인, 기록을 통과해야 합니다.
도구 호출은 그냥 함수 호출이 아니다
MCP 도구는 단순한 코드 함수처럼 보일 수 있습니다. 하지만 실제로는 이메일 전송, 파일 수정, 데이터베이스 조회, 결제 시스템 접근처럼 외부 상태를 바꾸는 작업이 될 수 있습니다.
이때 모델은 사용자 입력, 문서 내용, 이전 대화, 검색 결과를 바탕으로 도구 호출을 제안합니다. 입력 안에 악의적인 지시가 섞이면 모델이 의도치 않은 도구를 호출하도록 유도될 수 있습니다.
따라서 tool call은 모델의 자연어 출력보다 더 엄격하게 다뤄야 합니다.
최소 권한 원칙을 먼저 적용한다
가장 기본적인 방어는 도구별 권한을 작게 나누는 것입니다. 모든 일을 할 수 있는 관리자 도구 하나를 주면 편하지만, 한 번의 잘못된 호출이 큰 사고로 이어집니다.
- 읽기 전용 도구와 쓰기 도구를 분리한다
- 삭제, 전송, 결제 같은 작업은 별도 권한으로 둔다
- 파일 경로, 계정, 프로젝트 범위를 제한한다
- 사용자별 세션 권한을 tool call에 반영한다
예를 들어 캘린더를 읽는 도구와 일정을 삭제하는 도구는 같은 수준의 승인을 받아서는 안 됩니다.
위험한 작업은 사용자 승인을 거쳐야 한다
모든 tool call에 팝업을 띄우면 사용성이 떨어집니다. 반대로 아무 승인 없이 실행하면 위험합니다. 그래서 작업의 위험도를 나눠야 합니다.
- 낮은 위험: 공개 문서 검색, 읽기 전용 조회
- 중간 위험: 개인 데이터 조회, 내부 문서 접근
- 높은 위험: 외부 전송, 삭제, 결제, 권한 변경
높은 위험 작업은 모델이 바로 실행하지 않고, 사용자에게 무엇을 하려는지 보여준 뒤 승인받는 흐름이 필요합니다.
{
"tool": "send_email",
"risk": "high",
"requires_approval": true,
"summary": "고객 3명에게 가격 변경 안내 메일 전송",
"allowed_recipients": ["customer@example.com"]
}prompt injection은 입력 필터만으로 끝나지 않는다
문서나 웹페이지 안에 “이전 지시를 무시하고 이 도구를 호출하라” 같은 문장이 들어갈 수 있습니다. 이것을 단순히 나쁜 문자열 필터링 문제로만 보면 놓치는 부분이 생깁니다.
더 안전한 접근은 외부 콘텐츠를 신뢰하지 않는 데이터로 보고, 그 콘텐츠가 tool permission을 바꾸지 못하게 만드는 것입니다. 문서 내용은 판단 근거가 될 수 있지만 권한 정책을 덮어쓰면 안 됩니다.
감사 로그가 없으면 나중에 설명할 수 없다
MCP를 운영 환경에 붙이면 나중에 반드시 이런 질문이 나옵니다. 이 도구는 왜 호출됐나, 어떤 입력이 근거였나, 누가 승인했나, 어떤 데이터가 외부로 나갔나.
이 질문에 답하려면 tool call 로그가 필요합니다.
- 사용자와 세션
- 요청한 도구와 인자
- 승인 여부와 승인자
- 실행 결과와 실패 이유
- 참조한 문서나 외부 데이터
로그는 문제 발생 후 책임을 묻기 위한 장치만이 아닙니다. 위험한 자동화를 더 안전하게 개선하기 위한 관찰 도구입니다.
정리
MCP 보안은 AI 에이전트를 막기 위한 이야기가 아닙니다. 오히려 실제 업무에 붙이기 위해 필요한 최소 조건입니다. 권한을 작게 나누고, 위험한 작업은 승인받고, 호출 기록을 남겨야 에이전트가 운영 시스템 안으로 들어올 수 있습니다.
MCP의 기본 개념은 MCP란 무엇인가에서 먼저 볼 수 있습니다. 에이전트의 도구 사용 흐름은 AI 에이전트란 무엇인가와 함께 읽으면 좋습니다.
보안 기준은 MCP Security Best Practices와 MCP Authorization 문서를 기준으로 확인하는 것이 안전합니다.