WebMCP 도구 보안

Julia Pagnucco
Julia Pagnucco
Alexandra Klepper
Alexandra Klepper

게시일: 2026년 6월 9일, 최종 업데이트: 2026년 9월 1일

설명하듯이 웹 확장 프로그램 Chrome 상태 의도
GitHub 오리진 트라이얼 오리진 트라이얼 View 실험 의도

웹 모델 컨텍스트 프로토콜 (WebMCP)을 사용하여 확장 프로그램으로 구동되는 에이전트를 비롯해 브라우저 내에서 실행되는 AI 에이전트에 구조화된 도구를 빌드하고 노출할 수 있습니다. 에이전트는 대규모 언어 모델 (LLM), 규칙, 메모리, 도구를 사용하여 사용자를 대신하여 작업을 실행합니다.

LLM은 모든 텍스트, 지침, 사용자 데이터를 단일 토큰 시퀀스로 취급하므로 공격자가 악성 지침을 포함하는 간접 프롬프트 인젝션에 취약합니다. Google팀은 악의적인 행위자로부터 웹사이트와 사용자를 보호하는 데 도움이 되는 도구 보안에 관한 문서를 작성했습니다.

일부 모델에는 프롬프트 인젝션을 해결하는 레이어가 있지만 대규모 언어 모델 (LLM) 내부의 안전을 보장할 수는 없습니다. 모델은 확률적입니다. 최첨단 LLM을 사용하는 에이전트 시스템에 대해 반복 가능한 프롬프트 인젝션 공격이 있었으며 웹에서의 공격이 증가하고 있다는 점을 기억해야 합니다.

이러한 우려를 해소하기 위해 WebMCP로 도구를 빌드하는 사용자를 위한 보안에 관한 예비 가이드를 제공했습니다.

주석 힌트 사용

도구를 빌드할 때 추가해야 하는 몇 가지 힌트가 있습니다.

  • 적절한 경우 untrustedContentHint 사용 도구에서 사용자 제작 콘텐츠 (UGC) 또는 외부 소스 데이터를 반환하는 경우 도구에 untrustedContentHint를 추가하는 것이 좋습니다. 이 필드는 페이로드를 신뢰할 수 없는 것으로 명시적으로 라벨링하여 사이트의 무결성을 보호하는 동시에 이 데이터에 대한 면밀한 조사가 필요하다는 신호를 에이전트에 제공합니다.
  • 위험도가 높거나 되돌릴 수 없는 작업에는 consequentialHint를 사용합니다. 도구를 실행한 결과로 여행 예약이나 송금과 같은 중요한 작업이 발생하는 경우 에이전트나 브라우저가 실행 전에 사용자 확인을 요청할 수 있도록 consequentialHint: true를 설정하세요.
  • 상태를 변경하지 않는 도구에서 readOnlyHint 사용 이를 통해 에이전트는 사용자 확인을 요청할 시기에 관해 더 나은 결정을 내릴 수 있습니다.

도구를 신중하게 노출

WebMCP document.modelContext.registerTool API는 도구의 기능을 에이전트에만 노출합니다. 기본적으로 다른 웹사이트나 교차 출처 iframe은 도구를 관찰하거나 상호작용할 수 없습니다.

registerTool의 exposedTo 옵션을 사용하여 특정 보안 출처 배열에 도구 액세스 권한을 제공할 수 있습니다. 이렇게 하면 사이트에 삽입된 경우와 사이트가 해당 출처에 삽입된 경우 도구가 해당 출처에 노출됩니다.

// https://partner.org

await document.modelContext.registerTool({
  name: 'my_shared_tool',
  description: 'Shared across origins',
  // ...
}, {
  exposedTo: ['https://trusted.com', 'https://example.com']
});

신뢰할 수 있는 출처에만 도구를 노출하세요. 이는 도구가 사용자 데이터를 관리하거나 사용자에게 영향을 미치는 경우에 특히 중요합니다.

  • getFavoriteProducts와 같은 읽기 전용 도구는 사용자에 관한 정보를 공개할 수 있습니다. 이러한 도구는 이 데이터를 직접 공유할 웹사이트에만 노출해야 합니다.
  • 읽기 및 쓰기 액세스 권한이 있는 도구는 사용자를 대신하여 작업을 실행합니다. 이러한 도구는 사용자를 대신하여 작업할 때 신뢰할 수 있다고 판단되는 출처에만 노출해야 합니다. 예를 들어 postComment를 trustedExample.com에 노출하고 싶지만 evilExample.com에는 노출하고 싶지 않을 수 있습니다.

문자 예산 설정

에이전트 가드레일을 방지하려면 간결한 도구 설명과 출력을 작성하세요. 최상의 결과를 위해 다음 글자 수 제한을 따르는 것이 좋습니다.

  • 도구 설명당 500자(영문 기준)
  • 파라미터 설명당 150자
  • 도구 이름 및 매개변수 이름당 30자
  • 개별 도구 출력당 1,500자 제한

에이전트마다 차이가 있을 수 있으므로 사용자 의견을 바탕으로 캐릭터 예산을 조정하는 것이 좋습니다.

다음 단계

Google은 에이전트형 웹을 위한 안전한 인프라를 구축하기 위해 계속해서 연구하고 노력하고 있습니다. 예를 들어 당사자 간에 동의 관리에 관한 논의가 진행 중이며 사양 초안에는 도구 실행 시 비동기적으로 사용자 입력을 요청하는 requestUserInteraction()이 포함되어 있습니다.

애플리케이션에 WebMCP를 어떻게 구현할 계획인가요? 보안 관련 또는 기타 우려사항이 있으신가요? WebMCP 오리진 트라이얼에 가입하는 경우 다음 사항을 알려주세요.

에이전트를 빌드하는 경우 WebMCP용 에이전트 보안 고려사항을 읽어보는 것이 좋습니다.