AI ????? ??? ?? ? ??? ???? ???? ???? MCP(Model Context Protoco)? ??? ?? ???? ??. ??? ?? ?? ???? ?? ???? ??? ??? ???? ???? ??? ???? ??. Credit: Shutterstock MCP는 AI 어시스턴트가 다양한 데이터 소스, 도구, 서비스와 연결돼 보다 정교한 행동, 추천, 의사결정을 수행할 수 있도록 지원하는 수단으로 빠르게 확산되고 있다. 이 프로토콜은 이러한 커뮤니케이션을 표준화함으로써 에이전트형 AI의 기반을 더욱 견고하게 다져준다. MCP 서버는 API처럼 작동하며, 일반적으로 데이터 저장소나 서비스 앞단에 위치한다. 이를 통해 에이전트는 필요한 정보를 원하는 시점에 손쉽게 불러올 수 있으며, 별도의 맞춤형 통합 작업이 필요하지 않다. 기업은 MCP 서버를 활용해 자사 데이터를 AI 프로세스에 연결하거나 외부 사용자에게 제공할 수 있으며, 페이팔(PayPal), 자피어(Zapier), 쇼피파이(Shopify) 등 인기 서비스와 연동되는 사전 구축된 MCP 서버를 사용할 수도 있다. 그러나 MCP 서버를 AI 전략의 일부로 도입하려는 기업은 이 기술이 가져올 수 있는 보안 리스크를 반드시 인지해야 한다. MCP 사용에는 다양한 위험 요소와 잠재적 취약점이 존재하며, 다음은 조직이 MCP를 도입할 때 직면할 수 있는 대표적인 10가지 보안 이슈다. 테넌트 간 데이터 노출 크로스사이트 스크립팅(XSS)과 유사하게, 테넌트 간 데이터 노출은 한 사용자 그룹이 다른 사용자 그룹의 데이터에 접근할 수 있도록 한다. 이에는 내부 팀, 비즈니스 파트너, 고객 등이 포함된다. 실제로 기술적 전문성을 갖춘 기업의 MCP 서버 구현 사례에서 이 취약점이 발견된 바 있으며, 이는 MCP 서버를 설정하려는 모든 기업에 중요한 경고 신호가 된다. 보안 모니터링 솔루션 업체 업가드(UpGuard) 연구팀은 MCP 서버가 강력한 테넌트 격리 정책과 최소 권한 접근 제어를 반드시 적용해야 한다고 권고했다. AI 기반 우회 공격 공격자가 직원, 비즈니스 파트너 또는 고객을 가장해 고객지원 담당자에게 요청을 보낸다. 이 요청에는 AI만 인식할 수 있는 숨겨진 프롬프트 인젝션이 포함돼 있다. 인간 직원이 이 요청을 AI 어시스턴트에게 전달하면, 해당 에이전트는 MCP 서버를 통해 민감한 데이터와 비즈니스 프로세스에 연결되는 도구에 접근하게 된다. 이후 이 접근권한은 악의적인 목적으로 이용될 수 있다. 이는 단순한 이론이 아니라 현실에서 이미 발생하고 있는 위협이며, 기술적으로 성숙한 기업조차 영향을 받을 수 있다. 기업이 이를 방지하려면 AI의 행위에 대해 최소 권한 정책을 적용하고, 의심스러운 프롬프트를 실시간으로 분석하며, MCP 활동에 대한 감사 로그를 유지해야 한다. 도구 오염 MCP 서버를 처음 설정하는 과정은 쉽지 않지만, 다행히 사용할 수 있는 사전 구축 서버가 매우 많다. 현재 MCP 디렉터리에는 1만 5,000개 이상의 서버가 . 그러나 인터넷 검색을 통해 첫 번째로 발견된 MCP 서버를 무작정 다운로드할 경우, 해당 서버가 의도한 대로 작동한다는 보장은 없다. 올해 4월, MCP 보안 솔루션 기업 인버리언트랩스(Invariant Labs)는 악의적인 MCP 서버가 설명란에 삽입된 명령을 통해 암호화와 보안 장치를 우회해 다른 시스템의 정보를 추출할 수 있음을 . 그러나 설명란만이 문제가 되는 것은 아니다. MCP 서버가 생성하는 함수명, 파라미터, 기본값, 필수 항목, 데이터 타입, 오류 메시지, 후속 프롬프트 등 모든 항목이 악의적 명령을 담을 수 있는 공격 벡터가 될 수 있다. 그렇다면 다운로드한 MCP 서버가 악성인지 어떻게 알 수 있을까? 첫째, 출처를 확인해야 한다. 신뢰할 수 있는 기관에서 제공하는 것인지 검토해야 한다. 둘째, 요청하는 권한을 살펴야 한다. 단순히 고양이 사진을 제공하는 서버라면 파일 시스템 접근 권한은 필요하지 않다. 가능하다면 소스코드를 검토하는 것도 방법이다. 다소 복잡하지만, 이미 일부 보안 벤더들이 이를 지원하고 있다. 예를 들어 보안 스타트업 백슬래시시큐리티(BackSlash Security)는 7,000개 이상의 공개 MCP 서버를 분석해 보안 리스크를 , 이 중에는 의심스러운 동작이나 명백히 악의적인 사례도 포함돼 있었다. 또한 MCP 서버는 한 번만 검증해서는 충분하지 않다. 소프트웨어 공급망에서 흔히 발생하는 ‘신뢰 후 악성 업데이트’ 공격은 MCP 서버에서도 동일하게 적용될 수 있다. 인버리언트랩스는 이를 ‘러그 풀(rug pull)’ 공격이라고 지칭하며, MCP 서버가 정상적으로 작동하다가 이후 악성 기능이 포함된 업데이트를 통해 사용자 모르게 피해를 야기할 수 있다고 경고했다. 사이버아크(CyberArk)의 연구원 닐 아쉬케나지는 “이러한 침해는 피해자는 인식하지 못하고, 공격자만 알고 있는 상황이 발생할 수 있다”라고 . 신뢰된 플랫폼을 통한 에이전트 오염 공격자는 공개 플랫폼에 프롬프트 인젝션을 삽입해, AI 에이전트를 조작해 데이터 유출이나 악성 코드 실행을 유도할 수 있다. 특히 MCP 서버가 신뢰된 시스템일 경우 이런 공격은 더욱 은밀하게 이뤄질 수 있다. 연구진은 깃허브(GitHub) MCP 서버를 활용한 공격 시나리오를 시연했다. 공격자는 깃허브의 공개 저장소에 새로운 이슈를 생성하고, 여기에 프롬프트 인젝션을 삽입한다. 한 기업이 버그 리포트를 수집하기 위해 이 저장소를 운영하고, AI 에이전트가 깃허브 MCP 서버를 통해 공개 저장소의 이슈를 확인하는 작업을 수행한다고 가정하면, 이 과정에서 AI가 삽입된 프롬프트를 읽고 민감한 데이터를 수집하도록 유도될 수 있다. 예를 들어 AI가 같은 MCP 서버를 통해 접근 가능한 비공개 저장소에서 정보를 가져오라는 명령이 삽입돼 있을 수 있다. 이 경우 깃허브 자체가 해킹된 것은 아니지만, 공격의 매개체로 활용된다. 인버리언트(Invariant) 연구진은 이 공격 벡터를 앤트로픽(Anthropic)의 클로드 데스크톱(Claude Desktop)을 통해 시연했다. 이 툴은 기본적으로 개별 도구 호출에 대해 사용자의 승인을 요구하지만, 많은 사용자가 ‘항상 허용’ 정책을 선택함에 따라 위협이 실현될 가능성이 커진다. 토큰 탈취 및 계정 장악 AI 보안 스타트업 필러시큐리티(Pillar Security)의 , 공격자가 MCP 서버에 저장된 OAuth 토큰을 탈취하면 이를 이용해 자신의 MCP 서버 인스턴스를 생성할 수 있다. 이러한 토큰은 MCP 서버의 설정 파일이나 코드 파일에 암호화되지 않은 채 저장돼 있을 수 있으며, 백도어, 사회공학 기법 등의 방식으로 공격자가 접근할 수 있다. 예를 들어 지메일(Gmail)의 경우, 공격자는 피해자의 전체 메일 기록에 접근하고, 피해자 명의로 이메일을 발송하거나 삭제하며, 민감 정보를 검색하고, 향후 메일을 감시하기 위한 자동 전달 설정까지도 수행할 수 있다. 연구진은 “전통적인 계정 탈취의 경우 이상 로그인 알림이 발생할 수 있지만, MCP를 통한 토큰 탈취는 정상적인 API 접근처럼 보이기 때문에 탐지하기가 훨씬 어렵다”라고 설명했다. 컴포저빌리티 체이닝 검증되지 않은 MCP 서버는 예상치 못한 방식으로 작동할 수 있다. 서드파티 MCP 서버를 다운로드해 사용할 경우, 이 서버가 또 다른 원격 MCP 서버에 요청을 보내는 구조일 수 있다. 사이버아크(CyberArk)는 이를 ‘컴포저빌리티 체이닝(composability chaining)’이라고 정의했다. 두 번째 MCP 서버는 정상적인 출력과 함께 숨겨진 악성 명령을 함께 반환할 수 있으며, 첫 번째 서버는 이를 통합해 AI 에이전트에 전달한다. 그 결과 AI 에이전트는 이 악성 명령을 실행하게 된다. 특히 환경 변수에 저장된 민감한 데이터가 있는 경우, 사용자가 악성 MCP 서버에 직접 연결하지 않았더라도 이 방식으로 정보가 유출될 수 있다. 사용자 동의 피로도 AI 에이전트가 수행하는 작업에 대해 인간의 승인을 요구하는 보안 가드레일은 기업에서 자주 활용되는 방법이다. 그러나 이 방식은 양날의 검이 될 수 있다. 팔로알토네트웍스(Palo Alto Networks)에 따르면, 악의적인 MCP 서버가 여러 건의 무해한 요청(예: 단순 읽기 권한 요청 등)을 AI 에이전트와 인간 사용자에게 반복적으로 보내면, 사용자는 점차 내용을 꼼꼼히 읽지 않고 이를 무심코 승인하게 된다. 이 틈을 이용해 MCP 서버가 악성 요청을 끼워 넣을 수 있다는 것이다. 연구진은 “이 공격 방식은 다중 인증 피로도 공격과 유사하다. 사용자가 끊임없는 인증 요청에 지쳐 결국 승인 버튼을 눌러버리는 상황이 발생한다”고 분석했다. 사용자 동의 피로도 공격의 한 형태로 ‘샘플링 공격(sampling attack)’이 있다. 이는 LLM(대규모 언어 모델)에서 텍스트를 생성하는 과정을 의미한다. 사이버아크(CyberArk)에 따르면, 샘플링은 MCP의 고급 기능 중 하나로, MCP 서버가 LLM에 응답을 요청하는 메시지를 보낼 수 있게 한다. 이 메시지는 원칙적으로 인간 검토자의 확인을 거쳐야 하지만, 악의적인 명령이 메시지 깊은 곳에 숨겨져 있을 경우 이를 발견하기 어려워진다. 예를 들어, 악성 MCP 서버는 LLM에게 가능한 모든 환경 변수를 수집해 전송하라고 지시할 수 있다. 인간 검토자가 메시지를 확인하더라도 길고 복잡한 텍스트 중간에 숨어 있는 명령을 놓칠 수 있으며, LLM의 응답 역시 길고 복잡하면 그 안에 포함된 민감 정보 유출을 눈치채기 어려워진다. 관리자 우회 이 공격 방식은 MCP 서버가 사용자 인증을 요구하지 않는 설정일 경우 발생한다. 예를 들어, 기업이 자사 디렉터리 정보를 검색할 수 있도록 MCP 서버를 설정하고, AI 에이전트가 사용자 대신 이 정보를 조회할 수 있도록 허용한 경우다. 이때 사용자는 제한된 권한만 가지고 있지만, MCP 서버가 요청자의 신원을 검증하지 않으면 AI 에이전트는 일반 사용자가 알 수 없는 정보를 조회하게 된다. 이 요청은 불만을 품은 내부자나, AI의 기능을 테스트해보려는 직원, 혹은 시스템에 우회 접근한 외부 공격자일 수도 있다. 특히 이 MCP 서버가 외부 사용자, 즉 파트너, 고객, 또는 일반 대중에게도 노출된 상태라면, 이러한 권한 상승은 심각한 피해로 이어질 수 있다. 명령어 인젝션 MCP 서버가 사용자 입력을 다른 시스템으로 전달할 때 이를 적절히 검증하지 않으면, SQL 인젝션과 유사하게 악의적인 명령어가 삽입될 수 있다. 공격자는 MCP 서버가 노출한 모든 도구에 대해 명령어 인젝션 취약점을 시험해 볼 수 있다. 다른 인젝션 공격들과 마찬가지로, MCP 서버는 절대 사용자 입력을 셸 명령어에 직접 전달해서는 안 되며, 반드시 입력값을 검증하고 파라미터화된 명령어를 사용해야 한다. 도구 그림자 공격 AI 에이전트가 다수의 MCP 서버에 접근할 수 있는 구조일 경우, 한 MCP 서버가 다른 MCP 서버를 가장해 잘못된 방식으로 활용되도록 유도할 수 있다. 예를 들어, 하나의 서버는 일반적인 의료 증상 정보를 제공하고, 또 다른 서버는 환자 청구 시스템에 접근 권한을 갖는 경우다. 보안 기업 솔로(Solo.io)의 글로벌 CTO 크리스티안 포스타는 “이 그림자 공격(shadowing attack)은 에이전트가 모든 환자 청구 정보를 공격자의 이메일로 전송하게 만들 수 있다”라고 설명했다. 청구 시스템용 MCP 서버 자체는 안전하고 정상적으로 작동하고 있지만, 악성 MCP 서버가 조용히 조작을 유도해도 감사 로그에 명확한 흔적이 남지 않을 수 있다. 그 결과, AI 에이전트는 의심 없이 환자 정보를 외부로 전송하거나 정상적인 절차로 보이는 작업을 통해 유출할 수 있다.dl-ciokorea@foundryco.com ???? ???? ??? ??? IT ??? ???? ??? ????! ??? ??? ??? ?????. ????