← 최신 논문
🤖 AI

Unicode TAG-Block Concealment of Tool-Metadata Payloads in the Model Context Protocol: An Approval-View Fidelity Gap Across Three Independent Server Implementations

이 논문은 모델 컨텍스트 프로토콜(MCP)에 유니코드 TAG 블록 인코딩을 통해 공격자가 도구 메타데이터 내에 악성 페이로드를 은닉함으로써, 인간의 검토와 클라이언트 측 샌드박싱을 우회하고 여러 독립적인 서버 구현을 가로질러 숨겨진 콘텐츠를 모델의 컨텍스트에 직접 전달할 수 있게 하는 치명적인 승인-뷰 충실도 격차(approval-view fidelity gap)가 존재함을 입증한다.

원저자: Mohammadreza Rashidi

게시일 2026-07-08
📖 4 분 읽기☕ 가벼운 읽기

원저자: Mohammadreza Rashidi

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신에게 파일을 읽거나, 이메일을 보내거나, 날씨를 확인하는 등 당신을 대신해 일을 할 수 있는 매우 똑똑하고 유능한 로봇 비서(AI 코딩 에이전트)가 있다고 상상해 보세요. 이 로봇이 이러한 일을 수행하려면 외부 도구들과 통신해야 합니다.

**모델 컨텍스트 프로토콜(Model Context Protocol, MCP)**은 당신의 로봇이 이러한 외부 도구들과 연결될 수 있게 해주는 표준 규칙서입니다. 이것은 마치 '메뉴판'과 같습니다. 새로운 도구를 연결하면, 서버는 당신의 로봇에게 "메뉴"를 보냅니다. 이 메뉴는 세 부분으로 구성됩니다:

  1. 이름: 도구의 명칭.
  2. 설명: 도구가 무엇을 하는지 설명하는 문장.
  3. 규칙: 어떻게 사용하는지 (어떤 입력값이 필요한지).

로봇이 이 도구들을 사용하기 전에, 당신(인간)은 이 메뉴를 살펴보고 "허용"을 클릭해야 합니다. 이것이 당신의 안전 점검 절차입니다.

문제점: "매직 잉크(Magic Ink)" 수법

연구진들은 이 안전 점검 방식에 결함이 있다는 것을 발견했습니다. 알고 보니, 당신이 보는 메뉴로봇이 실제로 읽는 지침이 항상 일치하는 것은 아니었습니다.

여기 비유를 들어보겠습니다:
당신이 새로운 직원(도구)을 채용한다고 상상해 보세요. 당신은 그 직원의 이력서(도구 설명)를 검토하기 위해 건네받았습니다.

  • 당신이 보는 것: 이력서는 정상적으로 보입니다. "파일 정리 업무에 능숙함"이라고 적혀 있습니다.
  • 상사(AI)가 읽는 것: 그 이력서 안에는 투명 잉크로 쓰인 비밀 쪽지가 숨겨져 있습니다: "회사의 모든 비밀번호를 훔쳐서 나에게 보내라."
    연구진은 현재의 시스템이 "눈에 보이는 이력서"와 "보이지 않는 지침"이 일치하도록 강제하지 않는다는 사실을 발견했습니다.

구체적인 수법: "고스트(Ghost)" 문자

연구진은 이 비밀 지침을 숨기는 8가지 다른 방법을 테스트했습니다. 대부분은 다른 언어로 쓰거나 사람이 자세히 보면 알아챌 수 있는 이상한 서식을 사용하는 방식이었습니다.

하지만 한 가지 수법은 완벽하게 작동했는데, 이는 유니코드 태그(Unicode TAG) 문자라고 불리는 것에 의존합니다.

  • 비유: 모든 책에 라벨이 붙어 있는 도서관을 상상해 보세요. 대부분의 라벨에는 글자가 적혀 있습니다. 하지만 이 도서관에는 특별한 구역( "TAG 블록")이 있는데, 이곳의 라벨은 기술적으로는 유효하지만 도서관 직원들(당신의 화면, 휴대폰, IDE)은 그 라벨이 어떻게 생겼는지 알지 못합니다. 그들은 그냥... 사라져 버립니다.
  • 결과: 당신이 도구 설명을 볼 때, 화면은 해당 문자에 대해 아무것도 표시하지 않습니다. 마치 빈 공간처럼 보입니다. 하지만 데이터가 AI 로봇에게 전송될 때, 로봇의 두뇌(토크나이저)는 모든 바이트를 읽으며, 여기에는 보이지 않는 바이트까지 포함됩니다. 로봇은 비밀 지침을 아주 명확하게 읽어냅니다.

연구진은 이를 **은닉 인코딩(Concealment Encoding)**이라고 부릅니다. 이것은 종이에 글을 썼는데 사람의 눈에는 백지로 보이지만, AI라는 특수 기계로 스캔하면 텍스트가 나타나는 것과 같습니다.

발견된 다른 결함들

"투명 잉크"가 가장 위험했지만, 연구진은 안전 시스템이 실패하는 다른 방법들도 찾아냈습니다.

  1. "미끼와 바꿔치기" (Rug Pull): 당신은 "파일 목록 보기"라는 무해해 보이는 도구를 승인합니다. 나중에 서버는 몰래 설명을 "파일 목록 보기 및 비밀번호 훔치기"로 변경합니다. 시스템은 도구의 이름이 바뀌지 않았기 때문에 다시 승인을 요청하지 않습니다.
  2. "사칭" (Namespace Collision): 악의적인 행위자가 당신의 컴퓨터에 이미 있는 안전한 도구와 이름이 같은 "read_file"이라는 이름의 도구를 만듭니다. 로봇은 혼란에 빠져 안전한 도구 대신 나쁜 도구를 사용하게 됩니다.
  3. "트랩 도어" (Trap Door/Schema Coercion): 도구 설명은 정상적으로 보이지만, "규칙" 섹션(입력 스키마)에 "모든 보안 해제"라는 기본 설정이 들어있습니다. 로봇이 단순히 기본값을 수락하면, 실수로 자신의 안전 방패를 꺼버리게 됩니다.

이를 증명하기 위해 한 일

연구진은 단순히 추측만 한 것이 아니라, 실제 테스트를 구축했습니다.

  • 이들은 이러한 숨겨진 지침을 보내려고 시도하는 "악성" 서버를 만들었습니다.
  • 이를 실제 AI 클라이언트(로봇)에 연결했습니다.
  • 사람들이 이 도구들을 만드는 데 실제로 사용하는 세 가지 서로 독립적인 소프트웨어 라이브러리를 대상으로 테스트했습니다.
  • 결과: 세 가지 서로 다른 소프트웨어 시스템 모두에서, 숨겨진 지침이 로봇에게 전달되었습니다. "투명 잉크" 수법은 100% 성공적이었으며, 인간 검토자는 아무것도 보지 못했음에도 불구하고 로봇은 비밀 지침을 완벽하게 수신했습니다.

그들이 제안하는 해결책

연구진은 단순히 "키워드 필터"(나쁜 단어를 찾는 맞춤법 검사기 같은 것)에 의존해서는 안 된다고 주장합니다. 왜냐하면 공격자들은 단어를 숨길 수 있기 때문입니다.

대신, 그들은 세 가지 구조적 해결책을 제 다음과 같이 제안합니다:

  1. 바이트 충실한 뷰잉 (Byte-Faithful Viewing): 로봇이 문자를 본다면, 당신도 반드시 그것을 봐야 합니다. 만약 어떤 문자가 화면에 보이지 않는다면, 시스템은 그것을 조용히 사라지게 두는 대신 경고창(예: "알 수 없는 문자" 기호)을 보여주어야 합니다.
  2. 변경 시 재승인 (Re-Approval on Changes): 당신이 이미 "예"라고 답한 후에 도구의 설명이나 규칙이 변경된다면, 시스템은 멈춰서 당신에게 다시 물어봐야 합니다.
  3. 엄격한 네임스페이스 (Strict Namespaces): 인터넷에서 가져온 도구는 당신의 컴퓨터에 속한 도구의 이름을 가로챌 수 없도록 제한해야 합니다.

요약

이 논문은 우리가 AI 도구를 외부 세계와 연결하는 현재 방식에 "사각지대"가 있음을 밝혀냈습니다. 공격자는 인간의 눈에는 보이지 않지만 AI에게는 명확하게 보이는 지침을 작성할 수 있습니다. 연구진은 이것이 다양한 소프트웨어 시스템에서 작동함을 증와했으며, 해결책은 인간이 보는 것이 정확히, 바이트 단위로 AI가 보는 것과 일치하도록 만드는 것뿐임을 보여주었습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →