Chrome은 사이트가 AI 에이전트에 도구를 노출하는 새로운 방식인 WebMCP에 대한 보안 가이드를 추가했으며, 이러한 도구를 안전하게 유지해야 하는 책임을 웹사이트 소유자에게 전적으로 부여했습니다. 이 가이드는 스스로를 "에이전트 준비 완료(agent-ready)"라고 선언하는 모든 사이트가 정교하게 제작된 매니페스트나 오염된 출력을 통해 악의적인 행위자가 에이전트를 하이재킹할 수 있는 경로를 열어준다고 경고합니다.
WebMCP가 지금 중요한 이유
개발자들은 오랫동안 질문해 왔습니다: "AI 에이전트가 내 페이지를 읽고 트랜잭션을 완료할 수 있을까?" WebMCP는 이 시나리오를 뒤집습니다. 에이전트가 체크아웃 방식이 어떻게 작동하는지 추측하는 대신, 사이트는 에이전트가 수행할 수 있는 정확한 작업(가격 조회, 장바구니 업데이트, 리뷰 검색 등)을 알려주는 매니페스트를 게시합니다. 그 결과 훨씬 더 유능한 어시스턴트가 탄생하지만, 동시에 새로운 공격 표면도 생겨납니다. 사이트가 에이전트에게 도구를 넘겨주는 순간, 에이전트에게 악용될 수 있는 일련의 지침을 넘겨주는 것과 같기 때문입니다.
개발자가 경계해야 할 두 가지 하이재킹 벡터
악성 매니페스트 – 공격자가 도구 이름이나 설명에 숨겨진 명령을 주입합니다. 에이전트는 모든 텍스트 문자열을 잠재적인 지침으로 취급하기 때문에, 정교하게 제작된 이름은 에이전트의 원래 작업을 무시하고 의도하지 않은 동작을 수행하게 만들 수 있습니다.
오염된 출력 – 이는 더 흔한 경로입니다. 정상적인 도구가 제품 리뷰, 포럼 게시물, 댓글과 같은 사용자 생성 데이터를 반환합니다. 만약 악의적인 사용자가 해당 콘텐츠에 명령어를 끼워 넣으면, 도구는 그 명령어를 에이전트에게 직접 전달하게 됩니다. 대규모 언어 모델(LLM)은 데이터와 지침을 안정적으로 분리하지 못하며, 전체 스트림을 하나의 프롬프트로 인식합니다.
매니페스트를 보호하기 위한 실질적인 단계
Chrome의 가이드는 개발자가 WebMCP 매니페스트 파일에 추가할 수 있는 세 가지 구성 규칙으로 요약됩니다.
도구 호출 권한 제한 –
exposedTo규칙을 사용하여 신뢰할 수 있는 에이전트 플랫폼을 화이트리스트에 추가하세요. 예를 들어, 결제 처리 도구는 웹상의 모든 AI 에이전트에게 노출되어서는 안 됩니다. 도구를 호출할 수 있는 정확한 오리진(origin)을 정의하고 나머지는 거부하세요.신뢰할 수 없는 콘텐츠 표시 – 리뷰나 댓글처럼 사용자가 제공할 수 있는 데이터를 반환하는 모든 도구에
untrustedContentHint플래그를 추가하세요. 이는 에이전트에게 페이로드에 악성 지침이 포함되어 있을 수 있음을 알려주어, 텍스트에 따라 행동하기 전에 더 엄격한 안전 필터를 적용하도록 유도합니다.읽기 전용 동작 선언 –
readOnlyHint플래그를 사용하면 도구가 데이터를 읽기만 하는지, 아니면 상태를 쓰거나 변경할 수 있는지를 신호할 수 있습니다. 도구가 읽기 전용인 경우 에이전트는 추가적인 사용자 확인 없이 진행할 수 있지만, 무언가를 수정할 수 있는 경우에는 에이전트가 진행하기 전에 사용자에게 물어봐야 합니다.
개발자들이 반발할 수 있는 부분
더 넓은 이해관계
향후 주목해야 할 점
결론
사이트를 "에이전트 준비 완료" 상태로 만드는 것은 더 이상 가시성을 위한 단순한 체크박스 항목이 아니라 보안에 대한 책임입니다. 액세스를 제한하고, 신뢰할 수 없는 출력을 표시하며, 읽기 전용 도구를 명확하게 표시함으로써 개발자는 공격자가 유용한 AI 어시스턴트를 남용의 통로로 바꾸는 것을 막을 수 있습니다. 매니페스트를 다른 공개 API처럼 취급하세요. 세상에 공개하기 전에 감사(audit)하고, 버전을 관리하며, 보안을 강화하세요.
