이 글에서 저는 MCP 서버를 본인이 직접 프로그램 코드를 직접 짜거나, 남이 만든 코드라도 검증할 수 있는 분들이 아니라면, 꽤 심각한 보안 위험이 있다는 것을 알려드리고 싶습니다.
제가 이전 글에서 말씀 드린대로 MCP 서버는 여러분의 컴퓨터에 설치되는 것으로 파일 접근, 리소스 제어 등의 기능을 할 수 있습니다. 따라서, 만약 공격자가 마음만 먹는다면 MCP 도구 설명에 그럴듯하게 적어놓고, 실제 코드에는 공격 코드를 삽입할 수 있습니다. 게다가 MCP 서버 업데이트 기능을 통해 알 수 없는 기능을 업데이트할 수도 있습니다. 문제는 일반인들은 그러한 코드의 실제 위험을 확인하기 어렵다는 것입니다.
게다가 로컬 서버에 설치될 뿐만 아니라 최근에 REST 방식을 이용한 원격 서버와 접속을 허용하는 MCP 서버가 늘고 있습니다. 대부분 API 서비스를 제공하는 서드 파티 제공사의 기능을 활용하기 위해 만든 것들인데, 하이재킹을 통해 가짜 서버로 전송해서 데이터를 탈취할 수도 있습니다. 예를 들어, 커서 AI의 취약점 중에 하나인 add()라는 데이터 설정 파일 변경 기능을 통해 해커가 데이터를 탈취하는 일도 있었습니다.
요즘 대부분 로컬에 설치되는 프로그램은 신뢰된 앱 스토어를 통해 검증된 프로그램만 설치되고 있거나, 특정 샌드박스 안에서만 실행되도록 하는 장치가 내장되어 있습니다. 그러나, MCP 서버의 경우 공개된 프로토콜만 있지, 만들어서 배포되고 있는 프로그램에 대한 검증 장치는 아직 없습니다.