MCP(Model Context Protocol)를 팀에서 운영하다 보면 “우리가 제대로 하고 있는 건가?” 하는 의문이 생기는 시점이 반드시 옵니다. 특히 보안 감사나 내부 리뷰가 다가올 때 막막함을 느끼는 경우가 많습니다. 이 체크리스트는 실무에서 반복적으로 마주치는 준수 항목들을 정리한 것으로, 매 스프린트 마무리나 분기별 감사 준비에 바로 활용할 수 있습니다.
왜 MCP 정책 준수가 중요한가 #
MCP 서버는 LLM에게 외부 도구 접근 권한을 부여합니다. 잘못 설정된 서버 하나가 민감한 데이터를 노출하거나 예상치 못한 작업을 실행할 수 있습니다. 정책 준수는 단순히 감사를 통과하기 위한 것이 아니라, 운영 중 발생할 수 있는 사고를 미리 막는 실질적인 방어선입니다.
접근 제어 체크리스트 #
가장 먼저 확인해야 할 영역입니다.
- 서버별 최소 권한 원칙 적용 — 각 MCP 서버는 필요한 최소한의 도구와 리소스만 노출하고 있는가
- API 키 및 비밀 정보 환경변수 처리 — 설정 파일에 하드코딩된 자격증명이 없는가
- 클라이언트 인증 구현 — 인가된 클라이언트만 서버에 연결할 수 있는가
- 도구 호출 권한 분리 — 읽기 전용 도구와 쓰기 도구의 접근 레벨을 구분했는가
- 세션 만료 정책 설정 — 장기간 미사용 세션이 자동으로 종료되는가
감사 로그 체크리스트 #
문제 발생 시 추적 가능성을 확보하는 영역입니다.
- 모든 도구 호출 로깅 — 요청 시각, 클라이언트 ID, 도구명, 입력 파라미터가 기록되는가
- 오류 및 거부 이벤트 별도 기록 — 실패한 호출과 권한 거부 사례가 추적되는가
- 로그 보존 기간 정책 — 로그가 정해진 기간(최소 90일 권장) 동안 보존되는가
- 로그 무결성 보장 — 로그 파일이 변조될 수 없도록 보호되어 있는가
- 민감 정보 마스킹 — 로그에 API 키, 개인정보가 평문으로 남지 않는가
데이터 처리 체크리스트 #
- 입력 데이터 검증 — 도구 입력값에 대한 타입 및 범위 검증이 구현되어 있는가
- 프롬프트 인젝션 방어 — 사용자 입력이 시스템 명령으로 해석되지 않도록 처리하는가
- 외부 시스템 접근 범위 제한 — MCP 서버가 접근할 수 있는 파일 경로, DB 테이블, API 엔드포인트가 명시적으로 제한되는가
- 출력 데이터 필터링 — 응답에 포함되어서는 안 될 정보가 자동으로 제거되는가
운영 상태 체크리스트 #
- 서버 버전 최신화 — MCP 서버 라이브러리가 최신 보안 패치 버전을 사용하는가
- 의존성 취약점 스캔 — 주간 단위로
npm audit또는pip-audit등이 실행되는가 - 헬스체크 엔드포인트 구현 — 서버 상태를 외부에서 주기적으로 확인할 수 있는가
- 비상 차단 절차 문서화 — 서버를 즉시 격리해야 할 때 담당자가 따를 수 있는 런북이 있는가
- 정기 침투 테스트 — 분기별로 서버에 대한 보안 테스트를 실시하는가
실무 적용 팁 #
이 체크리스트를 PR 템플릿이나 Jira 티켓 체크박스로 연동하면 배포 전 자동으로 확인 절차가 실행됩니다. 처음부터 모든 항목을 완벽히 충족할 필요는 없습니다. 우선순위 High 항목(접근 제어, 감사 로그)을 먼저 해결하고, 분기마다 미완료 항목을 줄여가는 방식이 현실적입니다.
팀에 새로운 MCP 서버가 추가될 때마다 이 체크리스트를 기준으로 리뷰하는 습관을 들이면 점진적으로 전체 준수율이 올라갑니다.
마치며 #
MCP 정책 준수는 한 번에 완성되는 것이 아니라 지속적인 점검과 개선의 과정입니다. 체크리스트를 통해 현재 상태를 정확히 파악하고, 가장 위험한 항목부터 순차적으로 해결해 나가세요. 작은 개선이 쌓이면 결국 감사에서 자신감 있게 대응할 수 있는 수준에 도달하게 됩니다.