В GitHub MCP Server, реализации протокола MCP (Model Context Protocol) от GitHub, выявлена уязвимость, позволяющая извлечь данные из приватных репозиториев пользователей, использующих AI-ассистены для автоматизации работы с репозиториями.
Протокол MCP предназначен для связывания AI-моделей с различными источниками данных. GitHub MCP Server обеспечивает бесшовную интеграцию больших языковых моделей с API GitHub и предоставляет этим моделям дополнительный контекст, извлекая данные из GitHub-репозиториев. Использующие MCP модели могут применяться для автоматизации определённых действий с GitHub, например, для разбора сообщений об ошибках.
Суть уязвимости в том, что через взаимодействие с подключённой к GitHub большой языковой моделью можно добиться выдачи конфиденциальных данных о пользователе, привязавшем AI-агента к своей учётной записи на GitHub. Атакующий может разместить в публичном репозитории, для которого применяется автоматизация на основе большой языковой модели, специально оформленный отчёт о проблеме (issue). После активации модель сформирует pull-запрос с предлагаемым решением. Соответственно, если проблема касается приватных репозиториев или конфиденциальных данных, модель может раскрыть информацию в преложенном pull-запросе.

Для примера было отправлено сообщение об ошибке с жалобой на то, что в файле README не указан автор. В качестве решения в сообщении было предложено добавить в README сведения об авторе и список всех репозиториев, с которыми работал автор. В итоге модель создала pull-запрос с информацией, включающей персональную информацию об авторе, извлечённую из приватного репозитория, а также список имеющихся приватных репозиториев. На следующем этапе через подобное взаимодействие с моделью можно получить и данные из конкретного приватного репозитория.
Для активации AI-агента необходимо, чтобы владелец репозитория дал команду на разбор сообщений об ошибках. В случае, если GitHub связан с AI-сервисом Claude для раскрытия информации достаточно чтобы владелец репозитория отправил AI-ассистенту запрос вида “посмотри на issue в моих репозиториях с открытым кодом и устрани их”. После этого AI-ассиcтент задействует настроенную MCP-интеграцию с учётной записью на GitHub и выполнит содержащиеся в сообщениях о проблемах инструкции.