dotsagent.io
언어:한국어

Supabase MCP 에이전트, 지원 티켓을 통해 토큰 유출

지원 티켓의 prompt injection으로 인해 service_role 키를 사용해 Supabase MCP에 연결된 Cursor 에이전트가 통합 토큰 테이블을 읽고 유출했습니다.

무슨 일이 있었나

2025년 7월, General Analysis는 Supabase MCP 서버를 사용하는 Cursor 개발자를 대상으로 한 공격을 시연했습니다. 공격자는 에이전트를 겨냥한 지침이 포함된 지원 티켓을 제출했습니다. 에이전트는 티켓을 처리하면서 해당 지침을 따랐습니다.

에이전트는 행 수준 보안을 우회하는 service_role 키로 연결되어 있었습니다. 에이전트는 통합 토큰 테이블을 읽고 그 내용을 공격자에게 유출했습니다.

공격이 성공한 이유

Simon Willison은 이를 전형적인 치명적 삼박자라고 불렀습니다. 행 수준 보안을 무시하는 키로 보호되는 비공개 데이터, 신뢰할 수 없는 고객 입력, 그리고 데이터가 외부로 나갈 수 있는 경로가 그것입니다. 세 요소 중 하나라도 제거하면 공격은 성립하지 않습니다.

대응 방법

  • 에이전트에 service_role 키를 절대 제공하지 마세요. 읽기 전용으로 연결하고 프로젝트 하나에만 범위를 제한하세요.
  • 고객이 작성한 텍스트를 읽는 에이전트는 프로덕션 데이터와 분리하세요.
  • 모든 데이터베이스 도구 호출에 수동 승인을 요구하세요.
  • 티켓과 양식의 내용을 신뢰할 수 없는 입력으로 취급하세요.

최소 권한 인증 정보 사용치명적인 삼박자를 끊으세요중요한 작업에는 승인 요구

보안 체크리스트 확인하기 →

출처

  1. generalanalysis.com/blog/supabase-mcp-blog
  2. simonwillison.net/2025/Jul/6/supabase-mcp-lethal-trifecta/