ChatGPT가 알림 없이 커넥터 간 데이터를 전달하고, 버그 바운티는 신분증을 요구함

1 day ago 5

두 커넥터가 활성화된 대화에서 ChatGPT가 후속 도구 호출을 다른 커넥터로 전환한 사례가 보고됨. 최초 커넥터의 위젯에서 생성한 일회용 확인 코드도 함께 전달됐지만, 사용자에게 전환 사실을 알리지 않음 두 커넥터는 같은 MCP 서버를 가리키지만 각각 별도의 OAuth 클라이언트를 사용함. 하나는 개발자 모드의 사용자 정의 커넥터이고, 다른 하나는 앱 디렉터리에 공개된 앱임 서버가 확인 코드를 최초 커넥터의 OAuth 클라이언트에 결속해 두었기 때문에 다른 커넥터를 통한 호출을 거부함. 해당 대화에서 시도한 작업은 모두 실패함 별도 OAuth 권한을 가진 커넥터 사이에서 사용자 동의 없이 값이 전달된 것이 문제임. 다만 제3자 제공자로의 데이터 전달은 실제 관찰 결과가 아니라, 서버 URL을 공유할 경우 발생할 수 있다는 제보자의 예상임 요구하는 동작은 MCP 서버 URL이 아닌 커넥터와 OAuth 클라이언트 단위로 호출을 구분하고, 후속 호출도 최초 흐름을 시작한 동일 커넥터로 보내는 것임 재현 조건과 관찰된 동작 하나의 ChatGPT 계정에서 동일한 MCP 서버를 가리키는 커넥터 두 개를 활성화함 커넥터 A는 개발자 모드에서 추가한 사용자 정의 커넥터임 커넥터 B는 앱 디렉터리에 공개된 앱임 각각 별도의 OAuth 클라이언트를 사용하므로, 서버는 같은 사용자의 요청을 서로 다른 두 클라이언트로 인식함 사용자 확인이 필요한 작업을 요청하면 모델이 커넥터 A를 통해 확인 도구를 호출함 MCP Apps 위젯이 변경 사항을 표시하고, 사용자가 확인하면 ui/message를 통해 일회용 확인 코드를 대화로 보냄 모델은 이 코드를 포함한 후속 호출을 사용자에게 알리지 않고 커넥터 B로 보냄 서버는 코드가 커넥터 A의 OAuth 클라이언트에 결속되어 있어 호출을 거부함 해당 대화의 모든 시도가 실패했으며, 상세 로그를 남긴 시도에서는 A를 통해 확인된 코드를 B를 통해 사용하려 한 사실을 확인함 사용자에게 후속 호출이 다른 커넥터로 전달됐다는 안내는 없었음 커넥터 경계와 요구 동작 사용자는 A에서 작업을 시작하고 A의 위젯에서 확인했지만, 그 위젯이 생성한 값은 별도 앱인 B로 전달됨. 두 커넥터는 별도 OAuth 권한을 가지므로, 제보자는 이를 사용자 동의 없는 앱 간 데이터 전달로 봄 관찰된 사례에서는 두 커넥터가 같은 제공자의 것이었고 서버 측 결속 검사가 호출을 차단함 같은 대화에 제3자 커넥터가 활성화되어 있...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵