MCP의 약속은 명확합니다: 에이전트가 도구를 일관되고 감사 가능한 방식으로 호출할 수 있게 하는 것입니다. 하지만 중요한 변화가 나타나고 있습니다—사용자가 서버를 승인한 후 위험 영역이 줄어드는 것이 아니라 이동합니다. 서버의 응답이나 컨텍스트에 숨겨진 명령어가 모델을 유도해 허용된 도구를 사용하게 하며, 이 도구들은 이제 토큰, API 키 또는 내부 데이터를 유출하는 방향으로 작동할 수 있습니다. 이는 전통적인 의미의 탈옥(jailbreak)이 아니라, 합법적인 기능을 악용하는 승인 후 조종 공격입니다.
패턴은 겉보기보다 단순합니다. 사용자가 서버와 도구 세트를 승인합니다. 이후 서버는 전략적으로 조작된 명령어를 포함한 무해해 보이는 페이로드를 반환합니다. 모델은 부여된 권한 내에서 승인된 명령을 실행하고, 파일이나 환경 변수를 읽어 공격자가 제어하는 엔드포인트로 결과를 전송합니다. 모든 단계가 기술적으로 범위 내에 있기 때문에 단순한 정책 검사로는 통과되고, 기존의 탈옥 필터도 거의 작동하지 않습니다. 신뢰의 경계는 버튼 클릭에서 대화 및 도구 호출 루프 전체로 이동했습니다.
에이전트 워크플로우를 시범 운영하는 기업에게 이 문제는 이론적이 아니라 실질적인 운영상의 문제입니다. 보안 통제는 도구 사용 시기, 방법, 매개변수를 엄격히 관리해야 하며, 특히 비밀 정보 접근, 시스템 내부 점검, 외부 네트워크 호출에 대해선 더욱 그렇습니다. 컴플라이언스 및 감사팀은 MCP 서버를 제3자 소프트웨어로 간주하고, 증명 요구, 네트워크 및 네임스페이스 격리, 임시 자격 증명 교체, 변조 방지 로그 기록을 의무화해야 합니다. 무엇보다 도구 승인 권한과 특정 요청에서 도구 사용 허용 조건을 분리해야 합니다.
완화책은 존재하지만 정밀해야 합니다. 매개변수 허용 목록을 강제하고 위험한 와일드카드는 기본적으로 차단하세요. 고위험 작업(비밀 읽기, 파일 쓰기, 외부 URL 전송)에 대해선 별도의 확인 절차를 요구하세요. 서버 응답에 암호화 서명을 적용하고, 승인 권한은 짧은 세션과 좁은 범위에 묶으세요. 신뢰할 수 없는 콘텐츠에서 유래한 도구 호출 명령어는 필터링하거나 격리하는 컨텍스트 방화벽을 도입하세요. 마지막으로 강제 패턴(갑작스러운 데이터 유출, 반복적인 스키마 회피, 토큰 공개 명령 반복 등)을 모니터링하고, 감지 시 세션을 자동으로 취소하세요.


